diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 0000000..743aa2a --- /dev/null +++ b/docker/README.md @@ -0,0 +1,9 @@ +Don't forget to put the container checker into the crontab: + +``` +>> crontab -e +``` + +``` +*/5 * * * * /bin/bash /docker/check_docker.sh +``` diff --git a/docker/backup/README.md b/docker/backup/README.md new file mode 100644 index 0000000..3565d5a --- /dev/null +++ b/docker/backup/README.md @@ -0,0 +1,11 @@ +In copy_keys_over.sh and make_keys.sh, you need to change the computer names to your installation (where your want to store your backup). + +Don't forget to put it in your crontab + +``` +>> crontab -e +``` + +``` +0 0 * * * /bin/bash /docker/backup/make_backup.sh +``` diff --git a/docker/backup/copy_keys_over.sh b/docker/backup/copy_keys_over.sh new file mode 100644 index 0000000..63e6034 --- /dev/null +++ b/docker/backup/copy_keys_over.sh @@ -0,0 +1 @@ +scp backup.pub overleaf@backup.zfn.uni-bremen.de:~/.ssh/authorized_keys diff --git a/docker/backup/make_backup.sh b/docker/backup/make_backup.sh new file mode 100644 index 0000000..e6812f0 --- /dev/null +++ b/docker/backup/make_backup.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cd /docker/compose/keycloakpostgres +sh backup.sh + +cd /docker/compose/overleafmongo +sh backup.sh + +cd /docker/compose/overleafredis +sh backup.sh + +cd /docker/backup/ +rsync -avz --delete -e "ssh -i /docker/backup/backup" /docker overleaf@backup.zfn.uni-bremen.de:/home/overleaf/fb1/ diff --git a/docker/backup/make_keys.sh b/docker/backup/make_keys.sh new file mode 100644 index 0000000..3683e19 --- /dev/null +++ b/docker/backup/make_keys.sh @@ -0,0 +1 @@ +ssh-keygen -t ed25519 -f backup diff --git a/docker/check_docker.sh b/docker/check_docker.sh new file mode 100644 index 0000000..af843bd --- /dev/null +++ b/docker/check_docker.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# List of expected container names +expected_containers=("overleafregister" "nginx" "checkuser" "overleafserver" "keycloakserver" "keycloakpostgres" "overleafmongo" "overleafredis" "hajtexsshd") + +# Email settings +recipient="overleaf@uni-bremen.de" +subject="Docker Container Alert" + +# Check containers +for container in "${expected_containers[@]}"; do + if ! docker ps --format '{{.Names}}' | grep -q "^$container$"; then + echo "Container $container is not running" | mail -s "$subject" "$recipient" + fi +done diff --git a/docker/compose/README.md b/docker/compose/README.md new file mode 100644 index 0000000..67c04a1 --- /dev/null +++ b/docker/compose/README.md @@ -0,0 +1,7 @@ +The landing page of the HajTex server is + +https://[FQDN]/launchpad + +e.g. + +https://psintern.neuro.uni-bremen.de/launchpad diff --git a/docker/compose/check_users/Dockerfile b/docker/compose/check_users/Dockerfile new file mode 100644 index 0000000..fc6a80f --- /dev/null +++ b/docker/compose/check_users/Dockerfile @@ -0,0 +1,25 @@ +FROM python:3.12.5 + +RUN apt-get update +RUN apt -y install mc +RUN apt -y install docker.io +RUN pip install pymongo +RUN pip install email_validator +RUN pip install flask +RUN pip install gunicorn +RUN pip install requests +RUN pip install BeautifulSoup4 +RUN apt -y install bash +RUN pip install --upgrade pip +RUN pip install flask_wtf +RUN pip install wtforms +RUN pip install flask_recaptcha +RUN pip install Markup +RUN pip install captcha Pillow +RUN pip install argh + +EXPOSE 80 + +ENTRYPOINT ["/bin/bash", "-c", "cd / && sleep infinity"] + + diff --git a/docker/compose/check_users/compose.yaml b/docker/compose/check_users/compose.yaml new file mode 100644 index 0000000..d7e4af2 --- /dev/null +++ b/docker/compose/check_users/compose.yaml @@ -0,0 +1,21 @@ +services: + checkuser: + image: "check_user_image" + container_name: checkuser + hostname: checkuser + restart: always + + networks: + - overleaf-network + + volumes: + - /docker/compose/check_users/data:/data + - /var/run/docker.sock:/var/run/docker.sock + + entrypoint: > + /bin/sh -c "pip install argh && cd / && sleep infinity" + + +networks: + overleaf-network: + external: true diff --git a/docker/compose/check_users/data/list_invited.py b/docker/compose/check_users/data/list_invited.py new file mode 100644 index 0000000..edf98ca --- /dev/null +++ b/docker/compose/check_users/data/list_invited.py @@ -0,0 +1,15 @@ +import pymongo + +container_name: str = "overleafmongo" +port: int = 27017 + +client = pymongo.MongoClient(container_name, port) +db = client.sharelatex +users = db.projectInvites + +cursor = users.find() + +for user in cursor: + print(user["email"]) + +client.close() diff --git a/docker/compose/check_users/data/list_user.py b/docker/compose/check_users/data/list_user.py new file mode 100644 index 0000000..daeabda --- /dev/null +++ b/docker/compose/check_users/data/list_user.py @@ -0,0 +1,15 @@ +import pymongo + +container_name: str = "overleafmongo" +port: int = 27017 + +client = pymongo.MongoClient(container_name, port) +db = client.sharelatex +users = db.users + +cursor = users.find() + +for user in cursor: + print(user["email"]) + +client.close() diff --git a/docker/compose/check_users/data/make_admin.py b/docker/compose/check_users/data/make_admin.py new file mode 100644 index 0000000..6a92e8c --- /dev/null +++ b/docker/compose/check_users/data/make_admin.py @@ -0,0 +1,27 @@ +import pymongo +import argh + + +def main( + email_to_find: str, container_name: str = "overleafmongo", port: int = 27017 +) -> bool: + print(f"User name: {email_to_find}") + client = pymongo.MongoClient(container_name, port) + db = client.sharelatex + users = db.users + search_result = users.find_one({"email": email_to_find}) + + if search_result is None: + print("User not found") + return + else: + print(f"User status was: {search_result['isAdmin']}") + users.update_one({"email": email_to_find}, {"$set": {"isAdmin": True}}) + print("User status changed") + return + + client.close() + + +if __name__ == "__main__": + argh.dispatch_command(main) diff --git a/docker/compose/check_users/delete_user.sh b/docker/compose/check_users/delete_user.sh new file mode 100644 index 0000000..a686156 --- /dev/null +++ b/docker/compose/check_users/delete_user.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "Error: Email address not provided" + echo "Usage: $0 " + exit 1 +fi + +docker exec overleafserver /bin/bash -ce "cd /overleaf/services/web && node modules/server-ce-scripts/scripts/delete-user --email=$1" diff --git a/docker/compose/check_users/down.sh b/docker/compose/check_users/down.sh new file mode 100644 index 0000000..36f5aa9 --- /dev/null +++ b/docker/compose/check_users/down.sh @@ -0,0 +1 @@ +docker compose down diff --git a/docker/compose/check_users/exec.sh b/docker/compose/check_users/exec.sh new file mode 100644 index 0000000..23b00ba --- /dev/null +++ b/docker/compose/check_users/exec.sh @@ -0,0 +1 @@ +docker exec -it checkuser bash diff --git a/docker/compose/check_users/exec_list_invited.sh b/docker/compose/check_users/exec_list_invited.sh new file mode 100644 index 0000000..43c1e10 --- /dev/null +++ b/docker/compose/check_users/exec_list_invited.sh @@ -0,0 +1 @@ +docker exec -it checkuser bash -c "cd /data ; python list_invited.py" diff --git a/docker/compose/check_users/exec_list_user.sh b/docker/compose/check_users/exec_list_user.sh new file mode 100644 index 0000000..43a21ad --- /dev/null +++ b/docker/compose/check_users/exec_list_user.sh @@ -0,0 +1 @@ +docker exec -it checkuser bash -c "cd /data ; python list_user.py" diff --git a/docker/compose/check_users/exec_make_admin.sh b/docker/compose/check_users/exec_make_admin.sh new file mode 100644 index 0000000..ece6e08 --- /dev/null +++ b/docker/compose/check_users/exec_make_admin.sh @@ -0,0 +1 @@ +docker exec -it checkuser bash -c "cd /data ; python make_admin.py $1" diff --git a/docker/compose/check_users/logs.sh b/docker/compose/check_users/logs.sh new file mode 100644 index 0000000..89b28b4 --- /dev/null +++ b/docker/compose/check_users/logs.sh @@ -0,0 +1 @@ +docker compose logs -f diff --git a/docker/compose/check_users/make_image.sh b/docker/compose/check_users/make_image.sh new file mode 100644 index 0000000..29539c5 --- /dev/null +++ b/docker/compose/check_users/make_image.sh @@ -0,0 +1 @@ +docker build --network host -t check_user_image . diff --git a/docker/compose/check_users/up.sh b/docker/compose/check_users/up.sh new file mode 100644 index 0000000..e6fb3f1 --- /dev/null +++ b/docker/compose/check_users/up.sh @@ -0,0 +1 @@ +docker compose up -d diff --git a/docker/compose/inspect_texlive.sh b/docker/compose/inspect_texlive.sh new file mode 100644 index 0000000..78c9e10 --- /dev/null +++ b/docker/compose/inspect_texlive.sh @@ -0,0 +1 @@ +docker run -it texlive/texlive:latest-full /bin/bash diff --git a/docker/compose/keycloakpostgres/.env b/docker/compose/keycloakpostgres/.env new file mode 100644 index 0000000..ec0e896 --- /dev/null +++ b/docker/compose/keycloakpostgres/.env @@ -0,0 +1,3 @@ +POSTGRES_DB=keycloak +POSTGRES_USER=keycloakuser +POSTGRES_PASSWORD=REDACTED diff --git a/docker/compose/keycloakpostgres/backup.sh b/docker/compose/keycloakpostgres/backup.sh new file mode 100644 index 0000000..fa5a8fa --- /dev/null +++ b/docker/compose/keycloakpostgres/backup.sh @@ -0,0 +1 @@ +docker exec keycloakpostgres bash -c "pg_dump -U keycloakuser -d keycloak -F c -f /backup/backup.sql" diff --git a/docker/compose/keycloakpostgres/compose.yaml b/docker/compose/keycloakpostgres/compose.yaml new file mode 100644 index 0000000..ddcbacb --- /dev/null +++ b/docker/compose/keycloakpostgres/compose.yaml @@ -0,0 +1,19 @@ +services: + postgres: + image: postgres:16 + container_name: keycloakpostgres + hostname: keycloakpostgres + volumes: + - /docker/compose/keycloakpostgres/postgres_data:/var/lib/postgresql/data + - /docker/compose/keycloakpostgres/backup:/backup + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + networks: + - keycloak-network + +networks: + keycloak-network: + external: true + diff --git a/docker/compose/keycloakpostgres/down.sh b/docker/compose/keycloakpostgres/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/keycloakpostgres/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/keycloakpostgres/exec.sh b/docker/compose/keycloakpostgres/exec.sh new file mode 100644 index 0000000..0d051a5 --- /dev/null +++ b/docker/compose/keycloakpostgres/exec.sh @@ -0,0 +1 @@ +docker exec -it keycloakpostgres bash diff --git a/docker/compose/keycloakpostgres/logs.sh b/docker/compose/keycloakpostgres/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/keycloakpostgres/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/keycloakpostgres/up.sh b/docker/compose/keycloakpostgres/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/keycloakpostgres/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/keycloakserver/.env b/docker/compose/keycloakserver/.env new file mode 100644 index 0000000..944e1ee --- /dev/null +++ b/docker/compose/keycloakserver/.env @@ -0,0 +1,6 @@ +POSTGRES_DB=keycloak +POSTGRES_USER=keycloakuser +POSTGRES_PASSWORD=REDACTED +KEYCLOAK_ADMIN=admin +KEYCLOAK_ADMIN_PASSWORD=REDACTED +KEYCLOAK_HOSTNAME=YOUR_HOSTNAME diff --git a/docker/compose/keycloakserver/compose.yaml b/docker/compose/keycloakserver/compose.yaml new file mode 100644 index 0000000..5266026 --- /dev/null +++ b/docker/compose/keycloakserver/compose.yaml @@ -0,0 +1,36 @@ +services: + keycloak: + image: quay.io/keycloak/keycloak:26.0 + container_name: keycloakserver + hostname: keycloakserver + command: start + environment: + KC_PROXY_ADDRESS_FORWARDING: true + KC_HOSTNAME_STRICT: false + KC_HOSTNAME: ${KEYCLOAK_HOSTNAME} + KC_PROXY: edge + KC_HTTP_ENABLED: true + KC_HEALTH_ENABLED: true + KC_HTTP_RELATIVE_PATH: /sso + KC_PROXY_HEADERS: xforwarded + PROXY_ADDRESS_FORWARDING: true + + KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN} + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD} + + KC_DB: postgres + KC_DB_URL: jdbc:postgresql://keycloakpostgres/${POSTGRES_DB} + KC_DB_USERNAME: ${POSTGRES_USER} + KC_DB_PASSWORD: ${POSTGRES_PASSWORD} + ports: + - 8080:8080 + restart: always + + networks: + - keycloak-network + +networks: + keycloak-network: + external: true + + diff --git a/docker/compose/keycloakserver/down.sh b/docker/compose/keycloakserver/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/keycloakserver/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/keycloakserver/exec.sh b/docker/compose/keycloakserver/exec.sh new file mode 100644 index 0000000..fd3fb11 --- /dev/null +++ b/docker/compose/keycloakserver/exec.sh @@ -0,0 +1 @@ +docker exec -it keycloakserver bash diff --git a/docker/compose/keycloakserver/logs.sh b/docker/compose/keycloakserver/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/keycloakserver/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/keycloakserver/up.sh b/docker/compose/keycloakserver/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/keycloakserver/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/nginx/.env b/docker/compose/nginx/.env new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/nginx/.env @@ -0,0 +1 @@ + diff --git a/docker/compose/nginx/compose.yaml b/docker/compose/nginx/compose.yaml new file mode 100644 index 0000000..17d5255 --- /dev/null +++ b/docker/compose/nginx/compose.yaml @@ -0,0 +1,26 @@ +services: + overleafnginx: + image: nginx:stable-alpine + container_name: nginx + hostname: nginx + restart: always + volumes: + - "/docker/compose/nginx/key.pem:/certs/nginx_key.pem:ro" + - "/docker/compose/nginx/ca.pem:/certs/nginx_certificate.pem:ro" + - "/docker/compose/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" + ports: + - "0.0.0.0:443:443" + - "0.0.0.0:80:80" + environment: + NGINX_WORKER_PROCESSES: "4" + NGINX_WORKER_CONNECTIONS: "768" + networks: + - overleaf-network + - keycloak-network + +networks: + overleaf-network: + external: true + keycloak-network: + external: true + diff --git a/docker/compose/nginx/cycle.sh b/docker/compose/nginx/cycle.sh new file mode 100644 index 0000000..6fe1cbd --- /dev/null +++ b/docker/compose/nginx/cycle.sh @@ -0,0 +1,4 @@ +docker compose down +docker compose up -d +docker compose logs -f + diff --git a/docker/compose/nginx/down.sh b/docker/compose/nginx/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/nginx/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/nginx/logs.sh b/docker/compose/nginx/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/nginx/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/nginx/nginx_a.conf b/docker/compose/nginx/nginx_a.conf new file mode 100644 index 0000000..4677647 --- /dev/null +++ b/docker/compose/nginx/nginx_a.conf @@ -0,0 +1,32 @@ +events {} +http { + server { + listen 80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 443 ssl; + ssl_certificate /certs/nginx_certificate.pem; + ssl_certificate_key /certs/nginx_key.pem; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; + server_tokens off; + client_max_body_size 50M; + + location /sso { + proxy_pass http://keycloakserver:8080/sso; + 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 $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} + diff --git a/docker/compose/nginx/nginx_b.conf b/docker/compose/nginx/nginx_b.conf new file mode 100644 index 0000000..5d83cfe --- /dev/null +++ b/docker/compose/nginx/nginx_b.conf @@ -0,0 +1,41 @@ +events {} +http { + server { + listen 80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 443 ssl; + ssl_certificate /certs/nginx_certificate.pem; + ssl_certificate_key /certs/nginx_key.pem; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; + server_tokens off; + client_max_body_size 50M; + + location /sso { + proxy_pass http://keycloakserver:8080/sso; + 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 $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + } + location /nodedev { + proxy_pass http://nodedev:3000; + 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 $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} diff --git a/docker/compose/nginx/nginx_c.conf b/docker/compose/nginx/nginx_c.conf new file mode 100644 index 0000000..fafaedc --- /dev/null +++ b/docker/compose/nginx/nginx_c.conf @@ -0,0 +1,97 @@ +events {} +http { + server { + listen 80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 443 ssl; + ssl_certificate /certs/nginx_certificate.pem; + ssl_certificate_key /certs/nginx_key.pem; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; + server_tokens off; + client_max_body_size 50M; + + location / { + proxy_pass http://overleafserver:80; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + + location /articles { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /templates { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /latex/templates { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /learn { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /sso { + proxy_pass http://keycloakserver:8080/sso; + 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 $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} + diff --git a/docker/compose/nginx/nginx_d.conf b/docker/compose/nginx/nginx_d.conf new file mode 100644 index 0000000..80efe70 --- /dev/null +++ b/docker/compose/nginx/nginx_d.conf @@ -0,0 +1,108 @@ +events {} +http { + server { + listen 80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 443 ssl; + ssl_certificate /certs/nginx_certificate.pem; + ssl_certificate_key /certs/nginx_key.pem; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; + server_tokens off; + client_max_body_size 50M; + + location / { + proxy_pass http://overleafserver:80; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /register { + proxy_pass http://overleafregister:80; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /articles { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /templates { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /latex/templates { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /learn { + proxy_pass https://www.overleaf.com; + proxy_set_header Host www.overleaf.com; + proxy_ssl_verify off; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /sso { + proxy_pass http://keycloakserver:8080/sso; + 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 $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} + diff --git a/docker/compose/nginx/up.sh b/docker/compose/nginx/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/nginx/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/overleafmongo/.env b/docker/compose/overleafmongo/.env new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafmongo/.env @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafmongo/backup.sh b/docker/compose/overleafmongo/backup.sh new file mode 100644 index 0000000..cdbfc34 --- /dev/null +++ b/docker/compose/overleafmongo/backup.sh @@ -0,0 +1 @@ +docker exec overleafmongo bash -c "mongodump --out /backup/" diff --git a/docker/compose/overleafmongo/compose.yaml b/docker/compose/overleafmongo/compose.yaml new file mode 100644 index 0000000..37a2ba6 --- /dev/null +++ b/docker/compose/overleafmongo/compose.yaml @@ -0,0 +1,33 @@ +services: + overleafmongo: + image: "mongo:6.0" + container_name: overleafmongo + hostname: overleafmongo + restart: always + healthcheck: + test: "mongosh --quiet --eval 'rs.hello().setName ? rs.hello().setName : rs.initiate({_id: \"overleaf\",members:[{_id: 0, host:\"overleafmongo:27017\"}]})'" + interval: 10s + timeout: 10s + retries: 5 + command: "--replSet overleaf" + expose: + - 27017 + volumes: + - /docker/compose/overleafmongo/data_db:/data/db + - /docker/compose/overleafmongo/data_configdb:/data/configdb + - /docker/compose/overleafmongo/backup:/backup + - /var/run/docker.sock:/var/run/docker.sock + networks: + - overleaf-network + extra_hosts: + - "mongo:127.0.0.1" + - "overleafmongo:127.0.0.1" + +volumes: + overleaf_mongo: + overleaf_mongo_cdb: + +networks: + overleaf-network: + external: true + diff --git a/docker/compose/overleafmongo/down.sh b/docker/compose/overleafmongo/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/overleafmongo/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/overleafmongo/exec.sh b/docker/compose/overleafmongo/exec.sh new file mode 100644 index 0000000..9b9e0f5 --- /dev/null +++ b/docker/compose/overleafmongo/exec.sh @@ -0,0 +1 @@ +docker exec -it overleafmongo bash diff --git a/docker/compose/overleafmongo/logs.sh b/docker/compose/overleafmongo/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/overleafmongo/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/overleafmongo/up.sh b/docker/compose/overleafmongo/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/overleafmongo/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/overleafredis/.env b/docker/compose/overleafredis/.env new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafredis/.env @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafredis/README.md b/docker/compose/overleafredis/README.md new file mode 100644 index 0000000..3ed860a --- /dev/null +++ b/docker/compose/overleafredis/README.md @@ -0,0 +1,6 @@ +vm.overcommit_memory = 1 + +/etc/sysctl.conf + + +sysctl vm.overcommit_memory=1 diff --git a/docker/compose/overleafredis/backup.sh b/docker/compose/overleafredis/backup.sh new file mode 100644 index 0000000..ae3723b --- /dev/null +++ b/docker/compose/overleafredis/backup.sh @@ -0,0 +1 @@ +docker exec overleafredis sh -c "cp -f dump.rdb /backup/" diff --git a/docker/compose/overleafredis/compose.yaml b/docker/compose/overleafredis/compose.yaml new file mode 100644 index 0000000..f656fea --- /dev/null +++ b/docker/compose/overleafredis/compose.yaml @@ -0,0 +1,31 @@ +# docker network create overleaf-network +services: + overleafredis: + image: "redis:6.2-alpine" + container_name: overleafredis + hostname: overleafredis + restart: always + healthcheck: + test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + start_period: 20s + interval: 30s + retries: 5 + timeout: 3s + command: --save 60 1 --loglevel warning + volumes: + - /docker/compose/overleafredis/data:/data + - /docker/compose/overleafredis/backup:/backup + - /var/run/docker.sock:/var/run/docker.sock + expose: + - 6379 + networks: + - overleaf-network + environment: + REDIS_AOF_PERSISTENCE: "true" + +volumes: + overleaf_redis: + +networks: + overleaf-network: + external: true diff --git a/docker/compose/overleafredis/down.sh b/docker/compose/overleafredis/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/overleafredis/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/overleafredis/exec.sh b/docker/compose/overleafredis/exec.sh new file mode 100644 index 0000000..a75ea8d --- /dev/null +++ b/docker/compose/overleafredis/exec.sh @@ -0,0 +1 @@ +docker exec -it overleafredis sh diff --git a/docker/compose/overleafredis/logs.sh b/docker/compose/overleafredis/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/overleafredis/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/overleafredis/up.sh b/docker/compose/overleafredis/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/overleafredis/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/overleafregister/.env b/docker/compose/overleafregister/.env new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafregister/.env @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafregister/Dockerfile b/docker/compose/overleafregister/Dockerfile new file mode 100644 index 0000000..0345cc9 --- /dev/null +++ b/docker/compose/overleafregister/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12.5 + +RUN apt-get update +RUN apt -y install mc +RUN apt -y install docker.io +RUN pip install pymongo +RUN pip install email_validator +RUN pip install flask +RUN pip install gunicorn +RUN pip install requests +RUN pip install BeautifulSoup4 +RUN apt -y install bash +RUN pip install --upgrade pip +RUN pip install flask_wtf +RUN pip install wtforms +RUN pip install flask_recaptcha +RUN pip install Markup +RUN pip install captcha Pillow + +EXPOSE 80 + +ENTRYPOINT ["/bin/bash", "-c", "cd data && gunicorn wsgi:app --bind 0.0.0.0:80"] + + diff --git a/docker/compose/overleafregister/README.md b/docker/compose/overleafregister/README.md new file mode 100644 index 0000000..a201e8a --- /dev/null +++ b/docker/compose/overleafregister/README.md @@ -0,0 +1,57 @@ +First of all, build the docker image: + +``` +>> sh make_image.sh +``` + +* Build the docker image with make_image.sh +* In data you need to edit the following files: + * allowed_domains.json: This allows to configure domains endings (like uni-bremen.de which allows davrot@uni-bremen.de and davrot@neuro.uni-bremen.de) that are automatically allowed even if the person is not invited. + * blocked_users.json: Here you can name email addresses you want to block. + * config.json: Here you need to adapt the FQDNs and the two passwords: +``` +{ + "keycloak_url": "https://psintern.neuro.uni-bremen.de/sso", + "keycloak_login": "https://psintern.neuro.uni-bremen.de/login/oidc", + "admin_username": "automation@non.no", + "admin_password": "REDACTED", + "client_id": "admin-cli", + "client_secret": "REDACTED" +} +``` + * Set a secret key in data/secret_key.json. + +* In data/main.py: (pip install captcha flask email_validator pymongo) + * I simplied the captcha to 6x A . If you want something else change line 34. + * I am not using the generated captcha_image in the webpage. I thing modern machine learning makes no difference if it is a image or a text. I am using the captcha just to block simple bots. They cannot create an account anyhow. But if you want to, you can add it back to in templates/post.html in by using the "image" +``` +CAPTCHA +``` + * Change keycloak_url to your installation + +* And finally change the logos in data/static and the text in templates/post.html + +Start the container with: + +``` +>> sh up.sh +``` + +Or for development activate the +``` +entrypoint: ["sh", "-c", "sleep infinity"] +``` +in the compose.yaml. Then enter the container with +``` +>> sh exec.sh +``` +Inside the container you can use +``` +>> cd data +>> sh run.sh +``` +to start the server. Every change in the code, html file or logos requires run.sh to be stopped and started again! + + + + diff --git a/docker/compose/overleafregister/compose.yaml b/docker/compose/overleafregister/compose.yaml new file mode 100644 index 0000000..1de8364 --- /dev/null +++ b/docker/compose/overleafregister/compose.yaml @@ -0,0 +1,24 @@ +services: + overleafregister: + image: "overleafregister_image" + container_name: overleafregister + hostname: overleafregister + restart: always + + networks: + - overleaf-network + - keycloak-network + + volumes: + - /docker/compose/overleafregister/data:/data + - /var/run/docker.sock:/var/run/docker.sock + +# entrypoint: ["sh", "-c", "sleep infinity"] + +networks: + + keycloak-network: + external: true + + overleaf-network: + external: true diff --git a/docker/compose/overleafregister/data/README.md b/docker/compose/overleafregister/data/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafregister/data/README.md @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafregister/data/add_user.py b/docker/compose/overleafregister/data/add_user.py new file mode 100644 index 0000000..d36f118 --- /dev/null +++ b/docker/compose/overleafregister/data/add_user.py @@ -0,0 +1,82 @@ +import requests # type: ignore +import json +from requests.auth import HTTPBasicAuth # type: ignore + + +def add_keycloak_user(username): + + print(f"Start to create user {username} via OIDC") + + with open("config.json", "r") as file: + config = json.load(file) + + token_url = f"{config['keycloak_url']}/realms/master/protocol/openid-connect/token" + token_data = { + "grant_type": "password", + "username": config["admin_username"], + "password": config["admin_password"], + } + users_url = f"{config['keycloak_url']}/admin/realms/master/users" + + print("-- Get token") + # Get token + try: + response = requests.post( + token_url, + data=token_data, + auth=HTTPBasicAuth(config["client_id"], config["client_secret"]), + ) + response.raise_for_status() + + except requests.exceptions.HTTPError: + return False + + access_token = response.json()["access_token"] + headers = { + "Authorization": f"Bearer {access_token}", + "Content-Type": "application/json", + } + + # Check if user exists + params = {"username": username, "exact": "true"} + + print("-- Check if user exists") + + try: + response = requests.get(users_url, headers=headers, params=params) + response.raise_for_status() + + # Response is a list of users matching the criteria + users = response.json() + + # If we found any users with exact username match, the user exists + if len(users) > 0: + return False + + except requests.exceptions.HTTPError: + return False + + print("-- Make new user") + + # Make new user + new_user = { + "username": username, + "enabled": True, + "emailVerified": False, + "firstName": " ", + "lastName": " ", + "email": username, + "requiredActions": ["UPDATE_PASSWORD"], + } + + try: + # Create the user + response = requests.post(users_url, headers=headers, data=json.dumps(new_user)) + response.raise_for_status() + + except requests.exceptions.HTTPError: + return False + + print("-- DONE") + + return True diff --git a/docker/compose/overleafregister/data/allowed_domains.json b/docker/compose/overleafregister/data/allowed_domains.json new file mode 100644 index 0000000..b6acf6f --- /dev/null +++ b/docker/compose/overleafregister/data/allowed_domains.json @@ -0,0 +1,5 @@ +{ + "allowed_domains": [ + "uni-bremen.de" + ] +} diff --git a/docker/compose/overleafregister/data/blocked_users.json b/docker/compose/overleafregister/data/blocked_users.json new file mode 100644 index 0000000..60d6660 --- /dev/null +++ b/docker/compose/overleafregister/data/blocked_users.json @@ -0,0 +1,6 @@ +{ + "blocked_users": [ + "" + ] +} + diff --git a/docker/compose/overleafregister/data/check_invites.py b/docker/compose/overleafregister/data/check_invites.py new file mode 100644 index 0000000..ec737d6 --- /dev/null +++ b/docker/compose/overleafregister/data/check_invites.py @@ -0,0 +1,15 @@ +import pymongo + + +def check_invites( + email_to_find: str, container_name: str = "overleafmongo", port: int = 27017 +) -> bool: + client = pymongo.MongoClient(container_name, port) + db = client.sharelatex + project_invites = db.projectInvites + + search_result = project_invites.find_one({"email": email_to_find}) + if search_result is None: + return False + else: + return True diff --git a/docker/compose/overleafregister/data/check_user.py b/docker/compose/overleafregister/data/check_user.py new file mode 100644 index 0000000..df39d38 --- /dev/null +++ b/docker/compose/overleafregister/data/check_user.py @@ -0,0 +1,15 @@ +import pymongo + + +def check_user( + email_to_find: str, container_name: str = "overleafmongo", port: int = 27017 +) -> bool: + client = pymongo.MongoClient(container_name, port) + db = client.sharelatex + users = db.users + + search_result = users.find_one({"email": email_to_find}) + if search_result is None: + return False + else: + return True diff --git a/docker/compose/overleafregister/data/config.json b/docker/compose/overleafregister/data/config.json new file mode 100644 index 0000000..c2453a2 --- /dev/null +++ b/docker/compose/overleafregister/data/config.json @@ -0,0 +1,8 @@ +{ + "keycloak_url": "https://overleaf.fb1.uni-bremen.de/sso", + "keycloak_login": "https://overleaf.pip.uni-bremen.de/login/oidc", + "admin_username": "automation@non.no", + "admin_password": "REDACTED", + "client_id": "admin-cli", + "client_secret": "REDACTED" +} \ No newline at end of file diff --git a/docker/compose/overleafregister/data/main.py b/docker/compose/overleafregister/data/main.py new file mode 100644 index 0000000..5b9cec5 --- /dev/null +++ b/docker/compose/overleafregister/data/main.py @@ -0,0 +1,70 @@ +import json +from flask import ( + Flask, + render_template, + request, + Response, + send_from_directory, + session, + redirect, +) +from io import BytesIO +from captcha.image import ImageCaptcha +import random +import base64 +from process_emails import process_emails + +with open("config.json", "r") as file: + config: dict = json.load(file) + +container_name_mongo: str = "overleafmongo" +port_mongo: int = 27017 +container_name_overleaf: str = "overleafserver" +keycloak_url: str = config["keycloak_login"] +app = Flask(__name__) + +with open("secret_key.json", "r") as file: + secret_key: dict = json.load(file) + +assert secret_key is not None +assert secret_key["secret_key"] is not None +app.config["SECRET_KEY"] = secret_key["secret_key"] + + +def generate_captcha(): + image = ImageCaptcha(width=280, height=90) + # I simplied the Captcha + captcha_text = "".join(random.choices("A", k=6)) + data = image.generate(captcha_text) + return captcha_text, data + + +@app.route("/register", methods=["GET", "POST"]) +def index() -> Response: + + if request.method == "GET": + captcha_text, captcha_image = generate_captcha() + session["captcha"] = captcha_text + captcha_base64 = base64.b64encode(captcha_image.getvalue()).decode("utf-8") + return render_template("post.html", captcha_image=captcha_base64) + + elif request.method == "POST": + email = request.form.get("email") + user_captcha = request.form.get("captcha") + + if user_captcha and user_captcha.upper() == session.get("captcha"): + if process_emails( + mail_address=email, + container_name_mongo=container_name_mongo, + port_mongo=port_mongo, + ): + return redirect(keycloak_url) + else: + return f"We couldn't register your email {email}." + else: + return "There was a problem with solving the captcha. Try again. Sorry!" + + +@app.route("/register/static/", methods=["GET"]) +def serve_static_files(path) -> Response: + return send_from_directory("static", path) diff --git a/docker/compose/overleafregister/data/process_emails.py b/docker/compose/overleafregister/data/process_emails.py new file mode 100644 index 0000000..d9ac8fb --- /dev/null +++ b/docker/compose/overleafregister/data/process_emails.py @@ -0,0 +1,63 @@ +from email_validator import validate_email # type: ignore +import email_validator +import json + +from check_invites import check_invites +from check_user import check_user +from add_user import add_keycloak_user + + +def process_emails( + mail_address: str, + config_file: str = "allowed_domains.json", + blocked_user_file: str = "blocked_users.json", + container_name_mongo: str = "overleafmongo", + port_mongo: int = 27017, +) -> bool: + + with open(config_file, "r") as file: + allowed_domains: dict = json.load(file) + + with open(blocked_user_file, "r") as file: + blocked_users: dict = json.load(file) + + if (mail_address == "") or (mail_address is None): + return False + try: + emailinfo = validate_email(mail_address, check_deliverability=False) + mail_address = emailinfo.normalized + except email_validator.exceptions_types.EmailSyntaxError: + return False + except email_validator.exceptions_types.EmailNotValidError: + return False + + for blocked_user in blocked_users["blocked_users"]: + if mail_address == blocked_user: + return False + print(f"{mail_address} -- is not blocked") + + is_email_allowed: bool = False + + if check_invites( + email_to_find=mail_address, container_name=container_name_mongo, port=port_mongo + ): + is_email_allowed = True + print(f"{mail_address} -- eMail is invited") + + if check_user( + email_to_find=mail_address, container_name=container_name_mongo, port=port_mongo + ): + is_email_allowed = True + print(f"{mail_address} -- eMail is already registered") + + if is_email_allowed is False: + domain_found: bool = False + for domain in allowed_domains["allowed_domains"]: + if mail_address.endswith(domain): + domain_found = True + print(f"{mail_address} -- domain was found") + + if domain_found is False: + return False + + return add_keycloak_user(mail_address) diff --git a/docker/compose/overleafregister/data/run.sh b/docker/compose/overleafregister/data/run.sh new file mode 100644 index 0000000..82afc33 --- /dev/null +++ b/docker/compose/overleafregister/data/run.sh @@ -0,0 +1 @@ +gunicorn wsgi:app --bind 0.0.0.0:80 diff --git a/docker/compose/overleafregister/data/secret_key.json b/docker/compose/overleafregister/data/secret_key.json new file mode 100644 index 0000000..8298976 --- /dev/null +++ b/docker/compose/overleafregister/data/secret_key.json @@ -0,0 +1,4 @@ +{ + "secret_key": "REDACTED" +} + diff --git a/docker/compose/overleafregister/data/static/hajtex.svg b/docker/compose/overleafregister/data/static/hajtex.svg new file mode 100644 index 0000000..3a98614 --- /dev/null +++ b/docker/compose/overleafregister/data/static/hajtex.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 2 + + + + \ No newline at end of file diff --git a/docker/compose/overleafregister/data/templates/post.html b/docker/compose/overleafregister/data/templates/post.html new file mode 100644 index 0000000..dd6b267 --- /dev/null +++ b/docker/compose/overleafregister/data/templates/post.html @@ -0,0 +1,96 @@ + + + + + + + Register your HajTex account + + + +
+ Logo Hajtex +
+ +

Register your HajTex account

+ +

Who can register?

+ 1. You don't need to register here if your OIDC account is ready for you. Got here to login login.

+ 2. If someone has invited you to a project.

+ + In the case of 2. use this form. Afterwards set your password via the "Forgot Password?" option during the login process. + +

+
+ + +
+

+

+ + +
+ Please enter the following six letters: AAAAAA +

+ +

+ + + diff --git a/docker/compose/overleafregister/data/wsgi.py b/docker/compose/overleafregister/data/wsgi.py new file mode 100644 index 0000000..fc5f41e --- /dev/null +++ b/docker/compose/overleafregister/data/wsgi.py @@ -0,0 +1,4 @@ +from main import app + +if __name__ == "__main__": + app.run(debug=True) diff --git a/docker/compose/overleafregister/down.sh b/docker/compose/overleafregister/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/overleafregister/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/overleafregister/exec.sh b/docker/compose/overleafregister/exec.sh new file mode 100644 index 0000000..a208d2e --- /dev/null +++ b/docker/compose/overleafregister/exec.sh @@ -0,0 +1 @@ +docker exec -it overleafregister bash diff --git a/docker/compose/overleafregister/logs.sh b/docker/compose/overleafregister/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/overleafregister/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/overleafregister/make_image.sh b/docker/compose/overleafregister/make_image.sh new file mode 100644 index 0000000..f01fade --- /dev/null +++ b/docker/compose/overleafregister/make_image.sh @@ -0,0 +1 @@ +docker build --network host -t overleafregister_image . diff --git a/docker/compose/overleafregister/up.sh b/docker/compose/overleafregister/up.sh new file mode 100644 index 0000000..a4a5dbb --- /dev/null +++ b/docker/compose/overleafregister/up.sh @@ -0,0 +1,2 @@ +docker compose up -d + diff --git a/docker/compose/overleafserver/.env b/docker/compose/overleafserver/.env new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafserver/.env @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafserver/build_env.sh b/docker/compose/overleafserver/build_env.sh new file mode 100644 index 0000000..a05dfae --- /dev/null +++ b/docker/compose/overleafserver/build_env.sh @@ -0,0 +1,77 @@ +FQDN="psintern.neuro.uni-bremen.de" + +# KeyCloak +OIDC_CLIENT_ID=overleaf +OIDC_CLIENT_SECRET=REDACTED +OIDC_ENABLE=true +OIDC_NAME_SHORT="OIDC" +OIDC_NAME_LONG="OIDC" + +# Email +OVERLEAF_EMAIL_PASSWORD=REDACTED +OVERLEAF_EMAIL_FROM_ADDRESS=overleaf@uni-bremen.de +OVERLEAF_EMAIL_SMTP_HOST=smtp.uni-bremen.de +OVERLEAF_EMAIL_SMTP_PORT=465 +OVERLEAF_EMAIL_SMTP_SECURE=true +OVERLEAF_EMAIL_SMTP_USER=overleaf + +# Other +OVERLEAF_APP_NAME="University of Bremen -- HajTex" +OVERLEAF_NAV_TITLE="Uni Bremen HajTex" +OVERLEAF_CUSTOM_EMAIL_FOOTER="University of Bremen -- HajTex" + +# ################################################## + +OVERLEAF_SITE_URL=https://${FQDN} +URL=https://${FQDN}/sso/realms/master/.well-known/openid-configuration +OIDC_CALLBACK_URL=https://${FQDN}/login/oidc/callback + +echo ${URL} +wget -O openid-configuration ${URL} + +echo OIDC_ISSUER +OIDC_ISSUER=$(cat openid-configuration | sed s/","/"\n"/g | grep \"issuer\" | sed s/'\":'/'\n'/g | grep https | sed s/'\"'/''/g) +echo $OIDC_ISSUER + +echo OIDC_AUTHORIZATION_URL +OIDC_AUTHORIZATION_URL=$(cat openid-configuration | sed s/","/"\n"/g | grep ^\"authorization_endpoint\" | sed s/'\":'/'\n'/g | grep https | sed s/'\"'/''/g | head -1) +echo $OIDC_AUTHORIZATION_URL + +echo OIDC_TOKEN_URL +OIDC_TOKEN_URL=$(cat openid-configuration | sed s/","/"\n"/g | grep ^\"token_endpoint\" | sed s/'\":'/'\n'/g | grep https | sed s/'\"'/''/g | head -1) +echo $OIDC_TOKEN_URL + +echo OIDC_USERINFO_URL +OIDC_USERINFO_URL=$(cat openid-configuration | sed s/","/"\n"/g | grep ^\"userinfo_endpoint\" | sed s/'\":'/'\n'/g | grep https | sed s/'\"'/''/g | head -1) +echo $OIDC_USERINFO_URL + +echo "# Keycloak OpenID Connect Configuration" > .env +echo "OIDC_ENABLE=${OIDC_ENABLE}" >> .env +echo "OIDC_NAME_SHORT=${OIDC_NAME_SHORT}" >> .env +echo "OIDC_NAME_LONG=${OIDC_NAME_LONG}" >> .env +echo "OIDC_ISSUER=${OIDC_ISSUER}" >> .env +echo "OIDC_AUTHORIZATION_URL=${OIDC_AUTHORIZATION_URL}" >> .env +echo "OIDC_TOKEN_URL=${OIDC_TOKEN_URL}" >> .env +echo "OIDC_USERINFO_URL=${OIDC_USERINFO_URL}" >> .env +echo "OIDC_CLIENT_ID=${OIDC_CLIENT_ID}" >> .env +echo "OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}" >> .env +echo "OIDC_CALLBACK_URL=${OIDC_CALLBACK_URL}" >> .env +rm openid-configuration +echo "" >> .env + +echo "# eMail Account Configuration" >> .env +echo "OVERLEAF_EMAIL_PASSWORD=${OVERLEAF_EMAIL_PASSWORD}" >> .env +echo "OVERLEAF_EMAIL_FROM_ADDRESS=${OVERLEAF_EMAIL_FROM_ADDRESS}" >> .env +echo "OVERLEAF_EMAIL_SMTP_HOST=${OVERLEAF_EMAIL_SMTP_HOST}" >> .env +echo "OVERLEAF_EMAIL_SMTP_PORT=${OVERLEAF_EMAIL_SMTP_PORT}" >> .env +echo "OVERLEAF_EMAIL_SMTP_SECURE=${OVERLEAF_EMAIL_SMTP_SECURE}" >> .env +echo "OVERLEAF_EMAIL_SMTP_USER=${OVERLEAF_EMAIL_SMTP_USER}" >> .env +echo "" >> .env + +echo "# Other Overleaf Configurations Configuration" >> .env +echo "OVERLEAF_SITE_URL=${OVERLEAF_SITE_URL}" >> .env +echo "OVERLEAF_ADMIN_EMAIL=${OVERLEAF_EMAIL_FROM_ADDRESS}" >> .env +echo "OVERLEAF_APP_NAME=\"${OVERLEAF_APP_NAME}\"" >> .env +echo "OVERLEAF_NAV_TITLE=\"${OVERLEAF_NAV_TITLE}\"" >> .env +echo "OVERLEAF_CUSTOM_EMAIL_FOOTER=\"${OVERLEAF_CUSTOM_EMAIL_FOOTER}\"" >> .env + diff --git a/docker/compose/overleafserver/data/prep.sh b/docker/compose/overleafserver/data/prep.sh new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docker/compose/overleafserver/data/prep.sh @@ -0,0 +1 @@ + diff --git a/docker/compose/overleafserver/down.sh b/docker/compose/overleafserver/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/overleafserver/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/overleafserver/exec.sh b/docker/compose/overleafserver/exec.sh new file mode 100644 index 0000000..c8d5cd0 --- /dev/null +++ b/docker/compose/overleafserver/exec.sh @@ -0,0 +1 @@ +docker exec -it overleafserver bash diff --git a/docker/compose/overleafserver/logs.sh b/docker/compose/overleafserver/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/overleafserver/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/overleafserver/up.sh b/docker/compose/overleafserver/up.sh new file mode 100644 index 0000000..0de9385 --- /dev/null +++ b/docker/compose/overleafserver/up.sh @@ -0,0 +1,7 @@ +docker compose down +cd /docker/features +sh _tools/configure_features.sh +sh _tools/generate_prep.sh +cd /docker/compose/overleafserver +docker compose up -d + diff --git a/docker/compose/pull_texlive.sh b/docker/compose/pull_texlive.sh new file mode 100644 index 0000000..d59fbbb --- /dev/null +++ b/docker/compose/pull_texlive.sh @@ -0,0 +1 @@ +docker pull texlive/texlive:latest-full diff --git a/docker/compose/scp_git_bridge/01.png b/docker/compose/scp_git_bridge/01.png new file mode 100644 index 0000000..09a9038 Binary files /dev/null and b/docker/compose/scp_git_bridge/01.png differ diff --git a/docker/compose/scp_git_bridge/02.png b/docker/compose/scp_git_bridge/02.png new file mode 100644 index 0000000..424b777 Binary files /dev/null and b/docker/compose/scp_git_bridge/02.png differ diff --git a/docker/compose/scp_git_bridge/03.png b/docker/compose/scp_git_bridge/03.png new file mode 100644 index 0000000..dc73b9a Binary files /dev/null and b/docker/compose/scp_git_bridge/03.png differ diff --git a/docker/compose/scp_git_bridge/Dockerfile b/docker/compose/scp_git_bridge/Dockerfile new file mode 100644 index 0000000..121a171 --- /dev/null +++ b/docker/compose/scp_git_bridge/Dockerfile @@ -0,0 +1,41 @@ +FROM ubuntu:24.04 + +# Ensure non-interactive installation +ENV DEBIAN_FRONTEND=noninteractive + +# Update and install packages +RUN apt update +RUN apt -y install mc +RUN apt -y install bash +RUN apt -y install openssh-server +RUN apt -y install python3-pip +RUN apt -y install python3-argh +RUN apt -y install git-all +RUN apt -y install golang-go +RUN apt -y install curl +RUN apt -y install openssl +RUN apt -y install libpam-script +RUN apt -y install sudo +RUN apt -y install rush +RUN apt -y install inetutils-syslogd +RUN apt -y install python3-docker + +RUN mkdir -p /compile && cd /compile && git clone https://github.com/kha7iq/kc-ssh-pam.git && cd /compile/kc-ssh-pam && go build && mkdir -p /etc/kc-ssh-pam && cp /compile/kc-ssh-pam/kc-ssh-pam /etc/kc-ssh-pam + +RUN cp -a /etc /etc_original +RUN rm -f /etc_original/hostname +RUN rm -f /etc_original/hosts +RUN rm -f /etc_original/resolv.conf + +# Copy initialization script +COPY files/init.sh /init.sh +RUN chmod +x /init.sh + +# Expose SSH port +EXPOSE 22 + +ENTRYPOINT ["/init.sh"] + + + + diff --git a/docker/compose/scp_git_bridge/README.md b/docker/compose/scp_git_bridge/README.md new file mode 100644 index 0000000..e565c50 --- /dev/null +++ b/docker/compose/scp_git_bridge/README.md @@ -0,0 +1,156 @@ +If the user logs in via git (in the moment on port 993, please don't forget to allow port 993 via ufw allow 993), the projects for that user are automatically updated. + +Every 5 minutes, cron checks the userdata base of overleaf and new user from the database are created. + +## Get the ssh keys for a user + +``` +git clone ssh://[USERNAME]@[FQDN]:[PORT]/sshkey.git +``` + +e.g. + +``` +git clone ssh://davrot@uni-bremen.de@psintern.neuro.uni-bremen.de:993/sshkey.git +``` + +## Get the project list for a user + +``` +git clone ssh://[USERNAME]@[FQDN]:[PORT]/projects.git +``` + +e.g. + +``` +git clone ssh://davrot@uni-bremen.de@psintern.neuro.uni-bremen.de:993/projects.git +``` + +## Get a project + +``` +git clone ssh://[USERNAME]@[FQDN]:[PORT]/[PROJECT_ID].git +``` + +e.g. + + +``` +git clone ssh://davrot@uni-bremen.de@psintern.neuro.uni-bremen.de:993/6759fdf66ca7b8bc5b81b184.git +``` + +On the one side this backup container communicates with the user via git and with the overleaf server via docker socket. + +Don't forget the crontab entry for host: + +``` +# m h dom mon dow command +*/5 * * * * sh /docker/compose/hajtex_sshd/exec_update_userlist.sh +``` + +Otherwise, login will fail without the user directories. You can also run it manually: +``` +sh /docker/compose/hajtex_sshd/exec_update_userlist.sh +``` + +# Port 993 + +If you don't like port 993 you can change the compose.yaml +``` + ports: + - 993:22 +``` +accordingly. But don't forget you firewall: + +``` +ufw allow 993:22 +``` + +# ssh / scp / git-shell authentification against KeyCloak + +## Create the client in keycloak: + +``` +urn:ietf:wg:oauth:2.0:oob +``` + +![A](01.png) + +--- + +![B](02.png) + +--- + +![C](03.png) + +--- + + +## Update files/config.toml + +Change clientsecret and the endpoint. + +``` +realm = "master" +endpoint = "https://psintern.neuro.uni-bremen.de/sso/" +clientid = "linux-ssh" +clientsecret = "REDACTED" +clientscope = "openid" +``` + +## Create image: + +``` +>> make_image.sh +``` + +## Change the name of the HajTex server container: + +Default is "/overleafserver" + +If your installation is different then change in the files download_files.py, auth_against_docker.py and update_userlist.py modifiy the line accordingly: + +``` +container_name: str = "/overleafserver", +``` + + +# Files + +* Dockerfile + + Dockerfile for creating the container image + +* compose.yaml + + Compose file to start the container + +* crontab_host.txt + + This needs to be placed into the crontab of the host + +* down.sh + + For stoping the container + +* exec.sh + + For entering the container for an interactive session + +* init.sh + + Init script that is ran during starting the container. The make_image.sh places it into the container. + +* logs.sh + + Shows the logs of the running container + +* make_image.sh + + Needs to be run for generating the container image + +* exec_update_userlist.sh + + Is run by the cron to update the user basis in the container based on the overleaf user database + diff --git a/docker/compose/scp_git_bridge/compose.yaml b/docker/compose/scp_git_bridge/compose.yaml new file mode 100644 index 0000000..9ce64b8 --- /dev/null +++ b/docker/compose/scp_git_bridge/compose.yaml @@ -0,0 +1,44 @@ +services: + hajtexsshd: + image: hajtex_sshd_image + container_name: hajtexsshd + hostname: hajtexsshd + restart: always + volumes: + - /docker/compose/scp_git_bridge/downloads:/downloads + - /docker/compose/scp_git_bridge/etc:/etc + - /docker/compose/scp_git_bridge/log:/var/log + + - /docker/compose/scp_git_bridge/files/auth_against_docker.py:/auth_against_docker.py:ro + - /docker/compose/scp_git_bridge/files/build_jail.sh:/build_jail.sh:ro + - /docker/compose/scp_git_bridge/files/download_files.py:/download_files.py:ro + - /docker/compose/scp_git_bridge/files/get_projects.py:/get_projects.py:ro + - /docker/compose/scp_git_bridge/files/pam_sshd:/etc/pam.d/sshd:ro + - /docker/compose/scp_git_bridge/files/process_user_auth.sh:/process_user_auth.sh:ro + - /docker/compose/scp_git_bridge/files/sshd_config:/etc/ssh/sshd_config:ro + - /docker/compose/scp_git_bridge/files/update_user_jail.sh:/update_user_jail.sh:ro + - /docker/compose/scp_git_bridge/files/update_userlist.py:/update_userlist.py:ro + - /docker/compose/scp_git_bridge/files/rush.rc:/etc/rush.rc:ro + - /docker/compose/scp_git_bridge/files/pre-rush.sh:/pre-rush.sh:ro + - /docker/compose/scp_git_bridge/files/update_project_list.py:/update_project_list.py:ro + + - /docker/compose/scp_git_bridge/files/config.toml:/etc/kc-ssh-pam/config.toml:ro + + - /var/run/docker.sock:/var/run/docker.sock + + ports: + - 993:22 + environment: + PUID: 1000 + PGID: 1000 + TZ: Etc/UTC + networks: + - overleaf-network + - keycloak-network + +networks: + overleaf-network: + external: true + keycloak-network: + external: true + diff --git a/docker/compose/scp_git_bridge/crontab_host.txt b/docker/compose/scp_git_bridge/crontab_host.txt new file mode 100644 index 0000000..2cc0fb3 --- /dev/null +++ b/docker/compose/scp_git_bridge/crontab_host.txt @@ -0,0 +1,2 @@ +# m h dom mon dow command +*/5 * * * * sh /docker/compose/scp_git_bridge/exec_update_userlist.sh diff --git a/docker/compose/scp_git_bridge/docker_tools/README.md b/docker/compose/scp_git_bridge/docker_tools/README.md new file mode 100644 index 0000000..3d48ccc --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/README.md @@ -0,0 +1,22 @@ + +These tools need to be placed inside the overleaf docker container. We do this automatically when this container goes up via the install.sh. + +* auth_check_user.js + + Is used for checking a user and the password against the overleaf user database + +* download_zip.js + + Downloads the data for a project id into a zip file. + +* export_project_list_of_user.js + + Given a userid the get a list of the project ids of the user + +* get_user_list.js + + We get the list of the list of all users in the overleaf user database + +* id_user.js + + We get the userid for a username (==email) diff --git a/docker/compose/scp_git_bridge/docker_tools/auth_check_user.js b/docker/compose/scp_git_bridge/docker_tools/auth_check_user.js new file mode 100644 index 0000000..de7d81e --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/auth_check_user.js @@ -0,0 +1,66 @@ +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const { User } = require('/overleaf/services/web/app/src/models/User') +const bcrypt = require('/overleaf/services/web/node_modules/bcrypt') + +async function main() { + + const args = process.argv.slice(2); + if (args.length < 2) { + console.error('Usage: node auth_check_user.js '); + process.exit(1); + } + + const username = args[0]; + const password = args[1]; + const query = {"email": username }; + + try { + await waitForDb() + } catch (err) { + console.error('Cannot connect to mongodb') + process.exit(1); // fail + } + + const user = await User.findOne(query).exec(); + + if (!user || !user.hashedPassword) { + process.exit(1); // fail + } + + let rounds = 0 + try { + rounds = bcrypt.getRounds(user.hashedPassword) + } catch (err) { + let prefix, suffix, length + if (typeof user.hashedPassword === 'string') { + length = user.hashedPassword.length + if (user.hashedPassword.length > 50) { + // A full bcrypt hash is 60 characters long. + prefix = user.hashedPassword.slice(0, '$2a$12$x'.length) + suffix = user.hashedPassword.slice(-4) + } else if (user.hashedPassword.length > 20) { + prefix = user.hashedPassword.slice(0, 4) + suffix = user.hashedPassword.slice(-4) + } else { + prefix = user.hashedPassword.slice(0, 4) + } + } + + process.exit(1); // fail + } + + const match = await bcrypt.compare(password, user.hashedPassword) + + if (match) { + process.exit(0); + } + else { + process.exit(1); // fail + } +} + +main().catch(err => { + console.error("An unexpected error occurred:", err); // Catch any unexpected errors + process.exit(1); // fail +}); + diff --git a/docker/compose/scp_git_bridge/docker_tools/download_zip.js b/docker/compose/scp_git_bridge/docker_tools/download_zip.js new file mode 100644 index 0000000..f024cb1 --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/download_zip.js @@ -0,0 +1,161 @@ +const ProjectEntityHandler = require('/overleaf/services/web/app/src/Features/Project/ProjectEntityHandler') +const DocumentUpdaterHandler = require('/overleaf/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterHandler') +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const archiver = require('/overleaf/node_modules/archiver') +const ProjectGetter = require('/overleaf/services/web/app/src/Features/Project/ProjectGetter'); +const settings = require('/overleaf/node_modules/@overleaf/settings') +const fs = require('fs'); +const { promisify } = require('util'); + +async function main() { + + + // Get command-line arguments + const args = process.argv.slice(2); + if (args.length < 2) { + console.error('Usage: node download_zip_time.js []'); + process.exit(1); + } + + const projectId = args[0]; + const output_filename = args[1]; + let time_filter_active = false; + let referenceDate; + + // Check if reference date parameter was provided + if (args.length >= 3) { + try { + referenceDate = new Date(args[2]); + if (isNaN(referenceDate.getTime())) { + console.error('Error: Invalid date format provided'); + process.exit(1); + } + time_filter_active = true; + } catch (error) { + console.error('Error: Invalid date format provided'); + process.exit(1); + } + } + + try { + await waitForDb(); + + // Flush project to MongoDB + await new Promise((resolve, reject) => { + DocumentUpdaterHandler.flushProjectToMongo(projectId, (error) => { + if (error) process.exit(1); + else resolve(); + }); + }); + + // Get project info + const project_info = await new Promise((resolve, reject) => { + ProjectGetter.getProject(projectId, { + 'overleaf.history.id': true, + }, (error, project) => { + if (error) process.exit(1); + else resolve(project); + }); + }); + + // Get all files + let list_files = await new Promise((resolve, reject) => { + ProjectEntityHandler.getAllFiles(projectId, (error, result) => { + if (error) process.exit(1); + else resolve(result); + }); + }); + + if (time_filter_active) { + list_files = Object.fromEntries( + Object.entries(list_files).filter(([_, value]) => + value.created > referenceDate + ) + ); + } + + // Get all docs + const list_docs = await new Promise((resolve, reject) => { + ProjectEntityHandler.getAllDocs(projectId, (error, result) => { + if (error) process.exit(1); + else resolve(result); + }); + }); + + // Create archive + const archive = archiver('zip', { + zlib: { level: 0 } + }); + + // Create write stream + const output = fs.createWriteStream(output_filename); + + // Set up archive error handling + archive.on('error', err => { + console.log('Archive error:', err); + process.exit(1); + }); + + archive.on('warning', err => { + if (err.code === 'ENOENT') { + console.log('Archive warning:', err); + } + process.exit(1); + }); + + // Create promise for output stream + const outputFinished = new Promise((resolve, reject) => { + output.on('close', resolve); + output.on('error', reject); + }); + + // Pipe archive to output file + archive.pipe(output); + + // Add documents to archive + for (const [path, doc] of Object.entries(list_docs)) { + const cleanPath = path.startsWith('/') ? path.slice(1) : path; + console.log('Adding doc', { path: cleanPath }); + archive.append(doc.lines.join('\n'), { name: cleanPath }); + } + + // Add files to archive using promises + const filePromises = Object.entries(list_files).map(async ([path, file]) => { + const cleanPath = path.startsWith('/') ? path.slice(1) : path; + try { + console.log('Adding file', { path: cleanPath }); + url = new URL(settings.apis.filestore.url) + url.pathname = `/project/${projectId}/file/${file._id}` + const response = await fetch(url); + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + const buffer = await response.arrayBuffer(); + archive.append(Buffer.from(buffer), { name: cleanPath }); + return Promise.resolve(); + } catch (err) { + console.warn(`File not found: ${cleanPath}`, err); + return Promise.resolve(); + } + }); + + // Wait for all files to be processed + await Promise.all(filePromises); + + // Finalize the archive + await archive.finalize(); + + // Wait for the output file to be fully written + await outputFinished; + + console.log('Done.'); + process.exit(0); + + } catch (error) { + console.error("An error occurred:", error); + process.exit(1); + } +} + +main(); + diff --git a/docker/compose/scp_git_bridge/docker_tools/export_project_list_of_user.js b/docker/compose/scp_git_bridge/docker_tools/export_project_list_of_user.js new file mode 100644 index 0000000..1c83d20 --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/export_project_list_of_user.js @@ -0,0 +1,54 @@ +const ProjectGetter = require('/overleaf/services/web/app/src/Features/Project/ProjectGetter'); +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const ProjectController = require('/overleaf/services/web/app/src/Features/Project/ProjectController'); +const fs = require('fs/promises'); + +async function main() { + + // // Get command-line arguments + const args = process.argv.slice(2); + if (args.length < 2) { + console.error('Usage: node export_project_list_of_user.js '); + process.exit(1); + } + + const userId = args[0]; + const filename = args[1]; + + try { + await waitForDb() + } catch (err) { + console.error('Cannot connect to mongodb') + throw err + } + + let projects = await ProjectGetter.promises.findAllUsersProjects( + userId, + 'name lastUpdated publicAccesLevel archived trashed owner_ref' + ) + + projects = ProjectController._buildProjectList(projects, userId) + .filter(p => !(p.archived || p.trashed)) + .map(p => ({ _id: p.id, name: p.name, accessLevel: p.accessLevel })) + + + // Wrap the projects array in an object with a key name + const data = { "projects": projects }; + + // Write projects data to JSON file + try { + await fs.writeFile(filename, JSON.stringify(data, null, 2) + '\n'); + console.log('Projects written to JSON file successfully.'); + } catch (err) { + console.error('Error writing projects to JSON file:', err); + process.exit(1); + } + + console.log('Done.'); // Use console.log for success messages + process.exit(0); +} + +main().catch(err => { + console.error("An unexpected error occurred:", err); // Catch any unexpected errors + process.exit(1); +}); diff --git a/docker/compose/scp_git_bridge/docker_tools/get_user_list.js b/docker/compose/scp_git_bridge/docker_tools/get_user_list.js new file mode 100644 index 0000000..a380a3b --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/get_user_list.js @@ -0,0 +1,45 @@ +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const { User } = require('/overleaf/services/web/app/src/models/User') + + +async function main() { + + try { + await waitForDb() + } catch (err) { + console.error('Cannot connect to mongodb') + process.exit(1); // fail + } + + try { + // Find all users and select only email and _id fields for efficiency + const users = await User.find({}, 'email _id').exec() + + if (!users || users.length === 0) { + console.error('No users') + process.exit(1) + } + + // Transform and output as JSON + const userList = users.map(user => ({ + id: user._id.toString(), // Convert ObjectId to string + email: user.email + })) + + const data = { "userlist": userList }; + + console.log("#-#-#",JSON.stringify(data, null, 2),"#-#-#") // Pretty print with 2-space indentation + process.exit(0) + + } catch (err) { + console.error('Error while fetching users:', err) + process.exit(1) + } + +} + +main().catch(err => { + console.error("An unexpected error occurred:", err); // Catch any unexpected errors + process.exit(1); // fail +}); + diff --git a/docker/compose/scp_git_bridge/docker_tools/id_user.js b/docker/compose/scp_git_bridge/docker_tools/id_user.js new file mode 100644 index 0000000..82977dc --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/id_user.js @@ -0,0 +1,36 @@ +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const { User } = require('/overleaf/services/web/app/src/models/User') + + +async function main() { + + const args = process.argv.slice(2); + if (args.length < 1) { + console.error('Usage: node id_user.js '); + process.exit(1); + } + + const username = args[0]; + const query = {"email": username }; + + try { + await waitForDb() + } catch (err) { + console.error('Cannot connect to mongodb') + process.exit(1); // fail + } + + const user = await User.findOne(query).exec(); + + if (!user || !user._id) { + process.exit(1); // fail + } + console.log("#-#-#",user._id,"#-#-#") + process.exit(0); +} + +main().catch(err => { + console.error("An unexpected error occurred:", err); // Catch any unexpected errors + process.exit(1); // fail +}); + diff --git a/docker/compose/scp_git_bridge/docker_tools/install.sh b/docker/compose/scp_git_bridge/docker_tools/install.sh new file mode 100644 index 0000000..c347dd5 --- /dev/null +++ b/docker/compose/scp_git_bridge/docker_tools/install.sh @@ -0,0 +1,5 @@ +for file in $(ls *.js) +do + echo Copy ${file} + docker cp ${file} overleafserver:/overleaf/services/web/modules/server-ce-scripts/scripts/ +done diff --git a/docker/compose/scp_git_bridge/down.sh b/docker/compose/scp_git_bridge/down.sh new file mode 100644 index 0000000..c864209 --- /dev/null +++ b/docker/compose/scp_git_bridge/down.sh @@ -0,0 +1,2 @@ +docker compose down + diff --git a/docker/compose/scp_git_bridge/exec.sh b/docker/compose/scp_git_bridge/exec.sh new file mode 100644 index 0000000..ec47bf8 --- /dev/null +++ b/docker/compose/scp_git_bridge/exec.sh @@ -0,0 +1 @@ +docker exec -it hajtexsshd bash diff --git a/docker/compose/scp_git_bridge/exec_update_userlist.sh b/docker/compose/scp_git_bridge/exec_update_userlist.sh new file mode 100644 index 0000000..5215f2b --- /dev/null +++ b/docker/compose/scp_git_bridge/exec_update_userlist.sh @@ -0,0 +1 @@ +docker exec hajtexsshd bash -c "cd / ; python3 update_userlist.py" diff --git a/docker/compose/scp_git_bridge/files/README.md b/docker/compose/scp_git_bridge/files/README.md new file mode 100644 index 0000000..729d004 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/README.md @@ -0,0 +1,47 @@ +* auth_against_docker.py + + If given a username and password, the tool talks to the overleaf container and checks the credentials against the overleaf userdata base + +* build_jail.sh + + Collects the files for the sshd jail into the /master_jail directory. + +* download_files.py + + Include file that organizes the retrivel of the files from the overleaf container given a username + +* get_projects.py + + Given a username, it performs the update of the local project git folders under /downloads/[USERNAME]. + +* pam_sshd + + The pam settings for the sshd + +* process_user_auth.sh + + Script that performs the user authentification for PAM + +* sshd_config + + sshd config file + +* update_user_jail.sh + + Prepares the individual user jails, derived from the /master_jail. + +* update_userlist.py + + Updates the local user ensembale (i.e. creates missing users) based on the user list from the overleaf user database + +* pre-rush.sh + + Is called by sshd and organizes the pre-git processes and the jail + +* rush.rc + + Config file for the restricted user shell (rush) + +* update_project_list.py + + Acquires the project list from the overleaf docker for a given user diff --git a/docker/compose/scp_git_bridge/files/auth_against_docker.py b/docker/compose/scp_git_bridge/files/auth_against_docker.py new file mode 100644 index 0000000..6f6d500 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/auth_against_docker.py @@ -0,0 +1,45 @@ +import docker # type: ignore +from download_files import get_container +import argh # type: ignore + + +def main(username: str, password: str, container_name: str = "/overleafserver"): + + if username is None: + exit(1) + + if password is None: + exit(1) + + if len(username) == 0: + exit(1) + + if len(password) == 0: + exit(1) + + our_container: None | docker.models.containers.Container = get_container( + container_name + ) + + if our_container is None: + exit(1) + + result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/auth_check_user.js " + f"{username} " + f"{password} " + "'" + ) + ) + + if result[0] == 0: + exit(0) + else: + exit(1) + + +if __name__ == "__main__": + argh.dispatch_command(main) diff --git a/docker/compose/scp_git_bridge/files/build_jail.sh b/docker/compose/scp_git_bridge/files/build_jail.sh new file mode 100644 index 0000000..c72fd8f --- /dev/null +++ b/docker/compose/scp_git_bridge/files/build_jail.sh @@ -0,0 +1,30 @@ +mkdir -p /master_jail/lib +mkdir -p /master_jail/lib64 +mkdir -p /master_jail/lib/x86_64-linux-gnu +mkdir -p /master_jail/lib64 +mkdir -p /master_jail/usr/lib/git-core +mkdir -p /master_jail/etc + +cp /usr/lib/git-core/git-submodule /master_jail/usr/lib/git-core/ +cp /usr/lib/git-core/git /master_jail/usr/lib/git-core/ +cp /usr/lib/git-core/git-upload-pack /master_jail/usr/lib/git-core/ +chmod +x /master_jail/usr/lib/git-core/* + +# Lets extract which libs we need +cd /master_jail/usr/lib/git-core +ldd git | grep "=> " | awk {'print $3'} > /master_jail/ldd_list +ldd git-submodule | grep "=> " | awk {'print $3'} >> /master_jail/ldd_list + +cd /master_jail +cat ldd_list | sort -u > ldd_list_nodups +\rm ldd_list +mv ldd_list_nodups ldd_list + +for file in $(cat ldd_list) +do + \cp $file /master_jail/lib/x86_64-linux-gnu +done +\rm ldd_list + +\cp /lib64/ld-linux-x86-64.so.* /master_jail/lib64/ + diff --git a/docker/compose/scp_git_bridge/files/config.toml b/docker/compose/scp_git_bridge/files/config.toml new file mode 100644 index 0000000..2671012 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/config.toml @@ -0,0 +1,6 @@ +realm = "master" +endpoint = "https://psintern.neuro.uni-bremen.de/sso/" +clientid = "linux-ssh" +clientsecret = "REDACTED" +clientscope = "openid" + diff --git a/docker/compose/scp_git_bridge/files/download_files.py b/docker/compose/scp_git_bridge/files/download_files.py new file mode 100644 index 0000000..5516ddb --- /dev/null +++ b/docker/compose/scp_git_bridge/files/download_files.py @@ -0,0 +1,255 @@ +import docker # type: ignore +import json +import tarfile +import os +from datetime import datetime, timedelta +import subprocess + + +def get_container(container_name: str) -> None | docker.models.containers.Container: + + client = docker.from_env() + + # Find our overleaf container (name is defined in config.json) + running_containers = client.containers.list() + locate_containers = [] + for running_container in running_containers: + if running_container.attrs["Name"] == container_name: + locate_containers.append(running_container) + + if len(locate_containers) != 1: + return None + + return locate_containers[0] + + +def get_last_commit_time_minus_10(username: str, project_id: str) -> str: + path = f"/downloads/{username}/{project_id}.git" + + # Get the last commit timestamp + git_command = ["git", "log", "-1", "--format=%cI"] + result = subprocess.run(git_command, capture_output=True, text=True, cwd=path) + + if result.returncode != 0: + return "" + + # Parse the ISO 8601 timestamp + commit_time = datetime.fromisoformat(result.stdout.strip()) + + # Subtract 10 minutes + adjusted_time = commit_time - timedelta(minutes=10) + + # Format to ISO 8601 with Z suffix for UTC + return adjusted_time.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z" + + +def _create_file( + our_container: None | docker.models.containers.Container, + username: str, + project_id: str, + path: str = "/var/lib/overleaf/", +) -> tuple[bool, str, str]: + filename: str = username + "_" + project_id + ".zip" + + fullpath: str = path + filename + if our_container is None: + return False, "", "" + + timestamp: str = "" + try: + timestamp = get_last_commit_time_minus_10( + username=username, project_id=project_id + ) + except Exception: + timestamp = "" + + result = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/download_zip.js " + f"{project_id} " + f"{fullpath} " + f"{timestamp} " + "'" + ) + ) + + if result[1].endswith(b"\nDone.\n") and (result[0] == 0): # type: ignore + return True, filename, fullpath + else: + return False, "", "" + + +def _delete_file( + our_container: None | docker.models.containers.Container, + username: str, + project_id: str, + path: str = "/var/lib/overleaf/", +) -> None: + filename: str = username + "_" + project_id + ".zip" + + fullpath: str = path + filename + if our_container is None: + return + + our_container.exec_run(("/bin/bash -c '" f"rm -f {fullpath} " "'")) + + +def process_file( + our_container: None | docker.models.containers.Container, + username: str, + project_id: str, + path: str = "/var/lib/overleaf/", +): + + if our_container is None: + return + + status, filename, fullpath = _create_file( + our_container=our_container, username=username, project_id=project_id, path=path + ) + + if status: + with open(filename + ".tar", "wb") as file: + bits, _ = our_container.get_archive(fullpath) + + for chunk in bits: + file.write(chunk) + + _delete_file( + our_container=our_container, + username=username, + project_id=project_id, + path=path, + ) + + # Extract from tar + with tarfile.open(filename + ".tar") as tar: + member = tar.next() + with tar.extractfile(member) as content, open(filename, "wb") as output_file: # type: ignore + for chunk in content: + output_file.write(chunk) + + # Clean up tar file + os.remove(filename + ".tar") + + +def download_projectlist( + our_container: None | docker.models.containers.Container, + username: str, + userid: str, + path: str = "/var/lib/overleaf/", +) -> list[str]: + + if our_container is None: + return [] + + filename: str = username + "_project_list.json" + + fullpath: str = path + filename + + result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/export_project_list_of_user.js " + f"{userid} " + f"{fullpath} " + "'" + ) + ) + + status: bool = False + if result[1].endswith(b"\nDone.\n") and (result[0] == 0): # type: ignore + status = True + + if status: + with open(filename + ".tar", "wb") as file: + bits, _ = our_container.get_archive(fullpath) + + for chunk in bits: + file.write(chunk) + + our_container.exec_run(("/bin/bash -c '" f"rm -f {fullpath} " "'")) + + # Extract from tar + with tarfile.open(filename + ".tar") as tar: + member = tar.next() + with tar.extractfile(member) as content, open(filename, "wb") as output_file: # type: ignore + for chunk in content: + output_file.write(chunk) + + # Clean up tar file + os.remove(filename + ".tar") + + with open(filename, "r") as file: + return_json = json.load(file) + + os.remove(filename) + + data_found = "projects" in return_json.keys() + + projects: list[str] = [] + if data_found: + for project in return_json["projects"]: + projects.append(project["_id"]) + + return projects + else: + return [] + + +def get_user_id( + our_container: None | docker.models.containers.Container, username: str +) -> str: + + if our_container is None: + return "" + + result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/id_user.js " + f"{username} " + "'" + ) + ) + + if result[1].endswith(b"') #-#-#\n") and (result[0] == 0): # type: ignore + return result[1].split(b"#-#-#")[-2].split(b"'")[-2].decode("ascii") # type: ignore + else: + return "" + + +def download_files( + username: str, + project_id: str, + container_name: str = "/overleafserver", + path: str = "/var/lib/overleaf/", +) -> list[str]: + our_container: None | docker.models.containers.Container = get_container( + container_name + ) + + if our_container is None: + return [] + + userid = get_user_id(our_container=our_container, username=username) + + if len(userid) == 0: + return [] + + project_list = download_projectlist( + our_container=our_container, username=username, userid=userid, path=path + ) + + if project_id in project_list: + process_file( + our_container=our_container, + username=username, + project_id=project_id, + path=path, + ) + return project_list diff --git a/docker/compose/scp_git_bridge/files/get_projects.py b/docker/compose/scp_git_bridge/files/get_projects.py new file mode 100644 index 0000000..33589d6 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/get_projects.py @@ -0,0 +1,103 @@ +import argh # type: ignore +import shutil +import os +import subprocess +import glob +from download_files import download_files + + +def clean(username: str, project_list: list[str]): + + keep_dirs: list[str] = [ + "bin", + "dev", + "etc", + "lib", + "lib64", + "usr", + "sshkey.git", + ".ssh", + "projects.git", + ] + + keep_list = [] + for project_id in project_list: + keep_list.append( + os.path.join("/downloads/", f"{username}", project_id + ".git") + ) + + for keep_dir in keep_dirs: + keep_list.append(os.path.join("/downloads/", f"{username}", keep_dir)) + + for entry in glob.glob(os.path.join("/downloads/", f"{username}", "*")): + if os.path.isdir(entry): + if not (entry in keep_list): + try: + shutil.rmtree(entry) + except OSError as e: + print(f"Error deleting directory: {e}") + + +def main(username: str, project_id: str) -> None: + + if len(username) == 0: + return + + if len(project_id) == 0: + return + + project_list = download_files(username=username, project_id=project_id) + clean(username=username, project_list=project_list) + + path: str = f"/downloads/{username}/{project_id}.git" + filename: str = f"{username}_{project_id}.zip" + + os.makedirs(f"{path}", mode=0o700, exist_ok=True) + + shutil.move( + f"{filename}", + f"{path}/{filename}", + ) + + subprocess.run( + [ + f"/usr/bin/unzip -qq -o {filename} " + ], + shell=True, cwd=path + ) + + subprocess.run( + [f"rm -f {path}/{filename}"], shell=True + ) + + subprocess.run( + [f"chmod -R 0755 {path} "], + shell=True, + ) + + if not os.path.isdir(f"{path}/.git"): + + subprocess.run( + [f"/usr/bin/git init -q "], + shell=True, cwd=path + ) + + subprocess.run( + [f"/usr/bin/git add --all "], + shell=True, cwd=path + ) + + + subprocess.run( + [ + f"/usr/bin/git commit -q -m 'by HajTex' " + ], + shell=True, cwd=path + ) + + + return + + +if __name__ == "__main__": + argh.dispatch_command(main) diff --git a/docker/compose/scp_git_bridge/files/init.sh b/docker/compose/scp_git_bridge/files/init.sh new file mode 100644 index 0000000..989c55d --- /dev/null +++ b/docker/compose/scp_git_bridge/files/init.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# If mounted /etc is empty, copy from backup +if [ ! -d /etc/skel ]; then + cp -a /etc_original/* /etc/ + mkdir -p /etc/skel/ + chmod 0700 /etc/skel/.ssh + rm -f /etc/skel/.profile + rm -f /etc/skel/.bashrc + rm -f /etc/skel/.bash_logout + rm -rf /etc_original +fi + + +# Create minimal system groups and users +if ! getent group nogroup >/dev/null 2>&1; then + groupadd -r nogroup +fi + +# Create a minimal system user for SSH and SSSD +if ! id -u sshd >/dev/null 2>&1; then + useradd -r -g nogroup -s /bin/false sshd +fi + +if [ ! -d /run/sshd ]; then + mkdir -p /run/sshd + chmod -R 0700 /run/sshd +fi + +chmod 644 /etc/passwd +chmod 644 /etc/group +chmod 600 /etc/shadow + +# Ensure hajtex group exists +if ! getent group hajtex >/dev/null 2>&1; then + groupadd -r hajtex +fi + +echo "root ALL=(ALL) ALL" > /etc/sudoers + +chown root:root /downloads +chmod 755 /downloads + +/usr/sbin/syslogd + +sh /build_jail.sh +# The users need to access docker before they are put into jail. +chmod 666 /var/run/docker.sock + +/usr/sbin/sshd -D & + +sleep infinity diff --git a/docker/compose/scp_git_bridge/files/pam_sshd b/docker/compose/scp_git_bridge/files/pam_sshd new file mode 100644 index 0000000..fe50286 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/pam_sshd @@ -0,0 +1,57 @@ +# PAM configuration for the Secure Shell service +# For password authentication +auth sufficient pam_exec.so expose_authtok log=/var/log/kc-ssh-pam.log /process_user_auth.sh + +# Standard Un*x authentication. +@include common-auth + +# Disallow non-root logins when /etc/nologin exists. +account required pam_nologin.so + +# Uncomment and edit /etc/security/access.conf if you need to set complex +# access limits that are hard to express in sshd_config. +# account required pam_access.so + +# Standard Un*x authorization. +@include common-account + +# SELinux needs to be the first session rule. This ensures that any +# lingering context has been cleared. Without this it is possible that a +# module could execute code in the wrong domain. +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close + +# Set the loginuid process attribute. +session required pam_loginuid.so + +# Create a new session keyring. +session optional pam_keyinit.so force revoke + +# Standard Un*x session setup and teardown. +@include common-session + +# Print the message of the day upon successful login. +# This includes a dynamically generated part from /run/motd.dynamic +# and a static (admin-editable) part from /etc/motd. +session optional pam_motd.so motd=/run/motd.dynamic +session optional pam_motd.so noupdate + +# Print the status of the user's mailbox upon successful login. +session optional pam_mail.so standard noenv # [1] + +# Set up user limits from /etc/security/limits.conf. +session required pam_limits.so + +# Read environment variables from /etc/environment and +# /etc/security/pam_env.conf. +session required pam_env.so # [1] +# In Debian 4.0 (etch), locale-related environment variables were moved to +# /etc/default/locale, so read that as well. +session required pam_env.so user_readenv=1 envfile=/etc/default/locale + +# SELinux needs to intervene at login time to ensure that the process starts +# in the proper default security context. Only sessions which are intended +# to run in the user's context should be run after this. +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open + +# Standard Un*x password updating. +@include common-password diff --git a/docker/compose/scp_git_bridge/files/pre-rush.sh b/docker/compose/scp_git_bridge/files/pre-rush.sh new file mode 100644 index 0000000..f33256b --- /dev/null +++ b/docker/compose/scp_git_bridge/files/pre-rush.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# List of repos to be ignored +IGNORE_REPOS=( + "sshkey" + "projects" +) + +# Function to check if a string contains any repos to be ignored +check_repos_to_be_ignored() { + local input="$1" + for word in "${IGNORE_REPOS[@]}"; do + if [[ "$input" == *"$word"* ]]; then + return 1 # found repo to be ignored + fi + done + return 0 # No repos to be ignored found +} + +# Function to validate the command format and extract the repository ID +validate_and_extract() { + local command="$1" + + # Check if command starts with "git-upload-pack '/" and ends with ".git'" + if [[ ! "$command" =~ ^git-upload-pack\ \'/.+\.git\'$ ]] + then + echo "Invalid command format" >&2 + exit 1 + fi + + # Extract the string between "git-upload-pack '/" and ".git'" + # Using parameter expansion to remove prefix and suffix + local temp="${command#git-upload-pack \'/}" # Remove prefix + local repo_id="${temp%%.git\'}" # Remove suffix + + # Validate that we actually extracted something + if [ -z "$repo_id" ]; then + echo "Failed to extract repository ID" >&2 + exit 1 + fi + + # Return the extracted repository ID + echo "$repo_id" +} + +# Main execution +if [ -z "$SSH_ORIGINAL_COMMAND" ]; then + echo "SSH_ORIGINAL_COMMAND is empty" >&2 + exit 1 +fi + +# Validate and extract the repository ID +REPO_ID=$(validate_and_extract "$SSH_ORIGINAL_COMMAND") + + +if [ -n "$REPO_ID" ] +then + + if check_repos_to_be_ignored "$REPO_ID" + then + # Run your post-login scripts + python3 /get_projects.py ${USER} ${REPO_ID} > /dev/null 2>&1 + fi + + # Check if REPO_ID is equal to "projects" + if [ "$REPO_ID" == "projects" ] + then + # Run your post-login scripts if condition is met + python3 /update_project_list.py ${USER} > /dev/null 2>&1 + + fi +fi + +# Finally, execute rush with chroot inside +/usr/sbin/rush + diff --git a/docker/compose/scp_git_bridge/files/process_user_auth.sh b/docker/compose/scp_git_bridge/files/process_user_auth.sh new file mode 100644 index 0000000..f262486 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/process_user_auth.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# This script handles password authentication + +if [ "$PAM_TYPE" != "auth" ]; then + exit 1 +fi + +# Read password from stdin +PAM_PASSWORD=$(cat) +echo "$PAM_PASSWORD" | /etc/kc-ssh-pam/kc-ssh-pam -c /etc/kc-ssh-pam/config.toml +AUTH_STATUS=$? + +if [ $AUTH_STATUS -eq 0 ]; then + exit 0 +else + exit 1 +fi + + + diff --git a/docker/compose/scp_git_bridge/files/rush.rc b/docker/compose/scp_git_bridge/files/rush.rc new file mode 100644 index 0000000..e919f04 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/rush.rc @@ -0,0 +1,10 @@ +rush 2.0 + +rule git-upload-pack + match $command ~ "^/bin/sh" + match $SSH_ORIGINAL_COMMAND ~ "git-upload-pack '(.+)'" + set[0] = "/usr/lib/git-core/git-upload-pack" + set[1] = %1 + interactive true + umask 022 + chroot "~" \ No newline at end of file diff --git a/docker/compose/scp_git_bridge/files/sshd_config b/docker/compose/scp_git_bridge/files/sshd_config new file mode 100644 index 0000000..de0c91d --- /dev/null +++ b/docker/compose/scp_git_bridge/files/sshd_config @@ -0,0 +1,17 @@ +PasswordAuthentication yes +PermitEmptyPasswords no +KbdInteractiveAuthentication no +UsePAM yes +X11Forwarding no +PrintMotd no +AcceptEnv LANG LC_* +PubkeyAuthentication yes +AuthorizedKeysFile .ssh/authorized_keys + +Match Group hajtex + ForceCommand /pre-rush.sh + AllowTcpForwarding no + X11Forwarding no + PasswordAuthentication yes + PubkeyAuthentication yes + AuthorizedKeysFile .ssh/authorized_keys \ No newline at end of file diff --git a/docker/compose/scp_git_bridge/files/update_project_list.py b/docker/compose/scp_git_bridge/files/update_project_list.py new file mode 100644 index 0000000..890dcb1 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/update_project_list.py @@ -0,0 +1,170 @@ +import argh # type: ignore +import docker # type: ignore +from download_files import get_container +import os +import json +import tarfile +import subprocess + + +def get_user_id( + our_container: None | docker.models.containers.Container, username: str +) -> str: + + if our_container is None: + return "" + + result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/id_user.js " + f"{username} " + "'" + ) + ) + + if result[1].endswith(b"') #-#-#\n") and (result[0] == 0): # type: ignore + return result[1].split(b"#-#-#")[-2].split(b"'")[-2].decode("ascii") # type: ignore + else: + return "" + + +def download_projectlist( + our_container: None | docker.models.containers.Container, + username: str, + path: str = "/var/lib/overleaf/", +): + + if our_container is None: + return + + if username is None: + return + + if len(username) == 0: + return + + userid: str = get_user_id(our_container=our_container, username=username) + + if userid is None: + return + + if len(userid) == 0: + return + + filename: str = username + "_project_list.json" + + fullpath: str = path + filename + + result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/export_project_list_of_user.js " + f"{userid} " + f"{fullpath} " + "'" + ) + ) + + status: bool = False + if result[1].endswith(b"\nDone.\n") and (result[0] == 0): # type: ignore + status = True + + if status: + with open(filename + ".tar", "wb") as file: + bits, _ = our_container.get_archive(fullpath) + + for chunk in bits: + file.write(chunk) + + our_container.exec_run(("/bin/bash -c '" f"rm -f {fullpath} " "'")) + + # Extract from tar + with tarfile.open(filename + ".tar") as tar: + member = tar.next() + with tar.extractfile(member) as content, open(filename, "wb") as output_file: # type: ignore + for chunk in content: + output_file.write(chunk) + + # Clean up tar file + os.remove(filename + ".tar") + + with open(filename, "r") as file: + return_json = json.load(file) + + os.remove(filename) + + data_found = "projects" in return_json.keys() + + if data_found: + os.makedirs( + f"/downloads/{username}/projects.git", mode=0o700, exist_ok=True + ) + + with open( + os.path.join( + "/downloads/", f"{username}", "projects.git", "projects.txt" + ), + "w", + ) as file: + for entry in return_json["projects"]: + file.write(f'{entry["_id"]} ; "{entry["name"]}"\n') + + if not os.path.isdir("/downloads/{username}/projects.git/.git"): + + subprocess.run( + [f"cd /downloads/{username}/projects.git && /usr/bin/git init -q "], + shell=True, + ) + + subprocess.run( + [f"cd /downloads/{username}/projects.git && /usr/bin/git add --all "], + shell=True, + ) + subprocess.run( + [ + f"cd /downloads/{username}/projects.git && /usr/bin/git commit -q -m 'by HajTex' " + ], + shell=True, + ) + + subprocess.run( + [f"chmod -R 0700 /downloads/{username}/projects.git "], + shell=True, + ) + + return + else: + return + + +def main( + username: str, + container_name: str = "/overleafserver", + path: str = "/var/lib/overleaf/", +): + + if username is None: + exit(1) + + if len(username) == 0: + exit(1) + + our_container: None | docker.models.containers.Container = get_container( + container_name + ) + + if our_container is None: + exit(1) + + download_projectlist( + our_container=our_container, + username=username, + path=path, + ) + + +if __name__ == "__main__": + argh.dispatch_command(main) diff --git a/docker/compose/scp_git_bridge/files/update_user_jail.sh b/docker/compose/scp_git_bridge/files/update_user_jail.sh new file mode 100644 index 0000000..655f6f2 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/update_user_jail.sh @@ -0,0 +1,64 @@ +#!/bin/bash +if [ -z "$1" ]; then + echo "Error: Argument 1 is missing." >&2 # Send error to stderr + exit 1 # Exit with a non-zero status code to indicate failure +fi + +PAM_USER=$1 + +# Create user +/usr/sbin/useradd ${PAM_USER} -g hajtex -k /etc/skel -m -d /downloads/${PAM_USER} +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER} +chmod -R 0755 /downloads/${PAM_USER} + +cp -rfa /master_jail/* /downloads/${PAM_USER} +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER} +chmod 0755 /downloads/${PAM_USER} +cat /etc/passwd | grep ${PAM_USER} > /downloads/${PAM_USER}/etc/passwd + +# Make devs for the jail +mkdir -p /downloads/${PAM_USER}/dev +mknod -m 666 /downloads/${PAM_USER}/dev/null c 1 3 +mknod -m 666 /downloads/${PAM_USER}/dev/zero c 1 5 +mknod -m 666 /downloads/${PAM_USER}/dev/random c 1 8 +mknod -m 666 /downloads/${PAM_USER}/dev/urandom c 1 9 +mknod -m 666 /downloads/${PAM_USER}/dev/tty c 5 0 + +# Make new ssh key +mkdir -p /downloads/${PAM_USER}/.ssh +chmod 700 /downloads/${PAM_USER}/.ssh +ssh-keygen -t ed25519 -f /downloads/${PAM_USER}/.ssh/hajtex -N "" +cat /downloads/${PAM_USER}/.ssh/hajtex.pub > /downloads/${PAM_USER}/.ssh/authorized_keys +chmod 600 /downloads/${PAM_USER}/.ssh/hajtex +chmod 700 /downloads/${PAM_USER}/.ssh +chmod 600 /downloads/${PAM_USER}/.ssh/authorized_keys +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER}/.ssh + +chmod 777 /downloads/${PAM_USER} +sudo -u ${PAM_USER} /usr/bin/git config --global user.email ${PAM_USER} +sudo -u ${PAM_USER} /usr/bin/git config --global user.name ${PAM_USER} + +mkdir -p /downloads/${PAM_USER}/sshkey.git +cp /downloads/${PAM_USER}/.ssh/hajtex.pub /downloads/${PAM_USER}/sshkey.git +cp /downloads/${PAM_USER}/.ssh/hajtex /downloads/${PAM_USER}/sshkey.git +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER}/sshkey.git + +cd /downloads/${PAM_USER}/sshkey.git && sudo -u ${PAM_USER} /usr/bin/git init -q +cd /downloads/${PAM_USER}/sshkey.git && sudo -u ${PAM_USER} /usr/bin/git add --all +cd /downloads/${PAM_USER}/sshkey.git && sudo -u ${PAM_USER} /usr/bin/git commit -m 'by HajTex' +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER}/sshkey.git +chmod -R 0755 /downloads/${PAM_USER}/sshkey.git + +mkdir -p /downloads/${PAM_USER}/projects.git +echo "" > /downloads/${PAM_USER}/projects.git/projects.txt +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER}/projects.git + +cd /downloads/${PAM_USER}/projects.git && sudo -u ${PAM_USER} /usr/bin/git init -q +cd /downloads/${PAM_USER}/projects.git && sudo -u ${PAM_USER} /usr/bin/git add --all +cd /downloads/${PAM_USER}/projects.git && sudo -u ${PAM_USER} /usr/bin/git commit -m 'by HajTex' +chown -R ${PAM_USER}:hajtex /downloads/${PAM_USER}/projects.git +chmod -R 0755 /downloads/${PAM_USER}/projects.git + + +chmod 755 /downloads/${PAM_USER} + diff --git a/docker/compose/scp_git_bridge/files/update_userlist.py b/docker/compose/scp_git_bridge/files/update_userlist.py new file mode 100644 index 0000000..d7267c0 --- /dev/null +++ b/docker/compose/scp_git_bridge/files/update_userlist.py @@ -0,0 +1,46 @@ +import docker # type: ignore +import json +from download_files import get_container +import pwd +import subprocess + +container_name: str = "/overleafserver" +our_container: None | docker.models.containers.Container = get_container(container_name) + +if our_container is None: + exit(1) + +result: tuple[int, str] = our_container.exec_run( + ( + "/bin/bash -c '" + "cd /overleaf/services/web && " + "node modules/server-ce-scripts/scripts/get_user_list.js " + "'" + ) +) + +temp_json = "{}" +if result[1].endswith(b"} #-#-#\n") and (result[0] == 0): # type: ignore + temp_json = result[1].split(b"#-#-#")[-2].decode("ascii") # type: ignore +json_list = json.loads(temp_json) + +if not ("userlist" in json_list.keys()): + exit(1) +user_json_list = json_list["userlist"] + +user_list: list[str] = [] +for element in user_json_list: + if "email" in element.keys(): + user_list.append(element["email"]) + +for username in user_list: + + create_new_user: bool = False + try: + pwd.getpwnam(username) + create_new_user = False + except KeyError: + create_new_user = True + + if create_new_user: + subprocess.run([f"sh /update_user_jail.sh {username}"], shell=True) diff --git a/docker/compose/scp_git_bridge/logs.sh b/docker/compose/scp_git_bridge/logs.sh new file mode 100644 index 0000000..5fd46e9 --- /dev/null +++ b/docker/compose/scp_git_bridge/logs.sh @@ -0,0 +1,2 @@ +docker compose logs -f + diff --git a/docker/compose/scp_git_bridge/make_image.sh b/docker/compose/scp_git_bridge/make_image.sh new file mode 100644 index 0000000..cc410dc --- /dev/null +++ b/docker/compose/scp_git_bridge/make_image.sh @@ -0,0 +1,2 @@ +chmod +x ./files/pre-rush.sh +docker build --network host -t hajtex_sshd_image . diff --git a/docker/compose/scp_git_bridge/up.sh b/docker/compose/scp_git_bridge/up.sh new file mode 100644 index 0000000..fd5be89 --- /dev/null +++ b/docker/compose/scp_git_bridge/up.sh @@ -0,0 +1,7 @@ +docker compose down +cd docker_tools +sh install.sh +cd .. +chmod +x files/process_user_auth.sh +docker compose up -d + diff --git a/docker/develop/debrand/find_and_replace.sh b/docker/develop/debrand/find_and_replace.sh new file mode 100644 index 0000000..872a62f --- /dev/null +++ b/docker/develop/debrand/find_and_replace.sh @@ -0,0 +1,16 @@ +cd /overleaf/ && grep -l -R "Powered by Overleaf" * | grep -v node_modules > /var/lib/overleaf/list.txt + +for line in $(cat /var/lib/overleaf/list.txt) +do + dirname=$(dirname $line) + mkdir -p /var/lib/overleaf/$dirname + cat ${line} |\ + sed 's/https:\\u002F\\u002Fwww.overleaf.com\\u002Ffor\\u002Fenterprises\\/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed 's/https:\\u002F\\u002Fwww.overleaf.com\\u002Ffor\\u002Fenterprises/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed 's/https:\/\/www.overleaf.com\/for\/enterprises/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed s/"Powered by Overleaf"/"Powered by HajTex"/g > ${line}_bak + rm ${line} + mv ${line}_bak ${line} + cp ${line} /var/lib/overleaf/${line} + +done diff --git a/docker/develop/download_zip2.js b/docker/develop/download_zip2.js new file mode 100644 index 0000000..c9a2bef --- /dev/null +++ b/docker/develop/download_zip2.js @@ -0,0 +1,159 @@ +const ProjectEntityHandler = require('/overleaf/services/web/app/src/Features/Project/ProjectEntityHandler') +const DocumentUpdaterHandler = require('/overleaf/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterHandler') +const { waitForDb } = require('/overleaf/services/web/app/src/infrastructure/mongodb') +const archiver = require('/overleaf/node_modules/archiver') +const ProjectGetter = require('/overleaf/services/web/app/src/Features/Project/ProjectGetter'); +const settings = require('/overleaf/node_modules/@overleaf/settings') +const fs = require('fs'); +const { promisify } = require('util'); + +async function main() { + // Get command-line arguments + const args = process.argv.slice(2); + if (args.length < 2) { + console.error('Usage: node download_zip_time.js []'); + process.exit(1); + } + + const projectId = args[0]; + const output_filename = args[1]; + let time_filter_active = false; + let referenceDate; + + // Check if reference date parameter was provided + if (args.length >= 3) { + try { + referenceDate = new Date(args[2]); + if (isNaN(referenceDate.getTime())) { + console.error('Error: Invalid date format provided'); + process.exit(1); + } + time_filter_active = true; + } catch (error) { + console.error('Error: Invalid date format provided'); + process.exit(1); + } + } + + try { + await waitForDb(); + + // Flush project to MongoDB + await new Promise((resolve, reject) => { + DocumentUpdaterHandler.flushProjectToMongo(projectId, (error) => { + if (error) process.exit(1); + else resolve(); + }); + }); + + // Get project info + const project_info = await new Promise((resolve, reject) => { + ProjectGetter.getProject(projectId, { + 'overleaf.history.id': true, + }, (error, project) => { + if (error) process.exit(1); + else resolve(project); + }); + }); + + // Get all files + let list_files = await new Promise((resolve, reject) => { + ProjectEntityHandler.getAllFiles(projectId, (error, result) => { + if (error) process.exit(1); + else resolve(result); + }); + }); + + if (time_filter_active) { + list_files = Object.fromEntries( + Object.entries(list_files).filter(([_, value]) => + value.created > referenceDate + ) + ); + } + + // Get all docs + const list_docs = await new Promise((resolve, reject) => { + ProjectEntityHandler.getAllDocs(projectId, (error, result) => { + if (error) process.exit(1); + else resolve(result); + }); + }); + + // Create archive + const archive = archiver('zip', { + zlib: { level: 0 } + }); + + // Create write stream + const output = fs.createWriteStream(output_filename); + + // Set up archive error handling + archive.on('error', err => { + console.log('Archive error:', err); + process.exit(1); + }); + + archive.on('warning', err => { + if (err.code === 'ENOENT') { + console.log('Archive warning:', err); + } + process.exit(1); + }); + + // Create promise for output stream + const outputFinished = new Promise((resolve, reject) => { + output.on('close', resolve); + output.on('error', reject); + }); + + // Pipe archive to output file + archive.pipe(output); + + // Add documents to archive + for (const [path, doc] of Object.entries(list_docs)) { + const cleanPath = path.startsWith('/') ? path.slice(1) : path; + console.log('Adding doc', { path: cleanPath }); + archive.append(doc.lines.join('\n'), { name: cleanPath }); + } + + // Add files to archive using promises + const filePromises = Object.entries(list_files).map(async ([path, file]) => { + const cleanPath = path.startsWith('/') ? path.slice(1) : path; + const file_name_on_disk = `${settings.filestore.stores.user_files}/${projectId}_${file._id}`; + + // Check if file exists before trying to add it + try { + await promisify(fs.access)(file_name_on_disk); + console.log('Adding file', { path: cleanPath }); + return new Promise((resolve, reject) => { + const stream = fs.createReadStream(file_name_on_disk); + stream.on('error', reject); + stream.on('end', resolve); + archive.append(stream, { name: cleanPath }); + }); + } catch (err) { + console.warn(`File not found: ${cleanPath}`, err); + return Promise.resolve(); // Skip this file but continue with others + } + }); + + // Wait for all files to be processed + await Promise.all(filePromises); + + // Finalize the archive + await archive.finalize(); + + // Wait for the output file to be fully written + await outputFinished; + + console.log('Done.'); + process.exit(0); + + } catch (error) { + console.error("An error occurred:", error); + process.exit(1); + } +} + +main(); \ No newline at end of file diff --git a/docker/features/README.md b/docker/features/README.md new file mode 100644 index 0000000..b1d2806 --- /dev/null +++ b/docker/features/README.md @@ -0,0 +1,7 @@ +Here the additional feature patches are placed. + +Make sure that you installed this: + +``` +>> apt -y install python3-pip python3-strictyaml python3-diff-match-patch +``` \ No newline at end of file diff --git a/docker/features/_intern/000_base_config.yaml b/docker/features/_intern/000_base_config.yaml new file mode 100644 index 0000000..04abed4 --- /dev/null +++ b/docker/features/_intern/000_base_config.yaml @@ -0,0 +1,3 @@ +volumes: + - /docker/compose/overleafserver/data:/var/lib/overleaf + - /var/run/docker.sock:/var/run/docker.sock diff --git a/docker/features/_masterfiles/5.2.1/etc/overleaf/env.sh b/docker/features/_masterfiles/5.2.1/etc/overleaf/env.sh new file mode 100644 index 0000000..2dee36a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/etc/overleaf/env.sh @@ -0,0 +1,14 @@ +export CHAT_HOST=127.0.0.1 +export CLSI_HOST=127.0.0.1 +export CONTACTS_HOST=127.0.0.1 +export DOCSTORE_HOST=127.0.0.1 +export DOCUMENT_UPDATER_HOST=127.0.0.1 +export DOCUPDATER_HOST=127.0.0.1 +export FILESTORE_HOST=127.0.0.1 +export HISTORY_V1_HOST=127.0.0.1 +export NOTIFICATIONS_HOST=127.0.0.1 +export PROJECT_HISTORY_HOST=127.0.0.1 +export REALTIME_HOST=127.0.0.1 +export SPELLING_HOST=127.0.0.1 +export WEB_HOST=127.0.0.1 +export WEB_API_HOST=127.0.0.1 diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js b/docker/features/_masterfiles/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js new file mode 100644 index 0000000..d956ee4 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js @@ -0,0 +1,203 @@ +const Path = require('path') +const { promisify } = require('util') +const Settings = require('@overleaf/settings') +const logger = require('@overleaf/logger') +const CommandRunner = require('./CommandRunner') +const fs = require('fs') + +const ProcessTable = {} // table of currently running jobs (pids or docker container names) + +const TIME_V_METRICS = Object.entries({ + 'cpu-percent': /Percent of CPU this job got: (\d+)/m, + 'cpu-time': /User time.*: (\d+.\d+)/m, + 'sys-time': /System time.*: (\d+.\d+)/m, +}) + +const COMPILER_FLAGS = { + latex: '-pdfdvi', + lualatex: '-lualatex', + pdflatex: '-pdf', + xelatex: '-xelatex', +} + +function runLatex(projectId, options, callback) { + const { + directory, + mainFile, + image, + environment, + flags, + compileGroup, + stopOnFirstError, + stats, + timings, + } = options + const compiler = options.compiler || 'pdflatex' + const timeout = options.timeout || 60000 // milliseconds + + logger.debug( + { + directory, + compiler, + timeout, + mainFile, + environment, + flags, + compileGroup, + stopOnFirstError, + }, + 'starting compile' + ) + + let command + try { + command = _buildLatexCommand(mainFile, { + compiler, + stopOnFirstError, + flags, + }) + } catch (err) { + return callback(err) + } + + const id = `${projectId}` // record running project under this id + + ProcessTable[id] = CommandRunner.run( + projectId, + command, + directory, + image, + timeout, + environment, + compileGroup, + function (error, output) { + delete ProcessTable[id] + if (error) { + return callback(error) + } + const runs = + output?.stderr?.match(/^Run number \d+ of .*latex/gm)?.length || 0 + const failed = output?.stdout?.match(/^Latexmk: Errors/m) != null ? 1 : 0 + // counters from latexmk output + stats['latexmk-errors'] = failed + stats['latex-runs'] = runs + stats['latex-runs-with-errors'] = failed ? runs : 0 + stats[`latex-runs-${runs}`] = 1 + stats[`latex-runs-with-errors-${runs}`] = failed ? 1 : 0 + // timing information from /usr/bin/time + const stderr = (output && output.stderr) || '' + if (stderr.includes('Command being timed:')) { + // Add metrics for runs with `$ time -v ...` + for (const [timing, matcher] of TIME_V_METRICS) { + const match = stderr.match(matcher) + if (match) { + timings[timing] = parseFloat(match[1]) + } + } + } + // record output files + _writeLogOutput(projectId, directory, output, () => { + callback(error, output) + }) + } + ) +} + +function _writeLogOutput(projectId, directory, output, callback) { + if (!output) { + return callback() + } + // internal method for writing non-empty log files + function _writeFile(file, content, cb) { + if (content && content.length > 0) { + fs.unlink(file, () => { + fs.writeFile(file, content, { flag: 'wx' }, err => { + if (err) { + // don't fail on error + logger.error({ err, projectId, file }, 'error writing log file') + } + cb() + }) + }) + } else { + cb() + } + } + // write stdout and stderr, ignoring errors + _writeFile(Path.join(directory, 'output.stdout'), output.stdout, () => { + _writeFile(Path.join(directory, 'output.stderr'), output.stderr, () => { + callback() + }) + }) +} + +function killLatex(projectId, callback) { + const id = `${projectId}` + logger.debug({ id }, 'killing running compile') + if (ProcessTable[id] == null) { + logger.warn({ id }, 'no such project to kill') + callback(null) + } else { + CommandRunner.kill(ProcessTable[id], callback) + } +} + +function _buildLatexCommand(mainFile, opts = {}) { + const command = [] + + if (Settings.clsi?.strace) { + command.push('strace', '-o', 'strace', '-ff') + } + + if (Settings.clsi?.latexmkCommandPrefix) { + command.push(...Settings.clsi.latexmkCommandPrefix) + } + + // Basic command and flags + command.push( + 'latexmk', + '-cd', + '-jobname=output', + '-auxdir=$COMPILE_DIR', + '-outdir=$COMPILE_DIR', + '-synctex=1', + '-interaction=batchmode' + ) + + // Stop on first error option + if (opts.stopOnFirstError) { + command.push('-halt-on-error') + } else { + // Run all passes despite errors + command.push('-f') + } + + // Extra flags + if (opts.flags) { + command.push(...opts.flags) + } + + // TeX Engine selection + const compilerFlag = COMPILER_FLAGS[opts.compiler] + if (compilerFlag) { + command.push(compilerFlag) + } else { + throw new Error(`unknown compiler: ${opts.compiler}`) + } + + // We want to run latexmk on the tex file which we will automatically + // generate from the Rtex/Rmd/md file. + mainFile = mainFile.replace(/\.(Rtex|md|Rmd|Rnw)$/, '.tex') + command.push(Path.join('$COMPILE_DIR', mainFile)) + + return command +} + +module.exports = { + runLatex, + killLatex, + promises: { + runLatex: promisify(runLatex), + killLatex: promisify(killLatex), + }, +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js new file mode 100644 index 0000000..0df10e0 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js @@ -0,0 +1,670 @@ +const AuthenticationManager = require('./AuthenticationManager') +const SessionManager = require('./SessionManager') +const OError = require('@overleaf/o-error') +const LoginRateLimiter = require('../Security/LoginRateLimiter') +const UserUpdater = require('../User/UserUpdater') +const Metrics = require('@overleaf/metrics') +const logger = require('@overleaf/logger') +const querystring = require('querystring') +const Settings = require('@overleaf/settings') +const basicAuth = require('basic-auth') +const tsscmp = require('tsscmp') +const UserHandler = require('../User/UserHandler') +const UserSessionsManager = require('../User/UserSessionsManager') +const Analytics = require('../Analytics/AnalyticsManager') +const passport = require('passport') +const NotificationsBuilder = require('../Notifications/NotificationsBuilder') +const UrlHelper = require('../Helpers/UrlHelper') +const AsyncFormHelper = require('../Helpers/AsyncFormHelper') +const _ = require('lodash') +const UserAuditLogHandler = require('../User/UserAuditLogHandler') +const AnalyticsRegistrationSourceHelper = require('../Analytics/AnalyticsRegistrationSourceHelper') +const { + acceptsJson, +} = require('../../infrastructure/RequestContentTypeDetection') +const { hasAdminAccess } = require('../Helpers/AdminAuthorizationHelper') +const Modules = require('../../infrastructure/Modules') +const { expressify, promisify } = require('@overleaf/promise-utils') +const { handleAuthenticateErrors } = require('./AuthenticationErrors') +const EmailHelper = require('../Helpers/EmailHelper') + +function send401WithChallenge(res) { + res.setHeader('WWW-Authenticate', 'OverleafLogin') + res.sendStatus(401) +} + +function checkCredentials(userDetailsMap, user, password) { + const expectedPassword = userDetailsMap.get(user) + const userExists = userDetailsMap.has(user) && expectedPassword // user exists with a non-null password + const isValid = userExists && tsscmp(expectedPassword, password) + if (!isValid) { + logger.err({ user }, 'invalid login details') + } + Metrics.inc('security.http-auth.check-credentials', 1, { + path: userExists ? 'known-user' : 'unknown-user', + status: isValid ? 'pass' : 'fail', + }) + return isValid +} + +function reduceStaffAccess(staffAccess) { + const reducedStaffAccess = {} + for (const field in staffAccess) { + if (staffAccess[field]) { + reducedStaffAccess[field] = true + } + } + return reducedStaffAccess +} + +function userHasStaffAccess(user) { + return user.staffAccess && Object.values(user.staffAccess).includes(true) +} + +// TODO: Finish making these methods async +const AuthenticationController = { + serializeUser(user, callback) { + if (!user._id || !user.email) { + const err = new Error('serializeUser called with non-user object') + logger.warn({ user }, err.message) + return callback(err) + } + const lightUser = { + _id: user._id, + first_name: user.first_name, + last_name: user.last_name, + email: user.email, + referal_id: user.referal_id, + session_created: new Date().toISOString(), + ip_address: user._login_req_ip, + must_reconfirm: user.must_reconfirm, + v1_id: user.overleaf != null ? user.overleaf.id : undefined, + analyticsId: user.analyticsId || user._id, + alphaProgram: user.alphaProgram || undefined, // only store if set + betaProgram: user.betaProgram || undefined, // only store if set + } + if (user.isAdmin) { + lightUser.isAdmin = true + } + if (userHasStaffAccess(user)) { + lightUser.staffAccess = reduceStaffAccess(user.staffAccess) + } + + callback(null, lightUser) + }, + + deserializeUser(user, cb) { + cb(null, user) + }, + + passportLogin(req, res, next) { + // This function is middleware which wraps the passport.authenticate middleware, + // so we can send back our custom `{message: {text: "", type: ""}}` responses on failure, + // and send a `{redir: ""}` response on success + passport.authenticate( + 'local', + { keepSessionInfo: true }, + async function (err, user, info) { + if (err) { + return next(err) + } + if (user) { + // `user` is either a user object or false + AuthenticationController.setAuditInfo(req, { + method: 'Password login', + }) + + try { + // We could investigate whether this can be done together with 'preFinishLogin' instead of being its own hook + await Modules.promises.hooks.fire( + 'saasLogin', + { email: user.email }, + req + ) + await AuthenticationController.promises.finishLogin(user, req, res) + } catch (err) { + return next(err) + } + } else { + if (info.redir != null) { + return res.json({ redir: info.redir }) + } else { + res.status(info.status || 200) + delete info.status + const body = { message: info } + const { errorReason } = info + if (errorReason) { + body.errorReason = errorReason + delete info.errorReason + } + return res.json(body) + } + } + } + )(req, res, next) + }, + + async _finishLoginAsync(user, req, res) { + if (user === false) { + return AsyncFormHelper.redirect(req, res, '/login') + } // OAuth2 'state' mismatch + + if (user.suspended) { + return AsyncFormHelper.redirect(req, res, '/account-suspended') + } + + if (Settings.adminOnlyLogin && !hasAdminAccess(user)) { + return res.status(403).json({ + message: { type: 'error', text: 'Admin only panel' }, + }) + } + + const auditInfo = AuthenticationController.getAuditInfo(req) + + const anonymousAnalyticsId = req.session.analyticsId + const isNewUser = req.session.justRegistered || false + + const results = await Modules.promises.hooks.fire( + 'preFinishLogin', + req, + res, + user + ) + + if (results.some(result => result && result.doNotFinish)) { + return + } + + if (user.must_reconfirm) { + return AuthenticationController._redirectToReconfirmPage(req, res, user) + } + + const redir = + AuthenticationController.getRedirectFromSession(req) || '/project' + + _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) + const userId = user._id + + await UserAuditLogHandler.promises.addEntry( + userId, + 'login', + userId, + req.ip, + auditInfo + ) + + await _afterLoginSessionSetupAsync(req, user) + + AuthenticationController._clearRedirectFromSession(req) + AnalyticsRegistrationSourceHelper.clearSource(req.session) + AnalyticsRegistrationSourceHelper.clearInbound(req.session) + AsyncFormHelper.redirect(req, res, redir) + }, + + finishLogin(user, req, res, next) { + AuthenticationController._finishLoginAsync(user, req, res).catch(err => + next(err) + ) + }, + + async doPassportLogin(req, username, password, done) { + let user, info + try { + ;({ user, info } = await AuthenticationController._doPassportLogin( + req, + username, + password + )) + } catch (error) { + return done(error) + } + return done(undefined, user, info) + }, + + /** + * + * @param req + * @param username + * @param password + * @returns {Promise<{ user: any, info: any}>} + */ + async _doPassportLogin(req, username, password) { + const email = EmailHelper.parseEmail(username) + if (!email) { + Metrics.inc('login_failure_reason', 1, { status: 'invalid_email' }) + return { + user: null, + info: { + status: 400, + type: 'error', + text: req.i18n.translate('email_address_is_invalid'), + }, + } + } + AuthenticationController.setAuditInfo(req, { method: 'Password login' }) + + const { fromKnownDevice } = AuthenticationController.getAuditInfo(req) + const auditLog = { + ipAddress: req.ip, + info: { method: 'Password login', fromKnownDevice }, + } + + let user, isPasswordReused + try { + ;({ user, isPasswordReused } = + await AuthenticationManager.promises.authenticate( + { email }, + password, + auditLog, + { + enforceHIBPCheck: !fromKnownDevice, + } + )) + } catch (error) { + return { + user: false, + info: handleAuthenticateErrors(error, req), + } + } + + if (user && AuthenticationController.captchaRequiredForLogin(req, user)) { + Metrics.inc('login_failure_reason', 1, { status: 'captcha_missing' }) + return { + user: false, + info: { + text: req.i18n.translate('cannot_verify_user_not_robot'), + type: 'error', + errorReason: 'cannot_verify_user_not_robot', + status: 400, + }, + } + } else if (user) { + if ( + isPasswordReused && + AuthenticationController.getRedirectFromSession(req) == null + ) { + AuthenticationController.setRedirectInSession( + req, + '/compromised-password' + ) + } + + // async actions + return { user, info: undefined } + } else { + Metrics.inc('login_failure_reason', 1, { status: 'password_invalid' }) + AuthenticationController._recordFailedLogin() + logger.debug({ email }, 'failed log in') + return { + user: false, + info: { + type: 'error', + key: 'invalid-password-retry-or-reset', + status: 401, + }, + } + } + }, + + captchaRequiredForLogin(req, user) { + switch (AuthenticationController.getAuditInfo(req).captcha) { + case 'trusted': + case 'disabled': + return false + case 'solved': + return false + case 'skipped': { + let required = false + if (user.lastFailedLogin) { + const requireCaptchaUntil = + user.lastFailedLogin.getTime() + + Settings.elevateAccountSecurityAfterFailedLogin + required = requireCaptchaUntil >= Date.now() + } + Metrics.inc('force_captcha_on_login', 1, { + status: required ? 'yes' : 'no', + }) + return required + } + default: + throw new Error('captcha middleware missing in handler chain') + } + }, + + ipMatchCheck(req, user) { + if (req.ip !== user.lastLoginIp) { + NotificationsBuilder.ipMatcherAffiliation(user._id).create( + req.ip, + () => {} + ) + } + return UserUpdater.updateUser( + user._id.toString(), + { + $set: { lastLoginIp: req.ip }, + }, + () => {} + ) + }, + + requireLogin() { + const doRequest = function (req, res, next) { + if (next == null) { + next = function () {} + } + if (!SessionManager.isUserLoggedIn(req.session)) { + if (acceptsJson(req)) return send401WithChallenge(res) + return AuthenticationController._redirectToLoginOrRegisterPage(req, res) + } else { + req.user = SessionManager.getSessionUser(req.session) + return next() + } + } + + return doRequest + }, + + /** + * @param {string} scope + * @return {import('express').Handler} + */ + requireOauth(scope) { + if (typeof scope !== 'string' || !scope) { + throw new Error( + "requireOauth() expects a non-empty string as 'scope' parameter" + ) + } + + // require this here because module may not be included in some versions + const Oauth2Server = require('../../../../modules/oauth2-server/app/src/Oauth2Server') + const middleware = async (req, res, next) => { + const request = new Oauth2Server.Request(req) + const response = new Oauth2Server.Response(res) + try { + const token = await Oauth2Server.server.authenticate( + request, + response, + { scope } + ) + req.oauth = { access_token: token.accessToken } + req.oauth_token = token + req.oauth_user = token.user + next() + } catch (err) { + if ( + err.code === 400 && + err.message === 'Invalid request: malformed authorization header' + ) { + err.code = 401 + } + // send all other errors + res + .status(err.code) + .json({ error: err.name, error_description: err.message }) + } + } + return expressify(middleware) + }, + + _globalLoginWhitelist: [], + addEndpointToLoginWhitelist(endpoint) { + return AuthenticationController._globalLoginWhitelist.push(endpoint) + }, + + requireGlobalLogin(req, res, next) { + if ( + AuthenticationController._globalLoginWhitelist.includes( + req._parsedUrl.pathname + ) + ) { + return next() + } + + if (req.headers.authorization != null) { + AuthenticationController.requirePrivateApiAuth()(req, res, next) + } else if (SessionManager.isUserLoggedIn(req.session)) { + next() + } else { + logger.debug( + { url: req.url }, + 'user trying to access endpoint not in global whitelist' + ) + if (acceptsJson(req)) return send401WithChallenge(res) + AuthenticationController.setRedirectInSession(req) + res.redirect('/login') + } + }, + + validateAdmin(req, res, next) { + const adminDomains = Settings.adminDomains + if ( + !adminDomains || + !(Array.isArray(adminDomains) && adminDomains.length) + ) { + return next() + } + const user = SessionManager.getSessionUser(req.session) + if (!hasAdminAccess(user)) { + return next() + } + const email = user.email + if (email == null) { + return next( + new OError('[ValidateAdmin] Admin user without email address', { + userId: user._id, + }) + ) + } + if (!adminDomains.find(domain => email.endsWith(`@${domain}`))) { + return next( + new OError('[ValidateAdmin] Admin user with invalid email domain', { + email, + userId: user._id, + }) + ) + } + return next() + }, + + checkCredentials, + + requireBasicAuth: function (userDetails) { + const userDetailsMap = new Map(Object.entries(userDetails)) + return function (req, res, next) { + const credentials = basicAuth(req) + if ( + !credentials || + !checkCredentials(userDetailsMap, credentials.name, credentials.pass) + ) { + send401WithChallenge(res) + Metrics.inc('security.http-auth', 1, { status: 'reject' }) + } else { + Metrics.inc('security.http-auth', 1, { status: 'accept' }) + next() + } + } + }, + + requirePrivateApiAuth() { + return AuthenticationController.requireBasicAuth(Settings.httpAuthUsers) + }, + + setAuditInfo(req, info) { + if (!req.__authAuditInfo) { + req.__authAuditInfo = {} + } + Object.assign(req.__authAuditInfo, info) + }, + + getAuditInfo(req) { + return req.__authAuditInfo || {} + }, + + setRedirectInSession(req, value) { + if (value == null) { + value = + Object.keys(req.query).length > 0 + ? `${req.path}?${querystring.stringify(req.query)}` + : `${req.path}` + } + if ( + req.session != null && + !/^\/(socket.io|js|stylesheets|img)\/.*$/.test(value) && + !/^.*\.(png|jpeg|svg)$/.test(value) + ) { + const safePath = UrlHelper.getSafeRedirectPath(value) + return (req.session.postLoginRedirect = safePath) + } + }, + + _redirectToLoginOrRegisterPage(req, res) { + if ( + req.query.zipUrl != null || + req.session.sharedProjectData || + req.path === '/user/subscription/new' + ) { + AuthenticationController._redirectToRegisterPage(req, res) + } else { + AuthenticationController._redirectToLoginPage(req, res) + } + }, + + _redirectToLoginPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to login page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/login?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _redirectToReconfirmPage(req, res, user) { + logger.debug( + { url: req.url }, + 'user needs to reconfirm so redirecting to reconfirm page' + ) + req.session.reconfirm_email = user != null ? user.email : undefined + const redir = '/user/reconfirm' + AsyncFormHelper.redirect(req, res, redir) + }, + + _redirectToRegisterPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to register page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/register?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _recordSuccessfulLogin(userId, callback) { + if (callback == null) { + callback = function () {} + } + UserUpdater.updateUser( + userId.toString(), + { + $set: { lastLoggedIn: new Date() }, + $inc: { loginCount: 1 }, + }, + function (error) { + if (error != null) { + callback(error) + } + Metrics.inc('user.login.success') + callback() + } + ) + }, + + _recordFailedLogin(callback) { + Metrics.inc('user.login.failed') + if (callback) callback() + }, + + getRedirectFromSession(req) { + let safePath + const value = _.get(req, ['session', 'postLoginRedirect']) + if (value) { + safePath = UrlHelper.getSafeRedirectPath(value) + } + return safePath || null + }, + + _clearRedirectFromSession(req) { + if (req.session != null) { + delete req.session.postLoginRedirect + } + }, +} + +function _afterLoginSessionSetup(req, user, callback) { + req.login(user, { keepSessionInfo: true }, function (err) { + if (err) { + OError.tag(err, 'error from req.login', { + user_id: user._id, + }) + return callback(err) + } + delete req.session.__tmp + delete req.session.csrfSecret + req.session.save(function (err) { + if (err) { + OError.tag(err, 'error saving regenerated session after login', { + user_id: user._id, + }) + return callback(err) + } + UserSessionsManager.trackSession(user, req.sessionID, function () {}) + if (!req.deviceHistory) { + // Captcha disabled or SSO-based login. + return callback() + } + req.deviceHistory.add(user.email) + req.deviceHistory + .serialize(req.res) + .catch(err => { + logger.err({ err }, 'cannot serialize deviceHistory') + }) + .finally(() => callback()) + }) + }) +} + +const _afterLoginSessionSetupAsync = promisify(_afterLoginSessionSetup) + +function _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) { + UserHandler.populateTeamInvites(user, err => { + if (err != null) { + logger.warn({ err }, 'error setting up login data') + } + }) + LoginRateLimiter.recordSuccessfulLogin(user.email, () => {}) + AuthenticationController._recordSuccessfulLogin(user._id, () => {}) + AuthenticationController.ipMatchCheck(req, user) + Analytics.recordEventForUserInBackground(user._id, 'user-logged-in', { + source: req.session.saml + ? 'saml' + : req.user_info?.auth_provider || 'email-password', + }) + Analytics.identifyUser(user._id, anonymousAnalyticsId, isNewUser) + + logger.debug( + { email: user.email, userId: user._id.toString() }, + 'successful log in' + ) + + req.session.justLoggedIn = true + // capture the request ip for use when creating the session + return (user._login_req_ip = req.ip) +} + +AuthenticationController.promises = { + finishLogin: AuthenticationController._finishLoginAsync, +} + +module.exports = AuthenticationController diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js new file mode 100644 index 0000000..17c2513 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js @@ -0,0 +1,147 @@ +let ProjectEditorHandler +const _ = require('lodash') +const Path = require('path') + +function mergeDeletedDocs(a, b) { + const docIdsInA = new Set(a.map(doc => doc._id.toString())) + return a.concat(b.filter(doc => !docIdsInA.has(doc._id.toString()))) +} + +module.exports = ProjectEditorHandler = { + trackChangesAvailable: false, + + buildProjectModelView(project, members, invites, deletedDocsFromDocstore) { + let owner, ownerFeatures + if (!Array.isArray(project.deletedDocs)) { + project.deletedDocs = [] + } + project.deletedDocs.forEach(doc => { + // The frontend does not use this field. + delete doc.deletedAt + }) + const result = { + _id: project._id, + name: project.name, + rootDoc_id: project.rootDoc_id, + rootFolder: [this.buildFolderModelView(project.rootFolder[0])], + publicAccesLevel: project.publicAccesLevel, + dropboxEnabled: !!project.existsInDropbox, + compiler: project.compiler, + description: project.description, + spellCheckLanguage: project.spellCheckLanguage, + deletedByExternalDataSource: project.deletedByExternalDataSource || false, + deletedDocs: mergeDeletedDocs( + project.deletedDocs, + deletedDocsFromDocstore + ), + members: [], + invites: this.buildInvitesView(invites), + imageName: + project.imageName != null + ? Path.basename(project.imageName) + : undefined, + } + + ;({ owner, ownerFeatures, members } = + this.buildOwnerAndMembersViews(members)) + result.owner = owner + result.members = members + + result.features = _.defaults(ownerFeatures || {}, { + collaborators: -1, // Infinite + versioning: false, + dropbox: false, + compileTimeout: 60, + compileGroup: 'standard', + templates: false, + references: false, + referencesSearch: false, + mendeley: false, + trackChanges: false, + trackChangesVisible: ProjectEditorHandler.trackChangesAvailable, + symbolPalette: false, + }) + + if (result.features.trackChanges) { + result.trackChangesState = project.track_changes || false + } + + // Originally these two feature flags were both signalled by the now-deprecated `references` flag. + // For older users, the presence of the `references` feature flag should still turn on these features. + result.features.referencesSearch = + result.features.referencesSearch || result.features.references + result.features.mendeley = + result.features.mendeley || result.features.references + + return result + }, + + buildOwnerAndMembersViews(members) { + let owner = null + let ownerFeatures = null + const filteredMembers = [] + for (const member of members || []) { + if (member.privilegeLevel === 'owner') { + ownerFeatures = member.user.features + owner = this.buildUserModelView(member) + } else { + filteredMembers.push(this.buildUserModelView(member)) + } + } + return { + owner, + ownerFeatures, + members: filteredMembers, + } + }, + + buildUserModelView(member) { + const user = member.user + return { + _id: user._id, + first_name: user.first_name, + last_name: user.last_name, + email: user.email, + privileges: member.privilegeLevel, + signUpDate: user.signUpDate, + pendingEditor: member.pendingEditor, + } + }, + + buildFolderModelView(folder) { + const fileRefs = _.filter(folder.fileRefs || [], file => file != null) + return { + _id: folder._id, + name: folder.name, + folders: (folder.folders || []).map(childFolder => + this.buildFolderModelView(childFolder) + ), + fileRefs: fileRefs.map(file => this.buildFileModelView(file)), + docs: (folder.docs || []).map(doc => this.buildDocModelView(doc)), + } + }, + + buildFileModelView(file) { + return { + _id: file._id, + name: file.name, + linkedFileData: file.linkedFileData, + created: file.created, + hash: file.hash, + } + }, + + buildDocModelView(doc) { + return { + _id: doc._id, + name: doc.name, + } + }, + + buildInvitesView(invites) { + if (invites == null) { + return [] + } + return invites.map(invite => _.pick(invite, ['_id', 'email', 'privileges'])) + }, +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js new file mode 100644 index 0000000..93d541e --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js @@ -0,0 +1,769 @@ +// ts-check +const _ = require('lodash') +const Metrics = require('@overleaf/metrics') +const Settings = require('@overleaf/settings') +const ProjectHelper = require('./ProjectHelper') +const ProjectGetter = require('./ProjectGetter') +const PrivilegeLevels = require('../Authorization/PrivilegeLevels') +const SessionManager = require('../Authentication/SessionManager') +const Sources = require('../Authorization/Sources') +const UserGetter = require('../User/UserGetter') +const SurveyHandler = require('../Survey/SurveyHandler') +const TagsHandler = require('../Tags/TagsHandler') +const { expressify } = require('@overleaf/promise-utils') +const logger = require('@overleaf/logger') +const Features = require('../../infrastructure/Features') +const SubscriptionViewModelBuilder = require('../Subscription/SubscriptionViewModelBuilder') +const NotificationsHandler = require('../Notifications/NotificationsHandler') +const Modules = require('../../infrastructure/Modules') +const { OError, V1ConnectionError } = require('../Errors/Errors') +const { User } = require('../../models/User') +const UserPrimaryEmailCheckHandler = require('../User/UserPrimaryEmailCheckHandler') +const UserController = require('../User/UserController') +const LimitationsManager = require('../Subscription/LimitationsManager') +const NotificationsBuilder = require('../Notifications/NotificationsBuilder') +const GeoIpLookup = require('../../infrastructure/GeoIpLookup') +const SplitTestHandler = require('../SplitTests/SplitTestHandler') +const SplitTestSessionHandler = require('../SplitTests/SplitTestSessionHandler') +const SubscriptionLocator = require('../Subscription/SubscriptionLocator') +const TutorialHandler = require('../Tutorial/TutorialHandler') + +/** + * @import { GetProjectsRequest, GetProjectsResponse, AllUsersProjects, MongoProject } from "./types" + * @import { ProjectApi, Filters, Page, Sort } from "../../../../types/project/dashboard/api" + * @import { Tag } from "../Tags/types" + */ + +const _ssoAvailable = (affiliation, session, linkedInstitutionIds) => { + if (!affiliation.institution) return false + + // institution.confirmed is for the domain being confirmed, not the email + // Do not show SSO UI for unconfirmed domains + if (!affiliation.institution.confirmed) return false + + // Could have multiple emails at the same institution, and if any are + // linked to the institution then do not show notification for others + if ( + linkedInstitutionIds.indexOf(affiliation.institution.id.toString()) === -1 + ) { + if (affiliation.institution.ssoEnabled) return true + if (affiliation.institution.ssoBeta && session.samlBeta) return true + return false + } + return false +} + +const _buildPortalTemplatesList = affiliations => { + if (affiliations == null) { + affiliations = [] + } + + const portalTemplates = [] + const uniqueAffiliations = _.uniqBy(affiliations, 'institution.id') + for (const aff of uniqueAffiliations) { + const hasSlug = aff.portal?.slug + const hasTemplates = aff.portal?.templates_count > 0 + + if (hasSlug && hasTemplates) { + const portalPath = aff.institution.isUniversity ? '/edu/' : '/org/' + const portalTemplateURL = Settings.siteUrl + portalPath + aff.portal?.slug + + portalTemplates.push({ + name: aff.institution.name, + url: portalTemplateURL, + }) + } + } + return portalTemplates +} + +function cleanupSession(req) { + // cleanup redirects at the end of the redirect chain + delete req.session.postCheckoutRedirect + delete req.session.postLoginRedirect + delete req.session.postOnboardingRedirect + + // cleanup details from register page + delete req.session.sharedProjectData + delete req.session.templateData +} + +/** + * @param {import("express").Request} req + * @param {import("express").Response} res + * @param {import("express").NextFunction} next + * @returns {Promise} + */ +async function projectListPage(req, res, next) { + cleanupSession(req) + + // can have two values: + // - undefined - when there's no "saas" feature or couldn't get subscription data + // - object - the subscription data object + let usersBestSubscription + let survey + let userIsMemberOfGroupSubscription = false + let groupSubscriptionsPendingEnrollment = [] + + const isSaas = Features.hasFeature('saas') + + const userId = SessionManager.getLoggedInUserId(req.session) + const projectsBlobPending = _getProjects(userId).catch(err => { + logger.err({ err, userId }, 'projects listing in background failed') + return undefined + }) + const user = await User.findById( + userId, + `email emails features alphaProgram betaProgram lastPrimaryEmailCheck labsProgram signUpDate${ + isSaas ? ' enrollment writefull completedTutorials' : '' + }` + ) + + // Handle case of deleted user + if (user == null) { + UserController.logout(req, res, next) + return + } + + if (isSaas) { + await SplitTestSessionHandler.promises.sessionMaintenance(req, user) + + try { + usersBestSubscription = + await SubscriptionViewModelBuilder.promises.getBestSubscription({ + _id: userId, + }) + } catch (error) { + logger.err( + { err: error, userId }, + "Failed to get user's best subscription" + ) + } + try { + const { isMember, subscriptions } = + await LimitationsManager.promises.userIsMemberOfGroupSubscription(user) + + userIsMemberOfGroupSubscription = isMember + + // TODO use helper function + if (!user.enrollment?.managedBy) { + groupSubscriptionsPendingEnrollment = subscriptions.filter( + subscription => subscription.groupPlan && subscription.groupPolicy + ) + } + } catch (error) { + logger.error( + { err: error }, + 'Failed to check whether user is a member of group subscription' + ) + } + + try { + survey = await SurveyHandler.promises.getSurvey(userId) + } catch (error) { + logger.err({ err: error, userId }, 'Failed to load the active survey') + } + + if (user && UserPrimaryEmailCheckHandler.requiresPrimaryEmailCheck(user)) { + return res.redirect('/user/emails/primary-email-check') + } + } else { + if (!process.env.OVERLEAF_IS_SERVER_PRO) { + // temporary survey for CE: https://github.com/overleaf/internal/issues/19710 + survey = { + name: 'ce-survey', + preText: 'Help us improve Overleaf', + linkText: 'by filling out this quick survey', + url: 'https://docs.google.com/forms/d/e/1FAIpQLSdPAS-731yaLOvRM8HW7j6gVeOpcmB_X5A5qwgNJT7Oj09lLA/viewform?usp=sf_link', + } + } + } + + const tags = await TagsHandler.promises.getAllTags(userId) + + let userEmailsData = { list: [], allInReconfirmNotificationPeriods: [] } + + try { + const fullEmails = await UserGetter.promises.getUserFullEmails(userId) + + if (!Features.hasFeature('affiliations')) { + userEmailsData.list = fullEmails + } else { + try { + const results = await Modules.promises.hooks.fire( + 'allInReconfirmNotificationPeriodsForUser', + fullEmails + ) + + const allInReconfirmNotificationPeriods = (results && results[0]) || [] + + userEmailsData = { + list: fullEmails, + allInReconfirmNotificationPeriods, + } + } catch (error) { + userEmailsData = error + } + } + } catch (error) { + if (!(error instanceof V1ConnectionError)) { + logger.error({ err: error, userId }, 'Failed to get user full emails') + } + } + + const userEmails = userEmailsData.list || [] + + const userAffiliations = userEmails + .filter(emailData => !!emailData.affiliation) + .map(emailData => { + const result = emailData.affiliation + result.email = emailData.email + return result + }) + + const portalTemplates = _buildPortalTemplatesList(userAffiliations) + + const { allInReconfirmNotificationPeriods } = userEmailsData + + const notifications = + await NotificationsHandler.promises.getUserNotifications(userId) + + for (const notification of notifications) { + notification.html = req.i18n.translate( + notification.templateKey, + notification.messageOpts + ) + } + + const notificationsInstitution = [] + // Institution and group SSO Notifications + let groupSsoSetupSuccess + let reconfirmedViaSAML + if (Features.hasFeature('saml')) { + reconfirmedViaSAML = _.get(req.session, ['saml', 'reconfirmed']) + const samlSession = req.session.saml + // Notification: SSO Available + const linkedInstitutionIds = [] + userEmails.forEach(email => { + if (email.samlProviderId) { + linkedInstitutionIds.push(email.samlProviderId) + } + }) + if (Array.isArray(userAffiliations)) { + userAffiliations.forEach(affiliation => { + if (_ssoAvailable(affiliation, req.session, linkedInstitutionIds)) { + notificationsInstitution.push({ + email: affiliation.email, + institutionId: affiliation.institution.id, + institutionName: affiliation.institution.name, + templateKey: 'notification_institution_sso_available', + }) + } + }) + } + + if (samlSession) { + // Notification institution SSO: After SSO Linked + if (samlSession.linked) { + notificationsInstitution.push({ + email: samlSession.institutionEmail, + institutionName: + samlSession.linked.universityName || + samlSession.linked.providerName, + templateKey: 'notification_institution_sso_linked', + }) + } + + // Notification group SSO: After SSO Linked + if (samlSession.linkedGroup) { + groupSsoSetupSuccess = true + } + + // Notification institution SSO: After SSO Linked or Logging in + // The requested email does not match primary email returned from + // the institution + if ( + samlSession.requestedEmail && + samlSession.emailNonCanonical && + !samlSession.error + ) { + notificationsInstitution.push({ + institutionEmail: samlSession.emailNonCanonical, + requestedEmail: samlSession.requestedEmail, + templateKey: 'notification_institution_sso_non_canonical', + }) + } + + // Notification institution SSO: Tried to register, but account already existed + // registerIntercept is set before the institution callback. + // institutionEmail is set after institution callback. + // Check for both in case SSO flow was abandoned + if ( + samlSession.registerIntercept && + samlSession.institutionEmail && + !samlSession.error + ) { + notificationsInstitution.push({ + email: samlSession.institutionEmail, + templateKey: 'notification_institution_sso_already_registered', + }) + } + + // Notification: When there is a session error + if (samlSession.error) { + notificationsInstitution.push({ + templateKey: 'notification_institution_sso_error', + error: samlSession.error, + }) + } + } + delete req.session.saml + } + + function fakeDelay() { + return new Promise(resolve => { + setTimeout(() => resolve(undefined), 0) + }) + } + + const prefetchedProjectsBlob = await Promise.race([ + projectsBlobPending, + fakeDelay(), + ]) + Metrics.inc('project-list-prefetch-projects', 1, { + status: prefetchedProjectsBlob ? 'success' : 'too-slow', + }) + + // in v2 add notifications for matching university IPs + if (Settings.overleaf != null && req.ip !== user.lastLoginIp) { + try { + await NotificationsBuilder.promises + .ipMatcherAffiliation(user._id) + .create(req.ip) + } catch (err) { + logger.error( + { err }, + 'failed to create institutional IP match notification' + ) + } + } + + const hasPaidAffiliation = userAffiliations.some( + affiliation => affiliation.licence && affiliation.licence !== 'free' + ) + + const inactiveTutorials = TutorialHandler.getInactiveTutorials(user) + + const usGovBannerHooksResponse = await Modules.promises.hooks.fire( + 'getUSGovBanner', + userEmails, + hasPaidAffiliation, + inactiveTutorials.includes('us-gov-banner') + ) + + const usGovBanner = (usGovBannerHooksResponse && + usGovBannerHooksResponse[0]) || { + showUSGovBanner: false, + usGovBannerVariant: null, + } + + const { showUSGovBanner, usGovBannerVariant } = usGovBanner + + const showGroupsAndEnterpriseBanner = + Features.hasFeature('saas') && + !showUSGovBanner && + !userIsMemberOfGroupSubscription && + !hasPaidAffiliation + + const groupsAndEnterpriseBannerVariant = + showGroupsAndEnterpriseBanner && + _.sample(['on-premise', 'FOMO', 'FOMO', 'FOMO']) + + let showWritefullPromoBanner = false + if (Features.hasFeature('saas') && !req.session.justRegistered) { + try { + const { variant } = await SplitTestHandler.promises.getAssignment( + req, + res, + 'writefull-promo-banner' + ) + showWritefullPromoBanner = variant === 'enabled' + } catch (error) { + logger.warn( + { err: error }, + 'failed to get "writefull-promo-banner" split test assignment' + ) + } + } + + let showInrGeoBanner = false + let showBrlGeoBanner = false + let showLATAMBanner = false + let recommendedCurrency + + if (usersBestSubscription?.type === 'free') { + const latamGeoPricingAssignment = + await SplitTestHandler.promises.getAssignment( + req, + res, + 'geo-pricing-latam-v2' + ) + + const { countryCode, currencyCode } = + await GeoIpLookup.promises.getCurrencyCode(req.ip) + + if (countryCode === 'IN') { + showInrGeoBanner = true + } + showBrlGeoBanner = countryCode === 'BR' + + showLATAMBanner = + latamGeoPricingAssignment.variant === 'latam' && + ['MX', 'CO', 'CL', 'PE'].includes(countryCode) + // LATAM Banner needs to know which currency to display + if (showLATAMBanner) { + recommendedCurrency = currencyCode + } + } + + let hasIndividualRecurlySubscription = false + + try { + const individualSubscription = + await SubscriptionLocator.promises.getUsersSubscription(userId) + + hasIndividualRecurlySubscription = + individualSubscription?.groupPlan === false && + individualSubscription?.recurlyStatus?.state !== 'canceled' && + individualSubscription?.recurlySubscription_id !== '' + } catch (error) { + logger.error({ err: error }, 'Failed to get individual subscription') + } + + try { + await SplitTestHandler.promises.getAssignment(req, res, 'paywall-cta') + } catch (error) { + logger.error( + { err: error }, + 'failed to get "paywall-cta" split test assignment' + ) + } + + // Get the user's assignment for this page's Bootstrap 5 split test, which + // populates splitTestVariants with a value for the split test name and allows + // Pug to read it + await SplitTestHandler.promises.getAssignment( + req, + res, + 'bootstrap-5-project-dashboard' + ) + + res.render('project/list-react', { + title: 'your_projects', + usersBestSubscription, + notifications, + notificationsInstitution, + user, + userAffiliations, + userEmails, + reconfirmedViaSAML, + allInReconfirmNotificationPeriods, + survey, + tags, + portalTemplates, + prefetchedProjectsBlob, + showGroupsAndEnterpriseBanner, + groupsAndEnterpriseBannerVariant, + showUSGovBanner, + usGovBannerVariant, + showWritefullPromoBanner, + showLATAMBanner, + recommendedCurrency, + showInrGeoBanner, + showBrlGeoBanner, + projectDashboardReact: true, // used in navbar + groupSsoSetupSuccess, + groupSubscriptionsPendingEnrollment: + groupSubscriptionsPendingEnrollment.map(subscription => ({ + groupId: subscription._id, + groupName: subscription.teamName, + })), + hasIndividualRecurlySubscription, + userRestrictions: Array.from(req.userRestrictions || []), + }) +} + +/** + * Load user's projects with pagination, sorting and filters + * + * @param {GetProjectsRequest} req the request + * @param {GetProjectsResponse} res the response + * @returns {Promise} + */ +async function getProjectsJson(req, res) { + const { filters, page, sort } = req.body + const userId = SessionManager.getLoggedInUserId(req.session) + const projectsPage = await _getProjects(userId, filters, sort, page) + res.json(projectsPage) +} + +/** + * @param {string} userId + * @param {Filters} filters + * @param {Sort} sort + * @param {Page} page + * @returns {Promise<{totalSize: number, projects: ProjectApi[]}>} + * @private + */ +async function _getProjects( + userId, + filters = {}, + sort = { by: 'lastUpdated', order: 'desc' }, + page = { size: 20 } +) { + const [ + /** @type {AllUsersProjects} **/ allProjects, + /** @type {Tag[]} **/ tags, + ] = await Promise.all([ + ProjectGetter.promises.findAllUsersProjects( + userId, + 'name lastUpdated lastUpdatedBy publicAccesLevel archived trashed owner_ref tokens' + ), + TagsHandler.promises.getAllTags(userId), + ]) + const formattedProjects = _formatProjects(allProjects, userId) + const filteredProjects = _applyFilters( + formattedProjects, + tags, + filters, + userId + ) + const pagedProjects = _sortAndPaginate(filteredProjects, sort, page) + + await _injectProjectUsers(pagedProjects) + + return { + totalSize: filteredProjects.length, + projects: pagedProjects, + } +} + +/** + * @param {AllUsersProjects} projects + * @param {string} userId + * @returns {Project[]} + * @private + */ +function _formatProjects(projects, userId) { + const { owned, readAndWrite, readOnly, tokenReadAndWrite, tokenReadOnly } = + projects + + const formattedProjects = /** @type {Project[]} **/ [] + for (const project of owned) { + formattedProjects.push( + _formatProjectInfo(project, 'owner', Sources.OWNER, userId) + ) + } + // Invite-access + for (const project of readAndWrite) { + formattedProjects.push( + _formatProjectInfo(project, 'readWrite', Sources.INVITE, userId) + ) + } + for (const project of readOnly) { + formattedProjects.push( + _formatProjectInfo(project, 'readOnly', Sources.INVITE, userId) + ) + } + // Token-access + // Only add these formattedProjects if they're not already present, this gives us cascading access + // from 'owner' => 'token-read-only' + for (const project of tokenReadAndWrite) { + if (!formattedProjects.some(p => p.id === project._id.toString())) { + formattedProjects.push( + _formatProjectInfo(project, 'readAndWrite', Sources.TOKEN, userId) + ) + } + } + for (const project of tokenReadOnly) { + if (!formattedProjects.some(p => p.id === project._id.toString())) { + formattedProjects.push( + _formatProjectInfo(project, 'readOnly', Sources.TOKEN, userId) + ) + } + } + + return formattedProjects +} + +/** + * @param {Project[]} projects + * @param {Tag[]} tags + * @param {Filters} filters + * @param {string} userId + * @returns {Project[]} + * @private + */ +function _applyFilters(projects, tags, filters, userId) { + if (!_hasActiveFilter(filters)) { + return projects + } + return projects.filter(project => _matchesFilters(project, tags, filters)) +} + +/** + * @param {Project[]} projects + * @param {Sort} sort + * @param {Page} page + * @returns {Project[]} + * @private + */ +function _sortAndPaginate(projects, sort, page) { + if ( + (sort.by && !['lastUpdated', 'title', 'owner'].includes(sort.by)) || + (sort.order && !['asc', 'desc'].includes(sort.order)) + ) { + throw new OError('Invalid sorting criteria', { sort }) + } + const sortedProjects = _.orderBy( + projects, + [sort.by || 'lastUpdated'], + [sort.order || 'desc'] + ) + // TODO handle pagination + return sortedProjects +} + +/** + * @param {MongoProject} project + * @param {string} accessLevel + * @param {'owner' | 'invite' | 'token'} source + * @param {string} userId + * @returns {object} + * @private + */ +function _formatProjectInfo(project, accessLevel, source, userId) { + const archived = ProjectHelper.isArchived(project, userId) + // If a project is simultaneously trashed and archived, we will consider it archived but not trashed. + const trashed = ProjectHelper.isTrashed(project, userId) && !archived + + const model = { + id: project._id.toString(), + name: project.name, + owner_ref: project.owner_ref, + lastUpdated: project.lastUpdated, + lastUpdatedBy: project.lastUpdatedBy, + accessLevel, + source, + archived, + trashed, + } + if (accessLevel === PrivilegeLevels.READ_ONLY && source === Sources.TOKEN) { + model.owner_ref = null + model.lastUpdatedBy = null + } + return model +} + +/** + * @param {Project[]} projects + * @returns {Promise} + * @private + */ +async function _injectProjectUsers(projects) { + const userIds = new Set() + for (const project of projects) { + if (project.owner_ref != null) { + userIds.add(project.owner_ref.toString()) + } + if (project.lastUpdatedBy != null) { + userIds.add(project.lastUpdatedBy.toString()) + } + } + + const projection = { + first_name: 1, + last_name: 1, + email: 1, + } + const users = {} + for (const user of await UserGetter.promises.getUsers(userIds, projection)) { + const userId = user._id.toString() + users[userId] = { + id: userId, + email: user.email, + firstName: user.first_name, + lastName: user.last_name, + } + } + for (const project of projects) { + if (project.owner_ref != null) { + project.owner = users[project.owner_ref.toString()] + } + if (project.lastUpdatedBy != null) { + project.lastUpdatedBy = users[project.lastUpdatedBy.toString()] || null + } + + delete project.owner_ref + } +} + +/** + * @param {any} project + * @param {Tag[]} tags + * @param {Filters} filters + * @private + */ +function _matchesFilters(project, tags, filters) { + if (filters.ownedByUser && project.accessLevel !== 'owner') { + return false + } + if (filters.sharedWithUser && project.accessLevel === 'owner') { + return false + } + if (filters.archived && !project.archived) { + return false + } + if (filters.trashed && !project.trashed) { + return false + } + if ( + filters.tag && + !_.find( + tags, + tag => + filters.tag === tag.name && (tag.project_ids || []).includes(project.id) + ) + ) { + return false + } + if ( + filters.search?.length && + project.name.toLowerCase().indexOf(filters.search.toLowerCase()) === -1 + ) { + return false + } + return true +} + +/** + * @param {Filters} filters + * @returns {boolean} + * @private + */ +function _hasActiveFilter(filters) { + return ( + filters.ownedByUser || + filters.sharedWithUser || + filters.archived || + filters.trashed || + filters.tag === null || + filters.tag?.length || + filters.search?.length + ) +} + +module.exports = { + projectListPage: expressify(projectListPage), + getProjectsJson: expressify(getProjectsJson), +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js new file mode 100644 index 0000000..0f7564a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js @@ -0,0 +1,327 @@ +const UserGetter = require('./UserGetter') +const OError = require('@overleaf/o-error') +const UserSessionsManager = require('./UserSessionsManager') +const logger = require('@overleaf/logger') +const Settings = require('@overleaf/settings') +const AuthenticationController = require('../Authentication/AuthenticationController') +const SessionManager = require('../Authentication/SessionManager') +const NewsletterManager = require('../Newsletter/NewsletterManager') +const SubscriptionLocator = require('../Subscription/SubscriptionLocator') +const _ = require('lodash') +const { expressify } = require('@overleaf/promise-utils') +const Features = require('../../infrastructure/Features') +const SplitTestHandler = require('../SplitTests/SplitTestHandler') +const Modules = require('../../infrastructure/Modules') + +async function settingsPage(req, res) { + const userId = SessionManager.getLoggedInUserId(req.session) + const reconfirmationRemoveEmail = req.query.remove + // SSO + const ssoError = req.session.ssoError + if (ssoError) { + delete req.session.ssoError + } + const ssoErrorMessage = req.session.ssoErrorMessage + if (ssoErrorMessage) { + delete req.session.ssoErrorMessage + } + const projectSyncSuccessMessage = req.session.projectSyncSuccessMessage + if (projectSyncSuccessMessage) { + delete req.session.projectSyncSuccessMessage + } + // Institution SSO + let institutionLinked = _.get(req.session, ['saml', 'linked']) + if (institutionLinked) { + // copy object if exists because _.get does not + institutionLinked = Object.assign( + { + hasEntitlement: _.get(req.session, ['saml', 'hasEntitlement']), + }, + institutionLinked + ) + } + const samlError = _.get(req.session, ['saml', 'error']) + const institutionEmailNonCanonical = _.get(req.session, [ + 'saml', + 'emailNonCanonical', + ]) + const institutionRequestedEmail = _.get(req.session, [ + 'saml', + 'requestedEmail', + ]) + + const reconfirmedViaSAML = _.get(req.session, ['saml', 'reconfirmed']) + delete req.session.saml + let shouldAllowEditingDetails = true + if (Settings.ldap && Settings.ldap.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } + if (Settings.saml && Settings.saml.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } + const oauthProviders = Settings.oauthProviders || {} + + const user = await UserGetter.promises.getUser(userId) + if (!user) { + // The user has just deleted their account. + return UserSessionsManager.removeSessionsFromRedis( + { _id: userId }, + null, + () => res.redirect('/') + ) + } + + let personalAccessTokens + try { + const results = await Modules.promises.hooks.fire( + 'listPersonalAccessTokens', + user._id + ) + personalAccessTokens = results?.[0] ?? [] + } catch (error) { + logger.error(OError.tag(error)) + } + + let currentManagedUserAdminEmail + try { + currentManagedUserAdminEmail = + await SubscriptionLocator.promises.getAdminEmail(req.managedBy) + } catch (err) { + logger.error({ err }, 'error getting subscription admin email') + } + + let memberOfSSOEnabledGroups = [] + try { + memberOfSSOEnabledGroups = + ( + await Modules.promises.hooks.fire( + 'getUserGroupsSSOEnrollmentStatus', + user._id, + { teamName: 1 }, + ['email'] + ) + )?.[0] || [] + memberOfSSOEnabledGroups = memberOfSSOEnabledGroups.map(group => { + return { + groupId: group._id.toString(), + linked: group.linked, + groupName: group.teamName, + adminEmail: group.admin_id?.email, + } + }) + } catch (error) { + logger.error( + { err: error }, + 'error fetching groups with Group SSO enabled the user may be member of' + ) + } + + // Get the user's assignment for this page's Bootstrap 5 split test, which + // populates splitTestVariants with a value for the split test name and allows + // Pug to read it + await SplitTestHandler.promises.getAssignment(req, res, 'bootstrap-5') + + res.render('user/settings', { + title: 'account_settings', + user: { + id: user._id, + isAdmin: user.isAdmin, + email: user.email, + allowedFreeTrial: user.allowedFreeTrial, + first_name: user.first_name, + last_name: user.last_name, + alphaProgram: user.alphaProgram, + betaProgram: user.betaProgram, + labsProgram: user.labsProgram, + features: { + dropbox: user.features.dropbox, + github: user.features.github, + mendeley: user.features.mendeley, + zotero: user.features.zotero, + references: user.features.references, + }, + refProviders: { + mendeley: Boolean(user.refProviders?.mendeley), + zotero: Boolean(user.refProviders?.zotero), + }, + writefull: { + enabled: Boolean(user.writefull?.enabled), + }, + }, + hasPassword: !!user.hashedPassword, + shouldAllowEditingDetails, + oauthProviders: UserPagesController._translateProviderDescriptions( + oauthProviders, + req + ), + institutionLinked, + samlError, + institutionEmailNonCanonical: + institutionEmailNonCanonical && institutionRequestedEmail + ? institutionEmailNonCanonical + : undefined, + reconfirmedViaSAML, + reconfirmationRemoveEmail, + samlBeta: req.session.samlBeta, + ssoErrorMessage, + thirdPartyIds: UserPagesController._restructureThirdPartyIds(user), + projectSyncSuccessMessage, + personalAccessTokens, + emailAddressLimit: Settings.emailAddressLimit, + isManagedAccount: !!req.managedBy, + userRestrictions: Array.from(req.userRestrictions || []), + currentManagedUserAdminEmail, + gitBridgeEnabled: Settings.enableGitBridge, + isSaas: Features.hasFeature('saas'), + memberOfSSOEnabledGroups, + }) +} + +async function accountSuspended(req, res) { + if (SessionManager.isUserLoggedIn(req.session)) { + return res.redirect('/project') + } + res.render('user/accountSuspended', { + title: 'your_account_is_suspended', + }) +} + +const UserPagesController = { + accountSuspended: expressify(accountSuspended), + + registerPage(req, res) { + const sharedProjectData = req.session.sharedProjectData || {} + + const newTemplateData = {} + if (req.session.templateData != null) { + newTemplateData.templateName = req.session.templateData.templateName + } + + res.render('user/register', { + title: 'register', + sharedProjectData, + newTemplateData, + samlBeta: req.session.samlBeta, + }) + }, + + loginPage(req, res) { + // if user is being sent to /login with explicit redirect (redir=/foo), + // such as being sent from the editor to /login, then set the redirect explicitly + if ( + req.query.redir != null && + AuthenticationController.getRedirectFromSession(req) == null + ) { + AuthenticationController.setRedirectInSession(req, req.query.redir) + } + res.render('user/login', { + title: 'login', + }) + }, + + /** + * Landing page for users who may have received one-time login + * tokens from the read-only maintenance site. + * + * We tell them that Overleaf is back up and that they can login normally. + */ + oneTimeLoginPage(req, res, next) { + res.render('user/one_time_login') + }, + + renderReconfirmAccountPage(req, res) { + const pageData = { + reconfirm_email: req.session.reconfirm_email, + } + // when a user must reconfirm their account + res.render('user/reconfirm', pageData) + }, + + settingsPage: expressify(settingsPage), + + sessionsPage(req, res, next) { + const user = SessionManager.getSessionUser(req.session) + logger.debug({ userId: user._id }, 'loading sessions page') + const currentSession = { + ip_address: user.ip_address, + session_created: user.session_created, + } + UserSessionsManager.getAllUserSessions( + user, + [req.sessionID], + (err, sessions) => { + if (err != null) { + OError.tag(err, 'error getting all user sessions', { + userId: user._id, + }) + return next(err) + } + res.render('user/sessions', { + title: 'sessions', + currentSession, + sessions, + }) + } + ) + }, + + emailPreferencesPage(req, res, next) { + const userId = SessionManager.getLoggedInUserId(req.session) + UserGetter.getUser( + userId, + { _id: 1, email: 1, first_name: 1, last_name: 1 }, + (err, user) => { + if (err != null) { + return next(err) + } + NewsletterManager.subscribed(user, (err, subscribed) => { + if (err != null) { + OError.tag(err, 'error getting newsletter subscription status') + return next(err) + } + res.render('user/email-preferences', { + title: 'newsletter_info_title', + subscribed, + }) + }) + } + ) + }, + + compromisedPasswordPage(_, res) { + res.render('user/compromised_password') + }, + + _restructureThirdPartyIds(user) { + // 3rd party identifiers are an array of objects + // this turn them into a single object, which + // makes data easier to use in template + if ( + !user.thirdPartyIdentifiers || + user.thirdPartyIdentifiers.length === 0 + ) { + return null + } + return user.thirdPartyIdentifiers.reduce((obj, identifier) => { + obj[identifier.providerId] = identifier.externalUserId + return obj + }, {}) + }, + + _translateProviderDescriptions(providers, req) { + const result = {} + if (providers) { + for (const provider in providers) { + const data = providers[provider] + data.description = req.i18n.translate( + data.descriptionKey, + Object.assign({}, data.descriptionOptions) + ) + result[provider] = data + } + } + return result + }, +} + +module.exports = UserPagesController diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js new file mode 100644 index 0000000..be1d045 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js @@ -0,0 +1,33 @@ +const Settings = require('@overleaf/settings') + +function requiresPrimaryEmailCheck({ + email, + emails, + lastPrimaryEmailCheck, + signUpDate, +}) { + const hasExpired = date => { + if (!date) { + return true + } + return Date.now() - date.getTime() > Settings.primary_email_check_expiration + } + + const primaryEmailConfirmedAt = emails.find( + emailEntry => emailEntry.email === email + ).confirmedAt + + if (primaryEmailConfirmedAt && !hasExpired(primaryEmailConfirmedAt)) { + return false + } + + if (lastPrimaryEmailCheck) { + return hasExpired(lastPrimaryEmailCheck) + } else { + return hasExpired(signUpDate) + } +} + +module.exports = { + requiresPrimaryEmailCheck, +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js new file mode 100644 index 0000000..066d2e4 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js @@ -0,0 +1,101 @@ +const _ = require('lodash') +const Settings = require('@overleaf/settings') + +const supportModuleAvailable = Settings.moduleImportSequence.includes('support') + +const symbolPaletteModuleAvailable = + Settings.moduleImportSequence.includes('symbol-palette') + +const trackChangesModuleAvailable = + Settings.moduleImportSequence.includes('track-changes') + +/** + * @typedef {Object} Settings + * @property {Object | undefined} apis + * @property {Object | undefined} apis.linkedUrlProxy + * @property {string | undefined} apis.linkedUrlProxy.url + * @property {Object | undefined} apis.references + * @property {string | undefined} apis.references.url + * @property {boolean | undefined} enableGithubSync + * @property {boolean | undefined} enableGitBridge + * @property {boolean | undefined} enableHomepage + * @property {boolean | undefined} enableSaml + * @property {boolean | undefined} ldap + * @property {boolean | undefined} oauth + * @property {Object | undefined} overleaf + * @property {Object | undefined} overleaf.oauth + * @property {boolean | undefined} saml + */ + +const Features = { + /** + * @returns {boolean} + */ + externalAuthenticationSystemUsed() { + return ( + (Boolean(Settings.ldap) && Boolean(Settings.ldap.enable)) || + (Boolean(Settings.saml) && Boolean(Settings.saml.enable)) || + Boolean(Settings.overleaf) + ) + }, + + /** + * Whether a feature is enabled in the appliation's configuration + * + * @param {string} feature + * @returns {boolean} + */ + hasFeature(feature) { + switch (feature) { + case 'saas': + return Boolean(Settings.overleaf) + case 'homepage': + return Boolean(Settings.enableHomepage) + case 'registration-page': + return ( + !Features.externalAuthenticationSystemUsed() || + Boolean(Settings.overleaf) + ) + case 'registration': + return Boolean(Settings.overleaf) + case 'chat': + return Boolean(Settings.disableChat) === false + case 'github-sync': + return Boolean(Settings.enableGithubSync) + case 'git-bridge': + return Boolean(Settings.enableGitBridge) + case 'oauth': + return Boolean(Settings.oauth) + case 'templates-server-pro': + return Boolean(Settings.templates?.user_id) + case 'affiliations': + case 'analytics': + return Boolean(_.get(Settings, ['apis', 'v1', 'url'])) + case 'references': + return Boolean(_.get(Settings, ['apis', 'references', 'url'])) + case 'saml': + return Boolean(Settings.enableSaml) + case 'linked-project-file': + return Boolean(Settings.enabledLinkedFileTypes.includes('project_file')) + case 'linked-project-output-file': + return Boolean( + Settings.enabledLinkedFileTypes.includes('project_output_file') + ) + case 'link-url': + return Boolean( + _.get(Settings, ['apis', 'linkedUrlProxy', 'url']) && + Settings.enabledLinkedFileTypes.includes('url') + ) + case 'support': + return supportModuleAvailable + case 'symbol-palette': + return symbolPaletteModuleAvailable + case 'track-changes': + return trackChangesModuleAvailable + default: + throw new Error(`unknown feature: ${feature}`) + } + }, +} + +module.exports = Features diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs new file mode 100644 index 0000000..8f275e4 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs @@ -0,0 +1,377 @@ +import express from 'express' +import Settings from '@overleaf/settings' +import logger from '@overleaf/logger' +import metrics from '@overleaf/metrics' +import Validation from './Validation.js' +import csp from './CSP.js' +import Router from '../router.mjs' +import helmet from 'helmet' +import UserSessionsRedis from '../Features/User/UserSessionsRedis.js' +import Csrf from './Csrf.js' +import HttpPermissionsPolicyMiddleware from './HttpPermissionsPolicy.js' +import SessionAutostartMiddleware from './SessionAutostartMiddleware.js' +import AnalyticsManager from '../Features/Analytics/AnalyticsManager.js' +import session from 'express-session' +import CookieMetrics from './CookieMetrics.js' +import CustomSessionStore from './CustomSessionStore.js' +import bodyParser from './BodyParserWrapper.js' +import methodOverride from 'method-override' +import cookieParser from 'cookie-parser' +import bearerTokenMiddleware from 'express-bearer-token' +import passport from 'passport' +import { Strategy as LocalStrategy } from 'passport-local' +import ReferalConnect from '../Features/Referal/ReferalConnect.js' +import RedirectManager from './RedirectManager.js' +import translations from './Translations.js' +import Views from './Views.js' +import Features from './Features.js' +import ErrorController from '../Features/Errors/ErrorController.js' +import HttpErrorHandler from '../Features/Errors/HttpErrorHandler.js' +import UserSessionsManager from '../Features/User/UserSessionsManager.js' +import AuthenticationController from '../Features/Authentication/AuthenticationController.js' +import SessionManager from '../Features/Authentication/SessionManager.js' +import { hasAdminAccess } from '../Features/Helpers/AdminAuthorizationHelper.js' +import Modules from './Modules.js' +import expressLocals from './ExpressLocals.js' +import noCache from 'nocache' +import os from 'os' +import http from 'http' +import { fileURLToPath } from 'url' +import serveStaticWrapper from './ServeStaticWrapper.mjs' + +const sessionsRedisClient = UserSessionsRedis.client() + +const oneDayInMilliseconds = 86400000 + +const STATIC_CACHE_AGE = Settings.cacheStaticAssets + ? oneDayInMilliseconds * 365 + : 0 + +// Init the session store +const sessionStore = new CustomSessionStore({ client: sessionsRedisClient }) + +const app = express() + +const webRouter = express.Router() +const privateApiRouter = express.Router() +const publicApiRouter = express.Router() + +if (Settings.behindProxy) { + app.set('trust proxy', Settings.trustedProxyIps || true) + /** + * Handle the X-Original-Forwarded-For header. + * + * The nginx ingress sends us the contents of X-Forwarded-For it received in + * X-Original-Forwarded-For. Express expects all proxy IPs to be in a comma + * separated list in X-Forwarded-For. + */ + app.use((req, res, next) => { + if ( + req.headers['x-original-forwarded-for'] && + req.headers['x-forwarded-for'] + ) { + req.headers['x-forwarded-for'] = + req.headers['x-original-forwarded-for'] + + ', ' + + req.headers['x-forwarded-for'] + } + next() + }) +} + +// `req.ip` is a getter on the underlying socket. +// The socket details are freed as the connection is dropped -- aka aborted. +// Hence `req.ip` may read `undefined` upon connection drop. +// A couple of places require a valid IP at all times. Cache it! +const ORIGINAL_REQ_IP = Object.getOwnPropertyDescriptor( + Object.getPrototypeOf(app.request), + 'ip' +).get +Object.defineProperty(app.request, 'ip', { + configurable: true, + enumerable: true, + get() { + const ip = ORIGINAL_REQ_IP.call(this) + // Shadow the prototype level getter with a property on the instance. + // Any future access on `req.ip` will get served by the instance property. + Object.defineProperty(this, 'ip', { value: ip }) + return ip + }, +}) + +app.use((req, res, next) => { + if (req.destroyed) { + // Request has been aborted already. + return + } + // Implicitly cache the ip, see above. + if (!req.ip) { + // Critical connection details are missing. + return + } + next() +}) + +if (Settings.exposeHostname) { + const HOSTNAME = os.hostname() + app.use((req, res, next) => { + res.setHeader('X-Served-By', HOSTNAME) + next() + }) +} + +webRouter.use( + serveStaticWrapper( + fileURLToPath(new URL('../../../public', import.meta.url)), + { + maxAge: STATIC_CACHE_AGE, + setHeaders: csp.removeCSPHeaders, + } + ) +) + +app.set('views', fileURLToPath(new URL('../../views', import.meta.url))) +app.set('view engine', 'pug') + +if (Settings.enabledServices.includes('web')) { + if (app.get('env') !== 'development') { + logger.debug('enabling view cache for production or acceptance tests') + app.enable('view cache') + } + if (Settings.precompilePugTemplatesAtBootTime) { + logger.debug('precompiling views for web in production environment') + Views.precompileViews(app) + } + Modules.loadViewIncludes(app) +} + +app.use(metrics.http.monitor(logger)) + +await Modules.applyMiddleware(app, 'appMiddleware') +app.use(bodyParser.urlencoded({ extended: true, limit: '2mb' })) +app.use(bodyParser.json({ limit: Settings.max_json_request_size })) +app.use(methodOverride()) +// add explicit name for telemetry +app.use(bearerTokenMiddleware()) + +if (Settings.blockCrossOriginRequests) { + app.use(Csrf.blockCrossOriginRequests()) +} + +if (Settings.useHttpPermissionsPolicy) { + const httpPermissionsPolicy = new HttpPermissionsPolicyMiddleware( + Settings.httpPermissions + ) + logger.debug('adding permissions policy config', Settings.httpPermissions) + webRouter.use(httpPermissionsPolicy.middleware) +} + +RedirectManager.apply(webRouter) + +if (!Settings.security.sessionSecret) { + throw new Error('No SESSION_SECRET provided.') +} + +const sessionSecrets = [ + Settings.security.sessionSecret, + Settings.security.sessionSecretUpcoming, + Settings.security.sessionSecretFallback, +].filter(Boolean) + +webRouter.use(cookieParser(sessionSecrets)) +webRouter.use(CookieMetrics.middleware) +SessionAutostartMiddleware.applyInitialMiddleware(webRouter) +await Modules.applyMiddleware(webRouter, 'sessionMiddleware', { + store: sessionStore, +}) +webRouter.use( + session({ + resave: false, + saveUninitialized: false, + secret: sessionSecrets, + proxy: Settings.behindProxy, + cookie: { + domain: Settings.cookieDomain, + maxAge: Settings.cookieSessionLength, // in milliseconds, see https://github.com/expressjs/session#cookiemaxage + secure: Settings.secureCookie, + sameSite: Settings.sameSiteCookie, + }, + store: sessionStore, + key: Settings.cookieName, + rolling: Settings.cookieRollingSession === true, + }) +) + +if (Features.hasFeature('saas')) { + webRouter.use(AnalyticsManager.analyticsIdMiddleware) +} + +// passport +webRouter.use(passport.initialize()) +webRouter.use(passport.session()) + +passport.use( + new LocalStrategy( + { + passReqToCallback: true, + usernameField: 'email', + passwordField: 'password', + }, + AuthenticationController.doPassportLogin + ) +) +passport.serializeUser(AuthenticationController.serializeUser) +passport.deserializeUser(AuthenticationController.deserializeUser) + +Modules.hooks.fire('passportSetup', passport, err => { + if (err != null) { + logger.err({ err }, 'error setting up passport in modules') + } +}) + +await Modules.applyNonCsrfRouter(webRouter, privateApiRouter, publicApiRouter) + +webRouter.csrf = new Csrf() +webRouter.use(webRouter.csrf.middleware) +webRouter.use(translations.i18nMiddleware) +webRouter.use(translations.setLangBasedOnDomainMiddleware) + +if (Settings.cookieRollingSession) { + // Measure expiry from last request, not last login + webRouter.use((req, res, next) => { + if (!req.session.noSessionCallback) { + req.session.touch() + if (SessionManager.isUserLoggedIn(req.session)) { + UserSessionsManager.touch( + SessionManager.getSessionUser(req.session), + err => { + if (err) { + logger.err({ err }, 'error extending user session') + } + } + ) + } + } + next() + }) +} + +webRouter.use(ReferalConnect.use) +expressLocals(webRouter, privateApiRouter, publicApiRouter) +webRouter.use(SessionAutostartMiddleware.invokeCallbackMiddleware) + +webRouter.use(function checkIfSiteClosed(req, res, next) { + if (Settings.siteIsOpen) { + next() + } else if (hasAdminAccess(SessionManager.getSessionUser(req.session))) { + next() + } else { + HttpErrorHandler.maintenance(req, res) + } +}) + +webRouter.use(function checkIfEditorClosed(req, res, next) { + if (Settings.editorIsOpen) { + next() + } else if (req.url.indexOf('/admin') === 0) { + next() + } else { + HttpErrorHandler.maintenance(req, res) + } +}) + +webRouter.use(AuthenticationController.validateAdmin) + +// add security headers using Helmet +const noCacheMiddleware = noCache() +webRouter.use((req, res, next) => { + const isProjectPage = /^\/project\/[a-f0-9]{24}$/.test(req.path) + if (isProjectPage) { + // always set no-cache headers on a project page, as it could be an anonymous token viewer + return noCacheMiddleware(req, res, next) + } + + const isProjectFile = /^\/project\/[a-f0-9]{24}\/file\/[a-f0-9]{24}$/.test( + req.path + ) + if (isProjectFile) { + // don't set no-cache headers on a project file, as it's immutable and can be cached (privately) + return next() + } + const isProjectBlob = /^\/project\/[a-f0-9]{24}\/blob\/[a-f0-9]{40}$/.test( + req.path + ) + if (isProjectBlob) { + // don't set no-cache headers on a project blobs, as they are immutable and can be cached (privately) + return next() + } + + const isWikiContent = /^\/learn(-scripts)?(\/|$)/i.test(req.path) + if (isWikiContent) { + // don't set no-cache headers on wiki content, as it's immutable and can be cached (publicly) + return next() + } + + const isLoggedIn = SessionManager.isUserLoggedIn(req.session) + if (isLoggedIn) { + // always set no-cache headers for authenticated users (apart from project files, above) + return noCacheMiddleware(req, res, next) + } + + // allow other responses (anonymous users, except for project pages) to be cached + return next() +}) + +webRouter.use( + helmet({ + // note that more headers are added by default + dnsPrefetchControl: false, + referrerPolicy: { policy: 'origin-when-cross-origin' }, + hsts: false, + // Disabled because it's impractical to include every resource via CORS or + // with the magic CORP header + crossOriginEmbedderPolicy: false, + // We need to be able to share the context of some popups. For example, + // when Recurly opens Paypal in a popup. + crossOriginOpenerPolicy: { policy: 'same-origin-allow-popups' }, + // Disabled because it's not a security header and has possibly-unwanted + // effects + originAgentCluster: false, + // We have custom handling for CSP below, so Helmet's default is disabled + contentSecurityPolicy: false, + }) +) + +// add CSP header to HTML-rendering routes, if enabled +if (Settings.csp && Settings.csp.enabled) { + logger.debug('adding CSP header to rendered routes', Settings.csp) + app.use(csp(Settings.csp)) +} + +logger.debug('creating HTTP server'.yellow) +const server = http.createServer(app) + +// provide settings for separate web and api processes +if (Settings.enabledServices.includes('api')) { + logger.debug({}, 'providing api router') + app.use(privateApiRouter) + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleApiError) +} + +if (Settings.enabledServices.includes('web')) { + logger.debug({}, 'providing web router') + app.use(publicApiRouter) // public API goes with web router for public access + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleApiError) + app.use(webRouter) + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleError) +} + +metrics.injectMetricsRoute(webRouter) +metrics.injectMetricsRoute(privateApiRouter) + +await Router.initialize(webRouter, privateApiRouter, publicApiRouter) + +export default { app, server } diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/models/User.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/models/User.js new file mode 100644 index 0000000..13a480a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/models/User.js @@ -0,0 +1,236 @@ +const Settings = require('@overleaf/settings') +const mongoose = require('../infrastructure/Mongoose') +const TokenGenerator = require('../Features/TokenGenerator/TokenGenerator') +const { Schema } = mongoose +const { ObjectId } = Schema + +// See https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/574698#574698 +const MAX_EMAIL_LENGTH = 254 +const MAX_NAME_LENGTH = 255 + +const UserSchema = new Schema( + { + email: { type: String, default: '', maxlength: MAX_EMAIL_LENGTH }, + emails: [ + { + email: { type: String, default: '', maxlength: MAX_EMAIL_LENGTH }, + reversedHostname: { type: String, default: '' }, + createdAt: { + type: Date, + default() { + return new Date() + }, + }, + confirmedAt: { type: Date }, + samlProviderId: { type: String }, + affiliationUnchecked: { type: Boolean }, + reconfirmedAt: { type: Date }, + }, + ], + first_name: { + type: String, + default: '', + maxlength: MAX_NAME_LENGTH, + }, + last_name: { + type: String, + default: '', + maxlength: MAX_NAME_LENGTH, + }, + role: { type: String, default: '' }, + institution: { type: String, default: '' }, + hashedPassword: String, + enrollment: { + sso: [ + { + groupId: { + type: ObjectId, + ref: 'Subscription', + }, + linkedAt: Date, + primary: { type: Boolean, default: false }, + }, + ], + managedBy: { + type: ObjectId, + ref: 'Subscription', + }, + enrolledAt: { type: Date }, + }, + isAdmin: { type: Boolean, default: false }, + staffAccess: { + publisherMetrics: { type: Boolean, default: false }, + publisherManagement: { type: Boolean, default: false }, + institutionMetrics: { type: Boolean, default: false }, + institutionManagement: { type: Boolean, default: false }, + groupMetrics: { type: Boolean, default: false }, + groupManagement: { type: Boolean, default: false }, + adminMetrics: { type: Boolean, default: false }, + splitTestMetrics: { type: Boolean, default: false }, + splitTestManagement: { type: Boolean, default: false }, + }, + signUpDate: { + type: Date, + default() { + return new Date() + }, + }, + loginEpoch: { type: Number }, + lastActive: { type: Date }, + lastFailedLogin: { type: Date }, + lastLoggedIn: { type: Date }, + lastLoginIp: { type: String, default: '' }, + lastPrimaryEmailCheck: { type: Date }, + lastTrial: { type: Date }, + loginCount: { type: Number, default: 0 }, + holdingAccount: { type: Boolean, default: false }, + ace: { + mode: { type: String, default: 'none' }, + theme: { type: String, default: 'textmate' }, + overallTheme: { type: String, default: '' }, + fontSize: { type: Number, default: '12' }, + autoComplete: { type: Boolean, default: true }, + autoPairDelimiters: { type: Boolean, default: true }, + spellCheckLanguage: { type: String, default: 'en' }, + pdfViewer: { type: String, default: 'pdfjs' }, + syntaxValidation: { type: Boolean }, + fontFamily: { type: String }, + lineHeight: { type: String }, + mathPreview: { type: Boolean, default: true }, + }, + features: { + collaborators: { + type: Number, + default: Settings.defaultFeatures.collaborators, + }, + versioning: { + type: Boolean, + default: Settings.defaultFeatures.versioning, + }, + dropbox: { type: Boolean, default: Settings.defaultFeatures.dropbox }, + github: { type: Boolean, default: Settings.defaultFeatures.github }, + gitBridge: { type: Boolean, default: Settings.defaultFeatures.gitBridge }, + compileTimeout: { + type: Number, + default: Settings.defaultFeatures.compileTimeout, + }, + compileGroup: { + type: String, + default: Settings.defaultFeatures.compileGroup, + }, + references: { + type: Boolean, + default: Settings.defaultFeatures.references, + }, + trackChanges: { + type: Boolean, + default: Settings.defaultFeatures.trackChanges, + }, + mendeley: { type: Boolean, default: Settings.defaultFeatures.mendeley }, + zotero: { type: Boolean, default: Settings.defaultFeatures.zotero }, + referencesSearch: { + type: Boolean, + default: Settings.defaultFeatures.referencesSearch, + }, + symbolPalette: { + type: Boolean, + default: Settings.defaultFeatures.symbolPalette, + }, + // labs feature, which shouldnt have a default as we havent decided pricing model yet + aiErrorAssistant: { + type: Boolean, + }, + }, + featuresOverrides: [ + { + createdAt: { + type: Date, + default() { + return new Date() + }, + }, + expiresAt: { type: Date }, + note: { type: String }, + features: { + aiErrorAssistant: { type: Boolean }, + collaborators: { type: Number }, + versioning: { type: Boolean }, + dropbox: { type: Boolean }, + github: { type: Boolean }, + gitBridge: { type: Boolean }, + compileTimeout: { type: Number }, + compileGroup: { type: String }, + templates: { type: Boolean }, + trackChanges: { type: Boolean }, + mendeley: { type: Boolean }, + zotero: { type: Boolean }, + referencesSearch: { type: Boolean }, + symbolPalette: { type: Boolean }, + compileAssistant: { type: Boolean }, + }, + }, + ], + featuresUpdatedAt: { type: Date }, + featuresEpoch: { + type: String, + }, + must_reconfirm: { type: Boolean, default: false }, + referal_id: { + type: String, + default() { + return TokenGenerator.generateReferralId() + }, + }, + refered_users: [{ type: ObjectId, ref: 'User' }], + refered_user_count: { type: Number, default: 0 }, + refProviders: { + // The actual values are managed by third-party-references. + mendeley: Schema.Types.Mixed, + zotero: Schema.Types.Mixed, + }, + writefull: { + enabled: { type: Boolean, default: null }, + autoCreatedAccount: { type: Boolean, default: false }, + }, + alphaProgram: { type: Boolean, default: false }, // experimental features + betaProgram: { type: Boolean, default: false }, + labsProgram: { type: Boolean, default: false }, + overleaf: { + id: { type: Number }, + accessToken: { type: String }, + refreshToken: { type: String }, + }, + awareOfV2: { type: Boolean, default: false }, + samlIdentifiers: { type: Array, default: [] }, + thirdPartyIdentifiers: { type: Array, default: [] }, + migratedAt: { type: Date }, + twoFactorAuthentication: { + createdAt: { type: Date }, + enrolledAt: { type: Date }, + secretEncrypted: { type: String }, + }, + onboardingEmailSentAt: { type: Date }, + splitTests: Schema.Types.Mixed, + analyticsId: { type: String }, + completedTutorials: Schema.Types.Mixed, + suspended: { type: Boolean }, + }, + { minimize: false } +) + +function formatSplitTestsSchema(next) { + if (this.splitTests) { + for (const splitTestKey of Object.keys(this.splitTests)) { + for (const variantIndex in this.splitTests[splitTestKey]) { + this.splitTests[splitTestKey][variantIndex].assignedAt = new Date( + this.splitTests[splitTestKey][variantIndex].assignedAt + ) + } + } + } + next() +} +UserSchema.pre('save', formatSplitTestsSchema) + +exports.User = mongoose.model('User', UserSchema) +exports.UserSchema = UserSchema diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/router.mjs b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/router.mjs new file mode 100644 index 0000000..8fefea1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/router.mjs @@ -0,0 +1,1383 @@ +import AdminController from './Features/ServerAdmin/AdminController.js' +import ErrorController from './Features/Errors/ErrorController.js' +import Features from './infrastructure/Features.js' +import ProjectController from './Features/Project/ProjectController.js' +import ProjectApiController from './Features/Project/ProjectApiController.js' +import ProjectListController from './Features/Project/ProjectListController.js' +import SpellingController from './Features/Spelling/SpellingController.js' +import EditorRouter from './Features/Editor/EditorRouter.js' +import Settings from '@overleaf/settings' +import TpdsController from './Features/ThirdPartyDataStore/TpdsController.js' +import SubscriptionRouter from './Features/Subscription/SubscriptionRouter.js' +import UploadsRouter from './Features/Uploads/UploadsRouter.js' +import metrics from '@overleaf/metrics' +import ReferalController from './Features/Referal/ReferalController.js' +import AuthenticationController from './Features/Authentication/AuthenticationController.js' +import PermissionsController from './Features/Authorization/PermissionsController.js' +import SessionManager from './Features/Authentication/SessionManager.js' +import TagsController from './Features/Tags/TagsController.js' +import NotificationsController from './Features/Notifications/NotificationsController.js' +import CollaboratorsRouter from './Features/Collaborators/CollaboratorsRouter.js' +import UserInfoController from './Features/User/UserInfoController.js' +import UserController from './Features/User/UserController.js' +import UserEmailsController from './Features/User/UserEmailsController.js' +import UserPagesController from './Features/User/UserPagesController.js' +import TutorialController from './Features/Tutorial/TutorialController.js' +import DocumentController from './Features/Documents/DocumentController.js' +import CompileManager from './Features/Compile/CompileManager.js' +import CompileController from './Features/Compile/CompileController.js' +import ClsiCookieManagerFactory from './Features/Compile/ClsiCookieManager.js' +import HealthCheckController from './Features/HealthCheck/HealthCheckController.js' +import ProjectDownloadsController from './Features/Downloads/ProjectDownloadsController.js' +import FileStoreController from './Features/FileStore/FileStoreController.js' +import DocumentUpdaterController from './Features/DocumentUpdater/DocumentUpdaterController.js' +import HistoryController from './Features/History/HistoryController.js' +import ExportsController from './Features/Exports/ExportsController.js' +import PasswordResetRouter from './Features/PasswordReset/PasswordResetRouter.js' +import StaticPagesRouter from './Features/StaticPages/StaticPagesRouter.js' +import ChatController from './Features/Chat/ChatController.js' +import Modules from './infrastructure/Modules.js' +import { + RateLimiter, + openProjectRateLimiter, + overleafLoginRateLimiter, +} from './infrastructure/RateLimiter.js' +import RateLimiterMiddleware from './Features/Security/RateLimiterMiddleware.js' +import InactiveProjectController from './Features/InactiveData/InactiveProjectController.js' +import ContactRouter from './Features/Contacts/ContactRouter.js' +import ReferencesController from './Features/References/ReferencesController.js' +import AuthorizationMiddleware from './Features/Authorization/AuthorizationMiddleware.js' +import BetaProgramController from './Features/BetaProgram/BetaProgramController.js' +import AnalyticsRouter from './Features/Analytics/AnalyticsRouter.js' +import MetaController from './Features/Metadata/MetaController.js' +import TokenAccessController from './Features/TokenAccess/TokenAccessController.js' +import TokenAccessRouter from './Features/TokenAccess/TokenAccessRouter.js' +import LinkedFilesRouter from './Features/LinkedFiles/LinkedFilesRouter.js' +import TemplatesRouter from './Features/Templates/TemplatesRouter.js' +import UserMembershipRouter from './Features/UserMembership/UserMembershipRouter.js' +import SystemMessageController from './Features/SystemMessages/SystemMessageController.js' +import AnalyticsRegistrationSourceMiddleware from './Features/Analytics/AnalyticsRegistrationSourceMiddleware.js' +import AnalyticsUTMTrackingMiddleware from './Features/Analytics/AnalyticsUTMTrackingMiddleware.js' +import CaptchaMiddleware from './Features/Captcha/CaptchaMiddleware.js' +import { Joi, validate } from './infrastructure/Validation.js' +import { + renderUnsupportedBrowserPage, + unsupportedBrowserMiddleware, +} from './infrastructure/UnsupportedBrowserMiddleware.js' + +import logger from '@overleaf/logger' +import _ from 'lodash' +import { plainTextResponse } from './infrastructure/Response.js' +import PublicAccessLevels from './Features/Authorization/PublicAccessLevels.js' +const ClsiCookieManager = ClsiCookieManagerFactory( + Settings.apis.clsi != null ? Settings.apis.clsi.backendGroupName : undefined +) + +const rateLimiters = { + addEmail: new RateLimiter('add-email', { + points: 10, + duration: 60, + }), + addProjectToTag: new RateLimiter('add-project-to-tag', { + points: 30, + duration: 60, + }), + addProjectsToTag: new RateLimiter('add-projects-to-tag', { + points: 30, + duration: 60, + }), + canSkipCaptcha: new RateLimiter('can-skip-captcha', { + points: 20, + duration: 60, + }), + changePassword: new RateLimiter('change-password', { + points: 10, + duration: 60, + }), + compileProjectHttp: new RateLimiter('compile-project-http', { + points: 800, + duration: 60 * 60, + }), + confirmEmail: new RateLimiter('confirm-email', { + points: 10, + duration: 60, + }), + createProject: new RateLimiter('create-project', { + points: 20, + duration: 60, + }), + createTag: new RateLimiter('create-tag', { + points: 30, + duration: 60, + }), + deleteEmail: new RateLimiter('delete-email', { + points: 10, + duration: 60, + }), + deleteTag: new RateLimiter('delete-tag', { + points: 30, + duration: 60, + }), + deleteUser: new RateLimiter('delete-user', { + points: 10, + duration: 60, + }), + downloadProjectRevision: new RateLimiter('download-project-revision', { + points: 30, + duration: 60 * 60, + }), + flushHistory: new RateLimiter('flush-project-history', { + // Allow flushing once every 30s-1s (allow for network jitter). + points: 1, + duration: 30 - 1, + }), + getProjectBlob: new RateLimiter('get-project-blob', { + // Download project in full once per hour + points: Settings.maxEntitiesPerProject, + duration: 60 * 60, + }), + getHistorySnapshot: new RateLimiter( + 'get-history-snapshot', + openProjectRateLimiter.getOptions() + ), + endorseEmail: new RateLimiter('endorse-email', { + points: 30, + duration: 60, + }), + getProjects: new RateLimiter('get-projects', { + points: 30, + duration: 60, + }), + grantTokenAccessReadOnly: new RateLimiter('grant-token-access-read-only', { + points: 10, + duration: 60, + }), + grantTokenAccessReadWrite: new RateLimiter('grant-token-access-read-write', { + points: 10, + duration: 60, + }), + indexAllProjectReferences: new RateLimiter('index-all-project-references', { + points: 30, + duration: 60, + }), + miscOutputDownload: new RateLimiter('misc-output-download', { + points: 1000, + duration: 60 * 60, + }), + multipleProjectsZipDownload: new RateLimiter( + 'multiple-projects-zip-download', + { + points: 10, + duration: 60, + } + ), + openDashboard: new RateLimiter('open-dashboard', { + points: 30, + duration: 60, + }), + readAndWriteToken: new RateLimiter('read-and-write-token', { + points: 15, + duration: 60, + }), + readOnlyToken: new RateLimiter('read-only-token', { + points: 15, + duration: 60, + }), + removeProjectFromTag: new RateLimiter('remove-project-from-tag', { + points: 30, + duration: 60, + }), + removeProjectsFromTag: new RateLimiter('remove-projects-from-tag', { + points: 30, + duration: 60, + }), + renameTag: new RateLimiter('rename-tag', { + points: 30, + duration: 60, + }), + resendConfirmation: new RateLimiter('resend-confirmation', { + points: 1, + duration: 60, + }), + sendChatMessage: new RateLimiter('send-chat-message', { + points: 100, + duration: 60, + }), + statusCompiler: new RateLimiter('status-compiler', { + points: 10, + duration: 60, + }), + zipDownload: new RateLimiter('zip-download', { + points: 10, + duration: 60, + }), +} + +async function initialize(webRouter, privateApiRouter, publicApiRouter) { + webRouter.use(unsupportedBrowserMiddleware) + + if (!Settings.allowPublicAccess) { + webRouter.all('*', AuthenticationController.requireGlobalLogin) + } + + webRouter.get('*', AnalyticsRegistrationSourceMiddleware.setInbound()) + webRouter.get('*', AnalyticsUTMTrackingMiddleware.recordUTMTags()) + + // Mount onto /login in order to get the deviceHistory cookie. + webRouter.post( + '/login/can-skip-captcha', + // Keep in sync with the overleaf-login options. + RateLimiterMiddleware.rateLimit(rateLimiters.canSkipCaptcha), + CaptchaMiddleware.canSkipCaptcha + ) + + webRouter.get('/login', UserPagesController.loginPage) + AuthenticationController.addEndpointToLoginWhitelist('/login') + + webRouter.post( + '/login', + RateLimiterMiddleware.rateLimit(overleafLoginRateLimiter), // rate limit IP (20 / 60s) + RateLimiterMiddleware.loginRateLimitEmail, // rate limit email (10 / 120s) + CaptchaMiddleware.validateCaptcha('login'), + AuthenticationController.passportLogin + ) + + webRouter.get( + '/compromised-password', + AuthenticationController.requireLogin(), + UserPagesController.compromisedPasswordPage + ) + + webRouter.get('/account-suspended', UserPagesController.accountSuspended) + + if (Settings.enableLegacyLogin) { + AuthenticationController.addEndpointToLoginWhitelist('/login/legacy') + webRouter.get('/login/legacy', UserPagesController.loginPage) + webRouter.post( + '/login/legacy', + RateLimiterMiddleware.rateLimit(overleafLoginRateLimiter), // rate limit IP (20 / 60s) + RateLimiterMiddleware.loginRateLimitEmail, // rate limit email (10 / 120s) + CaptchaMiddleware.validateCaptcha('login'), + AuthenticationController.passportLogin + ) + } + + webRouter.get( + '/read-only/one-time-login', + UserPagesController.oneTimeLoginPage + ) + AuthenticationController.addEndpointToLoginWhitelist( + '/read-only/one-time-login' + ) + + webRouter.post('/logout', UserController.logout) + + webRouter.get('/restricted', AuthorizationMiddleware.restricted) + + if (Features.hasFeature('registration-page')) { + webRouter.get('/register', UserPagesController.registerPage) + AuthenticationController.addEndpointToLoginWhitelist('/register') + } + + EditorRouter.apply(webRouter, privateApiRouter) + CollaboratorsRouter.apply(webRouter, privateApiRouter) + SubscriptionRouter.apply(webRouter, privateApiRouter, publicApiRouter) + UploadsRouter.apply(webRouter, privateApiRouter) + PasswordResetRouter.apply(webRouter, privateApiRouter) + StaticPagesRouter.apply(webRouter, privateApiRouter) + ContactRouter.apply(webRouter, privateApiRouter) + AnalyticsRouter.apply(webRouter, privateApiRouter, publicApiRouter) + LinkedFilesRouter.apply(webRouter, privateApiRouter, publicApiRouter) + TemplatesRouter.apply(webRouter) + UserMembershipRouter.apply(webRouter) + TokenAccessRouter.apply(webRouter) + + await Modules.applyRouter(webRouter, privateApiRouter, publicApiRouter) + + if (Settings.enableSubscriptions) { + webRouter.get( + '/user/bonus', + AuthenticationController.requireLogin(), + ReferalController.bonus + ) + } + + // .getMessages will generate an empty response for anonymous users. + webRouter.get('/system/messages', SystemMessageController.getMessages) + + webRouter.get( + '/user/settings', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserPagesController.settingsPage + ) + webRouter.post( + '/user/settings', + AuthenticationController.requireLogin(), + validate({ + body: Joi.object({ + first_name: Joi.string().allow(null, '').max(255), + last_name: Joi.string().allow(null, '').max(255), + }).unknown(), + }), + UserController.updateUserSettings + ) + webRouter.post( + '/user/password/update', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.changePassword), + PermissionsController.requirePermission('change-password'), + UserController.changePassword + ) + webRouter.get( + '/user/emails', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserController.promises.ensureAffiliationMiddleware, + UserEmailsController.list + ) + webRouter.get( + '/user/emails/confirm', + AuthenticationController.requireLogin(), + UserEmailsController.showConfirm + ) + webRouter.post( + '/user/emails/confirm', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.confirmEmail), + UserEmailsController.confirm + ) + webRouter.post( + '/user/emails/resend_confirmation', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.resendConfirmation), + await Modules.middleware('resendConfirmationEmail'), + UserEmailsController.resendConfirmation + ) + + webRouter.get( + '/user/emails/primary-email-check', + AuthenticationController.requireLogin(), + UserEmailsController.primaryEmailCheckPage + ) + + webRouter.post( + '/user/emails/primary-email-check', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserEmailsController.primaryEmailCheck + ) + + if (Features.hasFeature('affiliations')) { + webRouter.post( + '/user/emails', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + RateLimiterMiddleware.rateLimit(rateLimiters.addEmail), + CaptchaMiddleware.validateCaptcha('addEmail'), + UserEmailsController.add + ) + + webRouter.post( + '/user/emails/delete', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.deleteEmail), + await Modules.middleware('userDeleteEmail'), + UserEmailsController.remove + ) + webRouter.post( + '/user/emails/default', + AuthenticationController.requireLogin(), + UserEmailsController.setDefault + ) + webRouter.post( + '/user/emails/endorse', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('endorse-email'), + RateLimiterMiddleware.rateLimit(rateLimiters.endorseEmail), + UserEmailsController.endorse + ) + } + + if (Features.hasFeature('saas')) { + webRouter.get( + '/user/emails/add-secondary', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + UserEmailsController.addSecondaryEmailPage + ) + + webRouter.get( + '/user/emails/confirm-secondary', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + UserEmailsController.confirmSecondaryEmailPage + ) + } + + webRouter.get( + '/user/sessions', + AuthenticationController.requireLogin(), + UserPagesController.sessionsPage + ) + webRouter.post( + '/user/sessions/clear', + AuthenticationController.requireLogin(), + UserController.clearSessions + ) + + // deprecated + webRouter.delete( + '/user/newsletter/unsubscribe', + AuthenticationController.requireLogin(), + UserController.unsubscribe + ) + + webRouter.post( + '/user/newsletter/unsubscribe', + AuthenticationController.requireLogin(), + UserController.unsubscribe + ) + + webRouter.post( + '/user/newsletter/subscribe', + AuthenticationController.requireLogin(), + UserController.subscribe + ) + + webRouter.get( + '/user/email-preferences', + AuthenticationController.requireLogin(), + UserPagesController.emailPreferencesPage + ) + + webRouter.post( + '/user/delete', + RateLimiterMiddleware.rateLimit(rateLimiters.deleteUser), + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('delete-own-account'), + UserController.tryDeleteUser + ) + + webRouter.get( + '/user/personal_info', + AuthenticationController.requireLogin(), + UserInfoController.getLoggedInUsersPersonalInfo + ) + privateApiRouter.get( + '/user/:user_id/personal_info', + AuthenticationController.requirePrivateApiAuth(), + UserInfoController.getPersonalInfo + ) + + webRouter.get( + '/user/reconfirm', + UserPagesController.renderReconfirmAccountPage + ) + // for /user/reconfirm POST, see password router + + webRouter.get( + '/user/tpds/queues', + AuthenticationController.requireLogin(), + TpdsController.getQueues + ) + + webRouter.post( + '/tutorial/:tutorialKey/complete', + AuthenticationController.requireLogin(), + TutorialController.completeTutorial + ) + + webRouter.post( + '/tutorial/:tutorialKey/postpone', + AuthenticationController.requireLogin(), + TutorialController.postponeTutorial + ) + + webRouter.get( + '/user/projects', + AuthenticationController.requireLogin(), + ProjectController.userProjectsJson + ) + webRouter.get( + '/project/:Project_id/entities', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.projectEntitiesJson + ) + + webRouter.get( + '/project', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.openDashboard), + PermissionsController.useCapabilities(), + ProjectListController.projectListPage + ) + webRouter.post( + '/project/new', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.createProject), + ProjectController.newProject + ) + webRouter.post( + '/api/project', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.getProjects), + ProjectListController.getProjectsJson + ) + + for (const route of [ + // Keep the old route for continuous metrics + '/Project/:Project_id', + // New route for pdf-detach + '/Project/:Project_id/:detachRole(detacher|detached)', + ]) { + webRouter.get( + route, + RateLimiterMiddleware.rateLimit(openProjectRateLimiter, { + params: ['Project_id'], + }), + PermissionsController.useCapabilities(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.loadEditor + ) + } + webRouter.head( + '/Project/:Project_id/file/:File_id', + AuthorizationMiddleware.ensureUserCanReadProject, + FileStoreController.getFileHead + ) + webRouter.get( + '/Project/:Project_id/file/:File_id', + AuthorizationMiddleware.ensureUserCanReadProject, + FileStoreController.getFile + ) + webRouter.get( + '/Project/:Project_id/doc/:Doc_id/download', // "download" suffix to avoid conflict with private API route at doc/:doc_id + AuthorizationMiddleware.ensureUserCanReadProject, + DocumentUpdaterController.getDoc + ) + webRouter.post( + '/project/:Project_id/settings', + validate({ + body: Joi.object({ + publicAccessLevel: Joi.string() + .valid(PublicAccessLevels.PRIVATE, PublicAccessLevels.TOKEN_BASED) + .optional(), + }), + }), + AuthorizationMiddleware.ensureUserCanWriteProjectSettings, + ProjectController.updateProjectSettings + ) + webRouter.post( + '/project/:Project_id/settings/admin', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.updateProjectAdminSettings + ) + + webRouter.post( + '/project/:Project_id/compile', + RateLimiterMiddleware.rateLimit(rateLimiters.compileProjectHttp, { + params: ['Project_id'], + }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.compile + ) + + webRouter.post( + '/project/:Project_id/compile/stop', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.stopCompile + ) + + // LEGACY: Used by the web download buttons, adds filename header, TODO: remove at some future date + webRouter.get( + '/project/:Project_id/output/output.pdf', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // PDF Download button + webRouter.get( + /^\/download\/project\/([^/]*)\/output\/output\.pdf$/, + function (req, res, next) { + const params = { Project_id: req.params[0] } + req.params = params + next() + }, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // PDF Download button for specific build + webRouter.get( + /^\/download\/project\/([^/]*)\/build\/([0-9a-f-]+)\/output\/output\.pdf$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + build_id: req.params[1], + } + req.params = params + next() + }, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // Align with limits defined in CompileController.downloadPdf + const rateLimiterMiddlewareOutputFiles = RateLimiterMiddleware.rateLimit( + rateLimiters.miscOutputDownload, + { params: ['Project_id'] } + ) + + // Used by the pdf viewers + webRouter.get( + /^\/project\/([^/]*)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + file: req.params[1], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + // direct url access to output files for a specific build (query string not required) + webRouter.get( + /^\/project\/([^/]*)\/build\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + build_id: req.params[1], + file: req.params[2], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + // direct url access to output files for user but no build, to retrieve files when build fails + webRouter.get( + /^\/project\/([^/]*)\/user\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + user_id: req.params[1], + file: req.params[2], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + // direct url access to output files for a specific user and build (query string not required) + webRouter.get( + /^\/project\/([^/]*)\/user\/([0-9a-f]+)\/build\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + user_id: req.params[1], + build_id: req.params[2], + file: req.params[3], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + webRouter.delete( + '/project/:Project_id/output', + validate({ query: { clsiserverid: Joi.string() } }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.deleteAuxFiles + ) + webRouter.get( + '/project/:Project_id/sync/code', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.proxySyncCode + ) + webRouter.get( + '/project/:Project_id/sync/pdf', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.proxySyncPdf + ) + webRouter.get( + '/project/:Project_id/wordcount', + validate({ query: { clsiserverid: Joi.string() } }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.wordCount + ) + + webRouter.post( + '/Project/:Project_id/archive', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.archiveProject + ) + webRouter.delete( + '/Project/:Project_id/archive', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.unarchiveProject + ) + webRouter.post( + '/project/:project_id/trash', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.trashProject + ) + webRouter.delete( + '/project/:project_id/trash', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.untrashProject + ) + + webRouter.delete( + '/Project/:Project_id', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.deleteProject + ) + + webRouter.post( + '/Project/:Project_id/restore', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.restoreProject + ) + webRouter.post( + '/Project/:Project_id/clone', + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.cloneProject + ) + + webRouter.post( + '/project/:Project_id/rename', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.renameProject + ) + webRouter.get( + '/project/:Project_id/updates', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApiAndInjectUserDetails + ) + webRouter.get( + '/project/:Project_id/doc/:doc_id/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApi + ) + webRouter.get( + '/project/:Project_id/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApiAndInjectUserDetails + ) + webRouter.get( + '/project/:Project_id/filetree/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApi + ) + webRouter.post( + '/project/:project_id/restore_file', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.restoreFileFromV2 + ) + webRouter.post( + '/project/:project_id/revert_file', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.revertFile + ) + webRouter.post( + '/project/:project_id/revert-project', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.revertProject + ) + webRouter.get( + '/project/:project_id/version/:version/zip', + RateLimiterMiddleware.rateLimit(rateLimiters.downloadProjectRevision), + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.downloadZipOfVersion + ) + privateApiRouter.post( + '/project/:Project_id/history/resync', + AuthenticationController.requirePrivateApiAuth(), + HistoryController.resyncProjectHistory + ) + + webRouter.get( + '/project/:Project_id/labels', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.getLabels + ) + webRouter.post( + '/project/:Project_id/labels', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.createLabel + ) + webRouter.delete( + '/project/:Project_id/labels/:label_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.deleteLabel + ) + + webRouter.post( + '/project/:project_id/export/:brand_variation_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportProject + ) + webRouter.get( + '/project/:project_id/export/:export_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportStatus + ) + webRouter.get( + '/project/:project_id/export/:export_id/:type', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportDownload + ) + + webRouter.get( + '/Project/:Project_id/download/zip', + RateLimiterMiddleware.rateLimit(rateLimiters.zipDownload, { + params: ['Project_id'], + }), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectDownloadsController.downloadProject + ) + webRouter.get( + '/project/download/zip', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.multipleProjectsZipDownload), + AuthorizationMiddleware.ensureUserCanReadMultipleProjects, + ProjectDownloadsController.downloadMultipleProjects + ) + + webRouter.get( + '/project/:project_id/metadata', + AuthorizationMiddleware.ensureUserCanReadProject, + Settings.allowAnonymousReadAndWriteSharing + ? (req, res, next) => { + next() + } + : AuthenticationController.requireLogin(), + MetaController.getMetadata + ) + webRouter.post( + '/project/:project_id/doc/:doc_id/metadata', + AuthorizationMiddleware.ensureUserCanReadProject, + Settings.allowAnonymousReadAndWriteSharing + ? (req, res, next) => { + next() + } + : AuthenticationController.requireLogin(), + MetaController.broadcastMetadataForDoc + ) + privateApiRouter.post( + '/internal/expire-deleted-projects-after-duration', + AuthenticationController.requirePrivateApiAuth(), + ProjectController.expireDeletedProjectsAfterDuration + ) + privateApiRouter.post( + '/internal/expire-deleted-users-after-duration', + AuthenticationController.requirePrivateApiAuth(), + UserController.expireDeletedUsersAfterDuration + ) + privateApiRouter.post( + '/internal/project/:projectId/expire-deleted-project', + AuthenticationController.requirePrivateApiAuth(), + ProjectController.expireDeletedProject + ) + privateApiRouter.post( + '/internal/users/:userId/expire', + AuthenticationController.requirePrivateApiAuth(), + UserController.expireDeletedUser + ) + + privateApiRouter.get( + '/user/:userId/tag', + AuthenticationController.requirePrivateApiAuth(), + TagsController.apiGetAllTags + ) + webRouter.get( + '/tag', + AuthenticationController.requireLogin(), + TagsController.getAllTags + ) + webRouter.post( + '/tag', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.createTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + color: Joi.string(), + }), + }), + TagsController.createTag + ) + webRouter.post( + '/tag/:tagId/rename', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.renameTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + }), + }), + TagsController.renameTag + ) + webRouter.post( + '/tag/:tagId/edit', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.renameTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + color: Joi.string(), + }), + }), + TagsController.editTag + ) + webRouter.delete( + '/tag/:tagId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.deleteTag), + TagsController.deleteTag + ) + webRouter.post( + '/tag/:tagId/project/:projectId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.addProjectToTag), + TagsController.addProjectToTag + ) + webRouter.post( + '/tag/:tagId/projects', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.addProjectsToTag), + validate({ + body: Joi.object({ + projectIds: Joi.array().items(Joi.string()).required(), + }), + }), + TagsController.addProjectsToTag + ) + webRouter.delete( + '/tag/:tagId/project/:projectId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.removeProjectFromTag), + TagsController.removeProjectFromTag + ) + webRouter.post( + '/tag/:tagId/projects/remove', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.removeProjectsFromTag), + validate({ + body: Joi.object({ + projectIds: Joi.array().items(Joi.string()).required(), + }), + }), + TagsController.removeProjectsFromTag + ) + + webRouter.get( + '/notifications', + AuthenticationController.requireLogin(), + NotificationsController.getAllUnreadNotifications + ) + webRouter.delete( + '/notifications/:notificationId', + AuthenticationController.requireLogin(), + NotificationsController.markNotificationAsRead + ) + + // Deprecated in favour of /internal/project/:project_id but still used by versioning + privateApiRouter.get( + '/project/:project_id/details', + AuthenticationController.requirePrivateApiAuth(), + ProjectApiController.getProjectDetails + ) + + // New 'stable' /internal API end points + privateApiRouter.get( + '/internal/project/:project_id', + AuthenticationController.requirePrivateApiAuth(), + ProjectApiController.getProjectDetails + ) + privateApiRouter.get( + '/internal/project/:Project_id/zip', + AuthenticationController.requirePrivateApiAuth(), + ProjectDownloadsController.downloadProject + ) + privateApiRouter.get( + '/internal/project/:project_id/compile/pdf', + AuthenticationController.requirePrivateApiAuth(), + CompileController.compileAndDownloadPdf + ) + + privateApiRouter.post( + '/internal/deactivateOldProjects', + AuthenticationController.requirePrivateApiAuth(), + InactiveProjectController.deactivateOldProjects + ) + privateApiRouter.post( + '/internal/project/:project_id/deactivate', + AuthenticationController.requirePrivateApiAuth(), + InactiveProjectController.deactivateProject + ) + + privateApiRouter.get( + /^\/internal\/project\/([^/]*)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + file: req.params[1], + } + req.params = params + next() + }, + AuthenticationController.requirePrivateApiAuth(), + CompileController.getFileFromClsi + ) + + privateApiRouter.get( + '/project/:Project_id/doc/:doc_id', + AuthenticationController.requirePrivateApiAuth(), + DocumentController.getDocument + ) + privateApiRouter.post( + '/project/:Project_id/doc/:doc_id', + AuthenticationController.requirePrivateApiAuth(), + DocumentController.setDocument + ) + + privateApiRouter.post( + '/user/:user_id/project/new', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.createProject + ) + privateApiRouter.post( + '/tpds/folder-update', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.updateFolder + ) + privateApiRouter.post( + '/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.mergeUpdate + ) + privateApiRouter.delete( + '/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteUpdate + ) + privateApiRouter.post( + '/project/:project_id/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.mergeUpdate + ) + privateApiRouter.delete( + '/project/:project_id/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteUpdate + ) + + privateApiRouter.post( + '/project/:project_id/contents/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.updateProjectContents + ) + privateApiRouter.delete( + '/project/:project_id/contents/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteProjectContents + ) + + webRouter.post( + '/spelling/check', + AuthenticationController.requireLogin(), + SpellingController.proxyCheckRequestToSpellingApi + ) + webRouter.post( + '/spelling/learn', + validate({ + body: Joi.object({ + word: Joi.string().required(), + }), + }), + AuthenticationController.requireLogin(), + SpellingController.learn + ) + + webRouter.post( + '/spelling/unlearn', + validate({ + body: Joi.object({ + word: Joi.string().required(), + }), + }), + AuthenticationController.requireLogin(), + SpellingController.unlearn + ) + + if (Features.hasFeature('chat')) { + webRouter.get( + '/project/:project_id/messages', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + ChatController.getMessages + ) + webRouter.post( + '/project/:project_id/messages', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + RateLimiterMiddleware.rateLimit(rateLimiters.sendChatMessage), + ChatController.sendMessage + ) + } + + webRouter.post( + '/project/:Project_id/references/indexAll', + AuthorizationMiddleware.ensureUserCanReadProject, + RateLimiterMiddleware.rateLimit(rateLimiters.indexAllProjectReferences), + ReferencesController.indexAll + ) + + // disable beta program while v2 is in beta + webRouter.get( + '/beta/participate', + AuthenticationController.requireLogin(), + BetaProgramController.optInPage + ) + webRouter.post( + '/beta/opt-in', + AuthenticationController.requireLogin(), + BetaProgramController.optIn + ) + webRouter.post( + '/beta/opt-out', + AuthenticationController.requireLogin(), + BetaProgramController.optOut + ) + + webRouter.get('/chrome', function (req, res, next) { + // Match v1 behaviour - this is used for a Chrome web app + if (SessionManager.isUserLoggedIn(req.session)) { + res.redirect('/project') + } else { + res.redirect('/register') + } + }) + + webRouter.get( + '/admin', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.index + ) + + if (!Features.hasFeature('saas')) { + webRouter.post( + '/admin/openEditor', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.openEditor + ) + webRouter.post( + '/admin/closeEditor', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.closeEditor + ) + webRouter.post( + '/admin/disconnectAllUsers', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.disconnectAllUsers + ) + } + webRouter.post( + '/admin/flushProjectToTpds', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.flushProjectToTpds + ) + webRouter.post( + '/admin/pollDropboxForUser', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.pollDropboxForUser + ) + webRouter.post( + '/admin/messages', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.createMessage + ) + webRouter.post( + '/admin/messages/clear', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.clearMessages + ) + + privateApiRouter.get('/perfTest', (req, res) => { + plainTextResponse(res, 'hello') + }) + + publicApiRouter.get('/status', (req, res) => { + if (Settings.shuttingDown) { + res.sendStatus(503) // Service unavailable + } else if (!Settings.siteIsOpen) { + plainTextResponse(res, 'web site is closed (web)') + } else if (!Settings.editorIsOpen) { + plainTextResponse(res, 'web editor is closed (web)') + } else { + plainTextResponse(res, 'web is alive (web)') + } + }) + privateApiRouter.get('/status', (req, res) => { + plainTextResponse(res, 'web is alive (api)') + }) + + // used by kubernetes health-check and acceptance tests + webRouter.get('/dev/csrf', (req, res) => { + plainTextResponse(res, res.locals.csrfToken) + }) + + publicApiRouter.get( + '/health_check', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + privateApiRouter.get( + '/health_check', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + publicApiRouter.get( + '/health_check/api', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + privateApiRouter.get( + '/health_check/api', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + publicApiRouter.get( + '/health_check/full', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + privateApiRouter.get( + '/health_check/full', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + + publicApiRouter.get('/health_check/redis', HealthCheckController.checkRedis) + privateApiRouter.get('/health_check/redis', HealthCheckController.checkRedis) + + publicApiRouter.get('/health_check/mongo', HealthCheckController.checkMongo) + privateApiRouter.get('/health_check/mongo', HealthCheckController.checkMongo) + + webRouter.get( + '/status/compiler/:Project_id', + RateLimiterMiddleware.rateLimit(rateLimiters.statusCompiler), + AuthorizationMiddleware.ensureUserCanReadProject, + function (req, res) { + const projectId = req.params.Project_id + // use a valid user id for testing + const testUserId = '123456789012345678901234' + const sendRes = _.once(function (statusCode, message) { + res.status(statusCode) + plainTextResponse(res, message) + ClsiCookieManager.clearServerId(projectId, testUserId, () => {}) + }) // force every compile to a new server + // set a timeout + let handler = setTimeout(function () { + sendRes(500, 'Compiler timed out') + handler = null + }, 10000) + // run the compile + CompileManager.compile( + projectId, + testUserId, + {}, + function (error, status) { + if (handler) { + clearTimeout(handler) + } + if (error) { + sendRes(500, `Compiler returned error ${error.message}`) + } else if (status === 'success') { + sendRes(200, 'Compiler returned in less than 10 seconds') + } else { + sendRes(500, `Compiler returned failure ${status}`) + } + } + ) + } + ) + + webRouter.post('/error/client', function (req, res, next) { + logger.warn( + { err: req.body.error, meta: req.body.meta }, + 'client side error' + ) + metrics.inc('client-side-error') + res.sendStatus(204) + }) + + webRouter.get( + `/read/:token(${TokenAccessController.READ_ONLY_TOKEN_PATTERN})`, + RateLimiterMiddleware.rateLimit(rateLimiters.readOnlyToken), + AnalyticsRegistrationSourceMiddleware.setSource( + 'collaboration', + 'link-sharing' + ), + TokenAccessController.tokenAccessPage, + AnalyticsRegistrationSourceMiddleware.clearSource() + ) + + webRouter.get( + `/:token(${TokenAccessController.READ_AND_WRITE_TOKEN_PATTERN})`, + RateLimiterMiddleware.rateLimit(rateLimiters.readAndWriteToken), + AnalyticsRegistrationSourceMiddleware.setSource( + 'collaboration', + 'link-sharing' + ), + TokenAccessController.tokenAccessPage, + AnalyticsRegistrationSourceMiddleware.clearSource() + ) + + webRouter.post( + `/:token(${TokenAccessController.READ_AND_WRITE_TOKEN_PATTERN})/grant`, + RateLimiterMiddleware.rateLimit(rateLimiters.grantTokenAccessReadWrite), + TokenAccessController.grantTokenAccessReadAndWrite + ) + + webRouter.post( + `/read/:token(${TokenAccessController.READ_ONLY_TOKEN_PATTERN})/grant`, + RateLimiterMiddleware.rateLimit(rateLimiters.grantTokenAccessReadOnly), + TokenAccessController.grantTokenAccessReadOnly + ) + + webRouter.get('/unsupported-browser', renderUnsupportedBrowserPage) + + webRouter.get('*', ErrorController.notFound) +} + +export default { initialize, rateLimiters } diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/admin/index.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/admin/index.js new file mode 100644 index 0000000..08084f7 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/admin/index.js @@ -0,0 +1,1437 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, openSockets, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, systemMessages, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["bookmarkable-tabset-header"] = pug_interp = function(id, title, active){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([(active ? 'active' : '')], [true]), false, true)+" role=\"presentation\"") + "\u003E\u003Ca" + (pug.attr("href", '#' + id, true, true)+pug.attr("aria-controls", id, true, true)+" role=\"tab\" data-toggle=\"tab\""+pug.attr("data-ol-bookmarkable-tab", true, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EAdmin Panel\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-bookmarkable-tabset\u003E\u003Cul class=\"nav nav-tabs\" role=\"tablist\"\u003E"; +pug_mixins["bookmarkable-tabset-header"]('system-messages', 'System Messages', true); +pug_mixins["bookmarkable-tabset-header"]('open-sockets', 'Open Sockets'); +pug_mixins["bookmarkable-tabset-header"]('open-close-editor', 'Open/Close Editor'); +if (hasFeature('saas')) { +pug_mixins["bookmarkable-tabset-header"]('tpds', 'TPDS/Dropbox Management'); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"tab-content\"\u003E\u003Cdiv class=\"tab-pane active\" role=\"tabpanel\" id=\"system-messages\"\u003E"; +// iterate systemMessages +;(function(){ + var $$obj = systemMessages; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var message = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cdiv class=\"alert alert-info row-spaced\"\u003E" + (pug.escape(null == (pug_interp = message.content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var message = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cdiv class=\"alert alert-info row-spaced\"\u003E" + (pug.escape(null == (pug_interp = message.content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Chr\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002Fmessages\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"content\"\u003E\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" name=\"content\" type=\"text\" placeholder=\"Message…\" required\u003E\u003C\u002Fdiv\u003E\u003Cbutton class=\"btn btn-primary\" type=\"submit\"\u003EPost Message\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Chr\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002Fmessages\u002Fclear\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EClear all messages\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"open-sockets\"\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cul\u003E"; +// iterate openSockets +;(function(){ + var $$obj = openSockets; + if ('number' == typeof $$obj.length) { + for (var url = 0, $$l = $$obj.length; url < $$l; url++) { + var agents = $$obj[url]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = url) ? "" : pug_interp)) + " - total : " + (pug.escape(null == (pug_interp = agents.length) ? "" : pug_interp)) + "\u003Cul\u003E"; +// iterate agents +;(function(){ + var $$obj = agents; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var agent = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var agent = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var url in $$obj) { + $$l++; + var agents = $$obj[url]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = url) ? "" : pug_interp)) + " - total : " + (pug.escape(null == (pug_interp = agents.length) ? "" : pug_interp)) + "\u003Cul\u003E"; +// iterate agents +;(function(){ + var $$obj = agents; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var agent = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var agent = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"open-close-editor\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "The \"Open\u002FClose Editor\" feature is not available in SAAS."; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FcloseEditor\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EClose Editor\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill stop anyone opening the editor. Will NOT disconnect already connected users.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FdisconnectAllUsers\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EDisconnect all users\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill force disconnect all users with the editor open. Make sure to close the editor first to avoid them reconnecting.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FopenEditor\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EReopen Editor\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill reopen the editor after closing.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"tpds\"\u003E\u003Ch3\u003EFlush project to TPDS\u003C\u002Fh3\u003E\u003Cdiv class=\"row\"\u003E\u003Cform class=\"col-xs-6\" method=\"post\" action=\"\u002Fadmin\u002FflushProjectToTpds\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"project_id\"\u003Eproject_id\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" name=\"project_id\" placeholder=\"project_id\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\"\u003EFlush\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003Chr\u003E\u003Ch3\u003EPoll Dropbox for user\u003C\u002Fh3\u003E\u003Cdiv class=\"row\"\u003E\u003Cform class=\"col-xs-6\" method=\"post\" action=\"\u002Fadmin\u002FpollDropboxForUser\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"user_id\"\u003Euser_id\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" name=\"user_id\" placeholder=\"user_id\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\"\u003EPoll\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var item = $$obj[pug_index17]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var item = $$obj[pug_index17]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "openSockets" in locals_for_with ? + locals_for_with.openSockets : + typeof openSockets !== 'undefined' ? openSockets : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "systemMessages" in locals_for_with ? + locals_for_with.systemMessages : + typeof systemMessages !== 'undefined' ? systemMessages : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js new file mode 100644 index 0000000..7a31497 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js @@ -0,0 +1,1355 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["back-to-btns"] = pug_interp = function(settingsAnchor){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-secondary text-capitalize\""+pug.attr("href", `/user/settings${settingsAnchor ? '#' + settingsAnchor : '' }`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container beta-opt-in-wrapper\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("sharelatex_beta_program")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"beta-opt-in\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E"; +if (user.betaProgram) { +pug_html = pug_html + "\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_already_participating")) ? "" : pug_interp)) + ".\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("thank_you_for_being_part_of_our_beta_program", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_not_participating")) ? "" : pug_interp)) + ".\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("beta_program_benefits", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cp\u003E\u003Cstrong\u003EHow it works:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_badge_description")) ? "" : pug_interp)) + " \u003Cspan" + (" class=\"beta-badge\""+pug.attr("aria-label", translate("beta_feature_badge"), true, true)+" role=\"img\"") + "\u003E\u003C\u002Fspan\u003E\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("you_will_be_able_to_contact_us_any_time_to_share_your_feedback", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("we_may_also_contact_you_from_time_to_time_by_email_with_a_survey", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E" + (null == (pug_interp = translate("note_features_under_development", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-centered\"\u003E\u003Cdiv class=\"col-md-12\"\u003E"; +if (user.betaProgram) { +pug_html = pug_html + "\u003Cform data-ol-regular-form method=\"post\" action=\"\u002Fbeta\u002Fopt-out\" novalidate\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Ca class=\"btn btn-primary btn-lg\" href=\"https:\u002F\u002Fforms.gle\u002FCFEsmvZQTAwHCd3X9\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E" + (pug.escape(null == (pug_interp = translate("give_feedback")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn btn-secondary-info btn-secondary btn-sm\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_opt_out_action")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("processing")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +else { +pug_html = pug_html + "\u003Cform data-ol-regular-form method=\"post\" action=\"\u002Fbeta\u002Fopt-in\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn btn-primary\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_opt_in_action")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("joining")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["back-to-btns"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/404.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/404.js new file mode 100644 index 0000000..1edaeb1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/404.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"error-container\"\u003E\u003Cdiv class=\"error-details\"\u003E\u003Cp class=\"error-status\"\u003ENot found\u003C\u002Fp\u003E\u003Cp class=\"error-description\"\u003E" + (pug.escape(null == (pug_interp = translate("cant_find_page")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"error-actions\"\u003E\u003Ca class=\"error-btn\" href=\"\u002F\"\u003EHome\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/closed.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/closed.js new file mode 100644 index 0000000..8ea906e --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/closed.js @@ -0,0 +1,1342 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 text-center\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EMaintenance\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E"; +if (settings.statusPageUrl) { +pug_html = pug_html + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + " is currently down for maintenance.\nPlease check our \u003Ca" + (pug.attr("href", 'https://' + settings.statusPageUrl, true, true)) + "\u003Estatus page\u003C\u002Fa\u003E\nfor updates."; +} +else { +pug_html = pug_html + ((pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + " is currently down for maintenance.\nWe should be back within minutes, but if not, or you have\nan urgent request, please contact us at\n " + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp))); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/post-gateway.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/post-gateway.js new file mode 100644 index 0000000..dc5cfb8 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/post-gateway.js @@ -0,0 +1,1360 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, form_data, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate('processing_your_request')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-regular-form data-ol-auto-submit method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput hidden name=\"viaGateway\" type=\"submit\" value=\"true\"\u003E"; +// iterate Object.keys(form_data) +;(function(){ + var $$obj = Object.keys(form_data); + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var name = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cinput" + (pug.attr("name", name, true, true)+" type=\"hidden\""+pug.attr("value", form_data[name], true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var name = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cinput" + (pug.attr("name", name, true, true)+" type=\"hidden\""+pug.attr("value", form_data[name], true, true)) + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fform\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "form_data" in locals_for_with ? + locals_for_with.form_data : + typeof form_data !== 'undefined' ? form_data : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug new file mode 100644 index 0000000..bc9ff70 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug @@ -0,0 +1,40 @@ +footer.site-footer + - var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 + - var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 + .site-footer-content.hidden-print + .row + ul.col-md-9 + if hasFeature('saas') + li © #{new Date().getFullYear()} Overleaf + else if !settings.nav.hide_powered_by + li + //- year of Server Pro release, static + | © 2024 + | + a(href='https://www.overleaf.com/for/enterprises') Powered by Overleaf + + if showLanguagePicker || hasCustomLeftNav + li + strong.text-muted | + + if showLanguagePicker + include language-picker + + if showLanguagePicker && hasCustomLeftNav + li + strong.text-muted | + + each item in nav.left_footer + li + if item.url + a(href=item.url, class=item.class) !{translate(item.text)} + else + | !{item.text} + + ul.col-md-3.text-right + each item in nav.right_footer + li + if item.url + a(href=item.url, class=item.class, aria-label=item.label) !{item.text} + else + | !{item.text} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug new file mode 100644 index 0000000..c2e3bb1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug @@ -0,0 +1,185 @@ +include ../_mixins/navbar + +nav.navbar.navbar-default.navbar-main.navbar-expand-lg(class={ + 'website-redesign-navbar': isWebsiteRedesign +}) + .container-fluid.navbar-container + .navbar-header + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.me-2.d-md-none( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof suppressNavbarRight === "undefined") + button.navbar-toggler.collapsed( + type="button", + data-bs-toggle="collapse", + data-bs-target="#navbar-main-collapse" + aria-controls="navbar-main-collapse" + aria-expanded="false" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right.ms-auto(role="menubar") + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + +nav-item.dropdown.subdued + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | Admin + span.caret + +dropdown-menu.dropdown-menu-end + if canDisplayAdminMenu + +dropdown-menu-link-item()(href="/admin") Manage Site + +dropdown-menu-link-item()(href="/admin/user") Manage Users + +dropdown-menu-link-item()(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + +dropdown-menu-link-item()(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + +dropdown-menu-link-item()(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + +dropdown-menu-link-item()(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + +nav-item.dropdown(class=item.class) + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | !{translate(item.text)} + span.caret + +dropdown-menu.dropdown-menu-end + each child in item.dropdown + if child.divider + +dropdown-menu-divider + else if child.isContactUs + +dropdown-menu-link-item()(data-ol-open-contact-form-modal="contact-us" data-bs-target="#contactUsModal" href data-bs-toggle="modal") + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + if child.url + +dropdown-menu-link-item()( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + +dropdown-menu-item !{translate(child.text)} + else + +nav-item(class=item.class) + if item.url + +nav-link( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + +nav-item.primary + +nav-link( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + +nav-item + +nav-link( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + +nav-item + +nav-link(href="/project") #{translate('Projects')} + +nav-item.dropdown + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | #{translate('Account')} + span.caret + +dropdown-menu.dropdown-menu-end + +dropdown-menu-item + div.disabled.dropdown-item #{getSessionUser().email} + +dropdown-menu-divider + +dropdown-menu-link-item()(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + +dropdown-menu-link-item()(href="/user/subscription") #{translate('subscription')} + +dropdown-menu-divider + +dropdown-menu-item + //- + The button is outside the form but still belongs to it via the form attribute. The reason to do + this is that if the button is inside the form, screen readers will not count it in the total + number of menu items. + button.btn-link.text-left.dropdown-menu-button.dropdown-item( + role="menuitem", + tabindex="-1" + form="logOutForm" + ) + | #{translate('log_out')} + form( + method="POST", + action="/logout", + id="logOutForm" + ) + input(name='_csrf', type='hidden', value=csrfToken) diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug new file mode 100644 index 0000000..bd8db5b --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug @@ -0,0 +1,178 @@ +nav.navbar.navbar-default.navbar-main + .container-fluid + .navbar-header + if (typeof(suppressNavbarRight) == "undefined") + button.navbar-toggle.collapsed( + type="button", + data-toggle="collapse", + data-target="#navbar-main-collapse" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.pull-right.me-2.visible-xs( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof(suppressNavbarRight) == "undefined") + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + li.dropdown.subdued + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | Admin + span.caret + ul.dropdown-menu + if canDisplayAdminMenu + li + a(href="/admin") Manage Site + li + a(href="/admin/user") Manage Users + li + a(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + li + a(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + li + a(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + li + a(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + li.dropdown(class=item.class) + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | !{translate(item.text)} + span.caret + ul.dropdown-menu + each child in item.dropdown + if child.divider + li.divider + else if child.isContactUs + li + a(data-ol-open-contact-form-modal="contact-us" href) + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + li + if child.url + a( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + | !{translate(child.text)} + else + li(class=item.class) + if item.url + a( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + li.primary + a( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + li + a( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + li + a(href="/project") #{translate('Projects')} + li.dropdown + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | #{translate('Account')} + span.caret + ul.dropdown-menu + li + div.subdued #{getSessionUser().email} + li.divider.hidden-xs.hidden-sm + li + a(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + li + a(href="/user/subscription") #{translate('subscription')} + li.divider.hidden-xs.hidden-sm + li + form(method="POST" action="/logout") + input(name='_csrf', type='hidden', value=csrfToken) + button.btn-link.text-left.dropdown-menu-button #{translate('log_out')} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug new file mode 100644 index 0000000..82f3499 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug @@ -0,0 +1,178 @@ +nav.navbar.navbar-default.navbar-main.website-redesign-navbar + .container-fluid + .navbar-header + if (typeof(suppressNavbarRight) == "undefined") + button.navbar-toggle.collapsed( + type="button", + data-toggle="collapse", + data-target="#navbar-main-collapse" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.pull-right.me-2.visible-xs( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof(suppressNavbarRight) == "undefined") + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + li.dropdown.subdued + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | Admin + span.caret + ul.dropdown-menu + if canDisplayAdminMenu + li + a(href="/admin") Manage Site + li + a(href="/admin/user") Manage Users + li + a(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + li + a(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + li + a(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + li + a(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + li.dropdown(class=item.class) + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | !{translate(item.text)} + span.caret + ul.dropdown-menu + each child in item.dropdown + if child.divider + li.divider + else if child.isContactUs + li + a(data-ol-open-contact-form-modal="contact-us" href) + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + li + if child.url + a( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + | !{translate(child.text)} + else + li(class=item.class) + if item.url + a( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + li.primary + a( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + li.secondary + a( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + li.secondary + a(href="/project") #{translate('Projects')} + li.secondary.dropdown + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | #{translate('Account')} + span.caret + ul.dropdown-menu + li + div.subdued #{getSessionUser().email} + li.divider.hidden-xs.hidden-sm + li + a(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + li + a(href="/user/subscription") #{translate('subscription')} + li.divider.hidden-xs.hidden-sm + li + form(method="POST" action="/logout") + input(name='_csrf', type='hidden', value=csrfToken) + button.btn-link.text-left.dropdown-menu-button #{translate('log_out')} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js new file mode 100644 index 0000000..d33bfe1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js @@ -0,0 +1,1356 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, brandVariationId, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, compiler, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, imageName, isManagedAccount, mainFile, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, templateId, templateVersionId, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"editor full-size\"\u003E\u003Cdiv class=\"loading-screen\"\u003E\u003Cdiv class=\"loading-screen-brand-container\"\u003E\u003Cdiv class=\"loading-screen-brand\" style=\"height: 20%;\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Ch3 class=\"loading-screen-label\"\u003E" + (pug.escape(null == (pug_interp = translate("Opening template")) ? "" : pug_interp)) + "\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-regular-form data-ol-auto-submit method=\"POST\" action=\"\u002Fproject\u002Fnew\u002Ftemplate\u002F\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateId\""+pug.attr("value", templateId, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateVersionId\""+pug.attr("value", templateVersionId, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateName\""+pug.attr("value", name, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"compiler\""+pug.attr("value", compiler, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"imageName\""+pug.attr("value", imageName, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"mainFile\""+pug.attr("value", mainFile, true, true)) + "\u003E"; +if (brandVariationId) { +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"brandVariationId\""+pug.attr("value", brandVariationId, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cinput hidden type=\"submit\"\u003E\u003C\u002Fform\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "brandVariationId" in locals_for_with ? + locals_for_with.brandVariationId : + typeof brandVariationId !== 'undefined' ? brandVariationId : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "compiler" in locals_for_with ? + locals_for_with.compiler : + typeof compiler !== 'undefined' ? compiler : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "imageName" in locals_for_with ? + locals_for_with.imageName : + typeof imageName !== 'undefined' ? imageName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mainFile" in locals_for_with ? + locals_for_with.mainFile : + typeof mainFile !== 'undefined' ? mainFile : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "templateId" in locals_for_with ? + locals_for_with.templateId : + typeof templateId !== 'undefined' ? templateId : undefined, "templateVersionId" in locals_for_with ? + locals_for_with.templateVersionId : + typeof templateVersionId !== 'undefined' ? templateVersionId : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js new file mode 100644 index 0000000..95f785e --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js @@ -0,0 +1,992 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allowedImageNames, anonymous, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, chatEnabled, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, debugPdfDetach, deferScripts, detachRole, dictionariesRoot, editorThemes, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, gitBridgePublicBaseUrl, hasAdminAccess, hasCustomLeftNav, hasFeature, hasTrackChangesFeature, hideFatFooter, isManagedAccount, isRestrictedTokenMember, isSaas, isTokenMember, languages, learnedWords, legacyEditorThemes, linkSharingEnforcement, linkSharingWarning, mathJaxPath, maxDocLength, metadata, moduleIncludes, nav, overallThemes, projectDashboardReact, projectName, projectTags, project_id, roMirrorOnClientNoLocalStorage, scriptNonce, settings, showAiErrorAssistant, showLanguagePicker, showSupport, showSymbolPalette, showTemplatesServerPro, showThinFooter, showUpgradePrompt, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, symbolPaletteAvailable, title, translate, useOpenTelemetry, usedLatex, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'ide-detached' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var suppressCookieBanner = true +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-project_id\""+pug.attr("content", project_id, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectName\""+pug.attr("content", projectName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userSettings\" data-type=\"json\""+pug.attr("content", userSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-learnedWords\" data-type=\"json\""+pug.attr("content", learnedWords, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-anonymous\" data-type=\"boolean\""+pug.attr("content", anonymous, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-brandVariation\" data-type=\"json\""+pug.attr("content", brandVariation, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isTokenMember\" data-type=\"boolean\""+pug.attr("content", isTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isRestrictedTokenMember\" data-type=\"boolean\""+pug.attr("content", isRestrictedTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-maxDocLength\" data-type=\"json\""+pug.attr("content", maxDocLength, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wikiEnabled\" data-type=\"boolean\""+pug.attr("content", settings.proxyLearn, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-chatEnabled\" data-type=\"boolean\""+pug.attr("content", chatEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgePublicBaseUrl\""+pug.attr("content", gitBridgePublicBaseUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-compilesUserContentDomain\""+pug.attr("content", settings.compilesUserContentDomain, true, true)) + "\u003E\u003Cmeta name=\"ol-useShareJsHash\" data-type=\"boolean\" content\u003E\u003Cmeta" + (" name=\"ol-wsUrl\" data-type=\"string\""+pug.attr("content", wsUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wsRetryHandshake\" data-type=\"json\""+pug.attr("content", settings.wsRetryHandshake, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-debugPdfDetach\" data-type=\"boolean\""+pug.attr("content", debugPdfDetach, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSymbolPalette\" data-type=\"boolean\""+pug.attr("content", showSymbolPalette, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-symbolPaletteAvailable\" data-type=\"boolean\""+pug.attr("content", symbolPaletteAvailable, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showAiErrorAssistant\" data-type=\"boolean\""+pug.attr("content", showAiErrorAssistant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-detachRole\" data-type=\"string\""+pug.attr("content", detachRole, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allowedImageNames\" data-type=\"json\""+pug.attr("content", allowedImageNames, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-languages\" data-type=\"json\""+pug.attr("content", languages, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-editorThemes\" data-type=\"json\""+pug.attr("content", editorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-legacyEditorThemes\" data-type=\"json\""+pug.attr("content", legacyEditorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUpgradePrompt\" data-type=\"boolean\""+pug.attr("content", showUpgradePrompt, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-useOpenTelemetry\" data-type=\"boolean\""+pug.attr("content", useOpenTelemetry, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSupport\" data-type=\"boolean\""+pug.attr("content", showSupport, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showTemplatesServerPro\" data-type=\"boolean\""+pug.attr("content", showTemplatesServerPro, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasTrackChangesFeature\" data-type=\"boolean\""+pug.attr("content", hasTrackChangesFeature, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inactiveTutorials\" data-type=\"json\""+pug.attr("content", user.inactiveTutorials, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectTags\" data-type=\"json\""+pug.attr("content", projectTags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingWarning\" data-type=\"boolean\""+pug.attr("content", linkSharingWarning, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingEnforcement\" data-type=\"boolean\""+pug.attr("content", linkSharingEnforcement, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usedLatex\" data-type=\"string\""+pug.attr("content", usedLatex, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ro-mirror-on-client-no-local-storage\" data-type=\"boolean\""+pug.attr("content", roMirrorOnClientNoLocalStorage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003C!-- translations for the loading page, before i18n has loaded in the client--\u003E\u003Cmeta" + (" name=\"ol-loadingText\" data-type=\"string\""+pug.attr("content", translate("loading"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationIoNotLoaded\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_websocket_server"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationLoadErrorMessage\" data-type=\"string\""+pug.attr("content", translate("could_not_load_translations"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationUnableToJoin\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_collaboration_server"), true, true)) + "\u003E"; +if ((settings.overleaf != null)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-overallThemes\" data-type=\"json\""+pug.attr("content", overallThemes, true, true)) + "\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("editor:meta", locals)) ? "" : pug_interp) + "\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv id=\"pdf-preview-detached-root\"\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allowedImageNames" in locals_for_with ? + locals_for_with.allowedImageNames : + typeof allowedImageNames !== 'undefined' ? allowedImageNames : undefined, "anonymous" in locals_for_with ? + locals_for_with.anonymous : + typeof anonymous !== 'undefined' ? anonymous : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "chatEnabled" in locals_for_with ? + locals_for_with.chatEnabled : + typeof chatEnabled !== 'undefined' ? chatEnabled : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "debugPdfDetach" in locals_for_with ? + locals_for_with.debugPdfDetach : + typeof debugPdfDetach !== 'undefined' ? debugPdfDetach : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "detachRole" in locals_for_with ? + locals_for_with.detachRole : + typeof detachRole !== 'undefined' ? detachRole : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "editorThemes" in locals_for_with ? + locals_for_with.editorThemes : + typeof editorThemes !== 'undefined' ? editorThemes : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "gitBridgePublicBaseUrl" in locals_for_with ? + locals_for_with.gitBridgePublicBaseUrl : + typeof gitBridgePublicBaseUrl !== 'undefined' ? gitBridgePublicBaseUrl : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasTrackChangesFeature" in locals_for_with ? + locals_for_with.hasTrackChangesFeature : + typeof hasTrackChangesFeature !== 'undefined' ? hasTrackChangesFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isRestrictedTokenMember" in locals_for_with ? + locals_for_with.isRestrictedTokenMember : + typeof isRestrictedTokenMember !== 'undefined' ? isRestrictedTokenMember : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "isTokenMember" in locals_for_with ? + locals_for_with.isTokenMember : + typeof isTokenMember !== 'undefined' ? isTokenMember : undefined, "languages" in locals_for_with ? + locals_for_with.languages : + typeof languages !== 'undefined' ? languages : undefined, "learnedWords" in locals_for_with ? + locals_for_with.learnedWords : + typeof learnedWords !== 'undefined' ? learnedWords : undefined, "legacyEditorThemes" in locals_for_with ? + locals_for_with.legacyEditorThemes : + typeof legacyEditorThemes !== 'undefined' ? legacyEditorThemes : undefined, "linkSharingEnforcement" in locals_for_with ? + locals_for_with.linkSharingEnforcement : + typeof linkSharingEnforcement !== 'undefined' ? linkSharingEnforcement : undefined, "linkSharingWarning" in locals_for_with ? + locals_for_with.linkSharingWarning : + typeof linkSharingWarning !== 'undefined' ? linkSharingWarning : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "maxDocLength" in locals_for_with ? + locals_for_with.maxDocLength : + typeof maxDocLength !== 'undefined' ? maxDocLength : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overallThemes" in locals_for_with ? + locals_for_with.overallThemes : + typeof overallThemes !== 'undefined' ? overallThemes : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectName" in locals_for_with ? + locals_for_with.projectName : + typeof projectName !== 'undefined' ? projectName : undefined, "projectTags" in locals_for_with ? + locals_for_with.projectTags : + typeof projectTags !== 'undefined' ? projectTags : undefined, "project_id" in locals_for_with ? + locals_for_with.project_id : + typeof project_id !== 'undefined' ? project_id : undefined, "roMirrorOnClientNoLocalStorage" in locals_for_with ? + locals_for_with.roMirrorOnClientNoLocalStorage : + typeof roMirrorOnClientNoLocalStorage !== 'undefined' ? roMirrorOnClientNoLocalStorage : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showAiErrorAssistant" in locals_for_with ? + locals_for_with.showAiErrorAssistant : + typeof showAiErrorAssistant !== 'undefined' ? showAiErrorAssistant : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSupport" in locals_for_with ? + locals_for_with.showSupport : + typeof showSupport !== 'undefined' ? showSupport : undefined, "showSymbolPalette" in locals_for_with ? + locals_for_with.showSymbolPalette : + typeof showSymbolPalette !== 'undefined' ? showSymbolPalette : undefined, "showTemplatesServerPro" in locals_for_with ? + locals_for_with.showTemplatesServerPro : + typeof showTemplatesServerPro !== 'undefined' ? showTemplatesServerPro : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUpgradePrompt" in locals_for_with ? + locals_for_with.showUpgradePrompt : + typeof showUpgradePrompt !== 'undefined' ? showUpgradePrompt : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "symbolPaletteAvailable" in locals_for_with ? + locals_for_with.symbolPaletteAvailable : + typeof symbolPaletteAvailable !== 'undefined' ? symbolPaletteAvailable : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "useOpenTelemetry" in locals_for_with ? + locals_for_with.useOpenTelemetry : + typeof useOpenTelemetry !== 'undefined' ? useOpenTelemetry : undefined, "usedLatex" in locals_for_with ? + locals_for_with.usedLatex : + typeof usedLatex !== 'undefined' ? usedLatex : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react.js new file mode 100644 index 0000000..b9027c0 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react.js @@ -0,0 +1,1013 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allowedImageNames, anonymous, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, chatEnabled, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, debugPdfDetach, deferScripts, detachRole, dictionariesRoot, editorThemes, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, gitBridgePublicBaseUrl, hasAdminAccess, hasCustomLeftNav, hasFeature, hasTrackChangesFeature, hideFatFooter, isManagedAccount, isRestrictedTokenMember, isSaas, isTokenMember, languages, learnedWords, legacyEditorThemes, linkSharingEnforcement, linkSharingWarning, mathJaxPath, maxDocLength, metadata, moduleIncludes, nav, overallThemes, projectDashboardReact, projectName, projectTags, project_id, roMirrorOnClientNoLocalStorage, scriptNonce, settings, showAiErrorAssistant, showLanguagePicker, showSupport, showSymbolPalette, showTemplatesServerPro, showThinFooter, showUpgradePrompt, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, symbolPaletteAvailable, title, translate, useOpenTelemetry, usedLatex, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/ide' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var deferScripts = true +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-ide' +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-project_id\""+pug.attr("content", project_id, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectName\""+pug.attr("content", projectName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userSettings\" data-type=\"json\""+pug.attr("content", userSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-learnedWords\" data-type=\"json\""+pug.attr("content", learnedWords, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-anonymous\" data-type=\"boolean\""+pug.attr("content", anonymous, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-brandVariation\" data-type=\"json\""+pug.attr("content", brandVariation, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isTokenMember\" data-type=\"boolean\""+pug.attr("content", isTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isRestrictedTokenMember\" data-type=\"boolean\""+pug.attr("content", isRestrictedTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-maxDocLength\" data-type=\"json\""+pug.attr("content", maxDocLength, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wikiEnabled\" data-type=\"boolean\""+pug.attr("content", settings.proxyLearn, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-chatEnabled\" data-type=\"boolean\""+pug.attr("content", chatEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgePublicBaseUrl\""+pug.attr("content", gitBridgePublicBaseUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-compilesUserContentDomain\""+pug.attr("content", settings.compilesUserContentDomain, true, true)) + "\u003E\u003Cmeta name=\"ol-useShareJsHash\" data-type=\"boolean\" content\u003E\u003Cmeta" + (" name=\"ol-wsUrl\" data-type=\"string\""+pug.attr("content", wsUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wsRetryHandshake\" data-type=\"json\""+pug.attr("content", settings.wsRetryHandshake, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-debugPdfDetach\" data-type=\"boolean\""+pug.attr("content", debugPdfDetach, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSymbolPalette\" data-type=\"boolean\""+pug.attr("content", showSymbolPalette, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-symbolPaletteAvailable\" data-type=\"boolean\""+pug.attr("content", symbolPaletteAvailable, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showAiErrorAssistant\" data-type=\"boolean\""+pug.attr("content", showAiErrorAssistant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-detachRole\" data-type=\"string\""+pug.attr("content", detachRole, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allowedImageNames\" data-type=\"json\""+pug.attr("content", allowedImageNames, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-languages\" data-type=\"json\""+pug.attr("content", languages, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-editorThemes\" data-type=\"json\""+pug.attr("content", editorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-legacyEditorThemes\" data-type=\"json\""+pug.attr("content", legacyEditorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUpgradePrompt\" data-type=\"boolean\""+pug.attr("content", showUpgradePrompt, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-useOpenTelemetry\" data-type=\"boolean\""+pug.attr("content", useOpenTelemetry, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSupport\" data-type=\"boolean\""+pug.attr("content", showSupport, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showTemplatesServerPro\" data-type=\"boolean\""+pug.attr("content", showTemplatesServerPro, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasTrackChangesFeature\" data-type=\"boolean\""+pug.attr("content", hasTrackChangesFeature, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inactiveTutorials\" data-type=\"json\""+pug.attr("content", user.inactiveTutorials, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectTags\" data-type=\"json\""+pug.attr("content", projectTags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingWarning\" data-type=\"boolean\""+pug.attr("content", linkSharingWarning, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingEnforcement\" data-type=\"boolean\""+pug.attr("content", linkSharingEnforcement, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usedLatex\" data-type=\"string\""+pug.attr("content", usedLatex, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ro-mirror-on-client-no-local-storage\" data-type=\"boolean\""+pug.attr("content", roMirrorOnClientNoLocalStorage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003C!-- translations for the loading page, before i18n has loaded in the client--\u003E\u003Cmeta" + (" name=\"ol-loadingText\" data-type=\"string\""+pug.attr("content", translate("loading"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationIoNotLoaded\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_websocket_server"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationLoadErrorMessage\" data-type=\"string\""+pug.attr("content", translate("could_not_load_translations"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationUnableToJoin\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_collaboration_server"), true, true)) + "\u003E"; +if ((settings.overleaf != null)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-overallThemes\" data-type=\"json\""+pug.attr("content", overallThemes, true, true)) + "\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("editor:meta", locals)) ? "" : pug_interp) + "\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain id=\"ide-root\"\u003E\u003Cdiv class=\"loading-screen\"\u003E\u003Cdiv class=\"loading-screen-brand-container\"\u003E\u003Cdiv class=\"loading-screen-brand\" style=\"height: 20%;\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Ch3 class=\"loading-screen-label\"\u003E" + (pug.escape(null == (pug_interp = translate("loading")) ? "" : pug_interp)) + "\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +// iterate (useOpenTelemetry ? entrypointScripts("tracing") : []) +;(function(){ + var $$obj = (useOpenTelemetry ? entrypointScripts("tracing") : []); + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var file = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var file = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", (wsUrl || '/socket.io') + '/socket.io.js', true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allowedImageNames" in locals_for_with ? + locals_for_with.allowedImageNames : + typeof allowedImageNames !== 'undefined' ? allowedImageNames : undefined, "anonymous" in locals_for_with ? + locals_for_with.anonymous : + typeof anonymous !== 'undefined' ? anonymous : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "chatEnabled" in locals_for_with ? + locals_for_with.chatEnabled : + typeof chatEnabled !== 'undefined' ? chatEnabled : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "debugPdfDetach" in locals_for_with ? + locals_for_with.debugPdfDetach : + typeof debugPdfDetach !== 'undefined' ? debugPdfDetach : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "detachRole" in locals_for_with ? + locals_for_with.detachRole : + typeof detachRole !== 'undefined' ? detachRole : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "editorThemes" in locals_for_with ? + locals_for_with.editorThemes : + typeof editorThemes !== 'undefined' ? editorThemes : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "gitBridgePublicBaseUrl" in locals_for_with ? + locals_for_with.gitBridgePublicBaseUrl : + typeof gitBridgePublicBaseUrl !== 'undefined' ? gitBridgePublicBaseUrl : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasTrackChangesFeature" in locals_for_with ? + locals_for_with.hasTrackChangesFeature : + typeof hasTrackChangesFeature !== 'undefined' ? hasTrackChangesFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isRestrictedTokenMember" in locals_for_with ? + locals_for_with.isRestrictedTokenMember : + typeof isRestrictedTokenMember !== 'undefined' ? isRestrictedTokenMember : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "isTokenMember" in locals_for_with ? + locals_for_with.isTokenMember : + typeof isTokenMember !== 'undefined' ? isTokenMember : undefined, "languages" in locals_for_with ? + locals_for_with.languages : + typeof languages !== 'undefined' ? languages : undefined, "learnedWords" in locals_for_with ? + locals_for_with.learnedWords : + typeof learnedWords !== 'undefined' ? learnedWords : undefined, "legacyEditorThemes" in locals_for_with ? + locals_for_with.legacyEditorThemes : + typeof legacyEditorThemes !== 'undefined' ? legacyEditorThemes : undefined, "linkSharingEnforcement" in locals_for_with ? + locals_for_with.linkSharingEnforcement : + typeof linkSharingEnforcement !== 'undefined' ? linkSharingEnforcement : undefined, "linkSharingWarning" in locals_for_with ? + locals_for_with.linkSharingWarning : + typeof linkSharingWarning !== 'undefined' ? linkSharingWarning : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "maxDocLength" in locals_for_with ? + locals_for_with.maxDocLength : + typeof maxDocLength !== 'undefined' ? maxDocLength : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overallThemes" in locals_for_with ? + locals_for_with.overallThemes : + typeof overallThemes !== 'undefined' ? overallThemes : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectName" in locals_for_with ? + locals_for_with.projectName : + typeof projectName !== 'undefined' ? projectName : undefined, "projectTags" in locals_for_with ? + locals_for_with.projectTags : + typeof projectTags !== 'undefined' ? projectTags : undefined, "project_id" in locals_for_with ? + locals_for_with.project_id : + typeof project_id !== 'undefined' ? project_id : undefined, "roMirrorOnClientNoLocalStorage" in locals_for_with ? + locals_for_with.roMirrorOnClientNoLocalStorage : + typeof roMirrorOnClientNoLocalStorage !== 'undefined' ? roMirrorOnClientNoLocalStorage : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showAiErrorAssistant" in locals_for_with ? + locals_for_with.showAiErrorAssistant : + typeof showAiErrorAssistant !== 'undefined' ? showAiErrorAssistant : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSupport" in locals_for_with ? + locals_for_with.showSupport : + typeof showSupport !== 'undefined' ? showSupport : undefined, "showSymbolPalette" in locals_for_with ? + locals_for_with.showSymbolPalette : + typeof showSymbolPalette !== 'undefined' ? showSymbolPalette : undefined, "showTemplatesServerPro" in locals_for_with ? + locals_for_with.showTemplatesServerPro : + typeof showTemplatesServerPro !== 'undefined' ? showTemplatesServerPro : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUpgradePrompt" in locals_for_with ? + locals_for_with.showUpgradePrompt : + typeof showUpgradePrompt !== 'undefined' ? showUpgradePrompt : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "symbolPaletteAvailable" in locals_for_with ? + locals_for_with.symbolPaletteAvailable : + typeof symbolPaletteAvailable !== 'undefined' ? symbolPaletteAvailable : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "useOpenTelemetry" in locals_for_with ? + locals_for_with.useOpenTelemetry : + typeof useOpenTelemetry !== 'undefined' ? useOpenTelemetry : undefined, "usedLatex" in locals_for_with ? + locals_for_with.usedLatex : + typeof usedLatex !== 'undefined' ? usedLatex : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js new file mode 100644 index 0000000..65f82cd --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card project-invite-invalid\"\u003E\u003Cdiv class=\"page-header text-centered\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("invite_not_valid")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invite_not_valid_description")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center actions\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ca class=\"btn btn-secondary-info btn-secondary\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate("back_to_your_projects")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/show.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/show.js new file mode 100644 index 0000000..5c7b3ba --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/show.js @@ -0,0 +1,1343 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, invite, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, owner, project, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card project-invite-accept\"\u003E\u003Cdiv class=\"page-header text-centered\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("user_wants_you_to_see_project", {username:owner.first_name, projectname:""})) ? "" : pug_interp)) + "\u003Cbr\u003E\u003Cem\u003E" + (pug.escape(null == (pug_interp = project.name) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("accepting_invite_as")) ? "" : pug_interp)) + " \u003Cem\u003E" + (pug.escape(null == (pug_interp = user.email) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cform" + (" class=\"form\""+pug.attr("data-ol-regular-form", true, true, true)+" method=\"POST\""+pug.attr("action", "/project/"+invite.projectId+"/invite/token/"+token+"/accept", true, true)) + "\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" name=\"token\" type=\"hidden\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv class=\"form-group text-center\"\u003E\u003Cbutton class=\"btn btn-lg btn-primary\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("join_project")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("joining")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group text-center\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "invite" in locals_for_with ? + locals_for_with.invite : + typeof invite !== 'undefined' ? invite : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "owner" in locals_for_with ? + locals_for_with.owner : + typeof owner !== 'undefined' ? owner : undefined, "project" in locals_for_with ? + locals_for_with.project : + typeof project !== 'undefined' ? project : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/list-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/list-react.js new file mode 100644 index 0000000..da9ba21 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/list-react.js @@ -0,0 +1,975 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allInReconfirmNotificationPeriods, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSsoSetupSuccess, groupSubscriptionsPendingEnrollment, groupsAndEnterpriseBannerVariant, hasAdminAccess, hasCustomLeftNav, hasFeature, hasIndividualRecurlySubscription, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, notifications, notificationsInstitution, portalTemplates, prefetchedProjectsBlob, projectDashboardReact, recommendedCurrency, reconfirmedViaSAML, scriptNonce, settings, showBrlGeoBanner, showGroupsAndEnterpriseBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, showUSGovBanner, showWritefullPromoBanner, splitTestInfo, splitTestVariants, suggestedLanguageSubdomainConfig, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, survey, tags, title, translate, usGovBannerVariant, user, userAffiliations, userEmails, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/project-list' +var suppressNavContentLinks = true +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-project-dashboard' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-usersBestSubscription\" data-type=\"json\""+pug.attr("content", usersBestSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-notifications\" data-type=\"json\""+pug.attr("content", notifications, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-notificationsInstitution\" data-type=\"json\""+pug.attr("content", notificationsInstitution, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userEmails\" data-type=\"json\""+pug.attr("content", userEmails, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allInReconfirmNotificationPeriods\" data-type=\"json\""+pug.attr("content", allInReconfirmNotificationPeriods, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userAffiliations\" data-type=\"json\""+pug.attr("content", userAffiliations, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmedViaSAML\""+pug.attr("content", reconfirmedViaSAML, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-survey\" data-type=\"json\""+pug.attr("content", survey, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-tags\" data-type=\"json\""+pug.attr("content", tags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-portalTemplates\" data-type=\"json\""+pug.attr("content", portalTemplates, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-prefetchedProjectsBlob\" data-type=\"json\""+pug.attr("content", prefetchedProjectsBlob, true, true)) + "\u003E"; +if ((suggestedLanguageSubdomainConfig)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-suggestedLanguage\" data-type=\"json\""+pug.attr("content", Object.assign(suggestedLanguageSubdomainConfig, { + lngName: translate(suggestedLanguageSubdomainConfig.lngCode), + imgUrl: buildImgPath("flags/24/" + suggestedLanguageSubdomainConfig.lngCode + ".png") + }), true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-currentUrl\" data-type=\"string\""+pug.attr("content", currentUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showGroupsAndEnterpriseBanner\" data-type=\"boolean\""+pug.attr("content", showGroupsAndEnterpriseBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showWritefullPromoBanner\" data-type=\"boolean\""+pug.attr("content", showWritefullPromoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupsAndEnterpriseBannerVariant\" data-type=\"string\""+pug.attr("content", groupsAndEnterpriseBannerVariant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showInrGeoBanner\" data-type=\"boolean\""+pug.attr("content", showInrGeoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showBrlGeoBanner\" data-type=\"boolean\""+pug.attr("content", showBrlGeoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\" data-type=\"string\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showLATAMBanner\" data-type=\"boolean\""+pug.attr("content", showLATAMBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSubscriptionsPendingEnrollment\" data-type=\"json\""+pug.attr("content", groupSubscriptionsPendingEnrollment, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasIndividualRecurlySubscription\" data-type=\"boolean\""+pug.attr("content", hasIndividualRecurlySubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSsoSetupSuccess\" data-type=\"boolean\""+pug.attr("content", groupSsoSetupSuccess, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUSGovBanner\" data-type=\"boolean\""+pug.attr("content", showUSGovBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usGovBannerVariant\" data-type=\"string\""+pug.attr("content", usGovBannerVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt project-list-react\" id=\"main-content\"\u003E\u003Cdiv id=\"project-list-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allInReconfirmNotificationPeriods" in locals_for_with ? + locals_for_with.allInReconfirmNotificationPeriods : + typeof allInReconfirmNotificationPeriods !== 'undefined' ? allInReconfirmNotificationPeriods : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSsoSetupSuccess" in locals_for_with ? + locals_for_with.groupSsoSetupSuccess : + typeof groupSsoSetupSuccess !== 'undefined' ? groupSsoSetupSuccess : undefined, "groupSubscriptionsPendingEnrollment" in locals_for_with ? + locals_for_with.groupSubscriptionsPendingEnrollment : + typeof groupSubscriptionsPendingEnrollment !== 'undefined' ? groupSubscriptionsPendingEnrollment : undefined, "groupsAndEnterpriseBannerVariant" in locals_for_with ? + locals_for_with.groupsAndEnterpriseBannerVariant : + typeof groupsAndEnterpriseBannerVariant !== 'undefined' ? groupsAndEnterpriseBannerVariant : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasIndividualRecurlySubscription" in locals_for_with ? + locals_for_with.hasIndividualRecurlySubscription : + typeof hasIndividualRecurlySubscription !== 'undefined' ? hasIndividualRecurlySubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "notifications" in locals_for_with ? + locals_for_with.notifications : + typeof notifications !== 'undefined' ? notifications : undefined, "notificationsInstitution" in locals_for_with ? + locals_for_with.notificationsInstitution : + typeof notificationsInstitution !== 'undefined' ? notificationsInstitution : undefined, "portalTemplates" in locals_for_with ? + locals_for_with.portalTemplates : + typeof portalTemplates !== 'undefined' ? portalTemplates : undefined, "prefetchedProjectsBlob" in locals_for_with ? + locals_for_with.prefetchedProjectsBlob : + typeof prefetchedProjectsBlob !== 'undefined' ? prefetchedProjectsBlob : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "reconfirmedViaSAML" in locals_for_with ? + locals_for_with.reconfirmedViaSAML : + typeof reconfirmedViaSAML !== 'undefined' ? reconfirmedViaSAML : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showGroupsAndEnterpriseBanner" in locals_for_with ? + locals_for_with.showGroupsAndEnterpriseBanner : + typeof showGroupsAndEnterpriseBanner !== 'undefined' ? showGroupsAndEnterpriseBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUSGovBanner" in locals_for_with ? + locals_for_with.showUSGovBanner : + typeof showUSGovBanner !== 'undefined' ? showUSGovBanner : undefined, "showWritefullPromoBanner" in locals_for_with ? + locals_for_with.showWritefullPromoBanner : + typeof showWritefullPromoBanner !== 'undefined' ? showWritefullPromoBanner : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suggestedLanguageSubdomainConfig" in locals_for_with ? + locals_for_with.suggestedLanguageSubdomainConfig : + typeof suggestedLanguageSubdomainConfig !== 'undefined' ? suggestedLanguageSubdomainConfig : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "survey" in locals_for_with ? + locals_for_with.survey : + typeof survey !== 'undefined' ? survey : undefined, "tags" in locals_for_with ? + locals_for_with.tags : + typeof tags !== 'undefined' ? tags : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "usGovBannerVariant" in locals_for_with ? + locals_for_with.usGovBannerVariant : + typeof usGovBannerVariant !== 'undefined' ? usGovBannerVariant : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userAffiliations" in locals_for_with ? + locals_for_with.userAffiliations : + typeof userAffiliations !== 'undefined' ? userAffiliations : undefined, "userEmails" in locals_for_with ? + locals_for_with.userEmails : + typeof userEmails !== 'undefined' ? userEmails : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/access-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/access-react.js new file mode 100644 index 0000000..6cf1e78 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/access-react.js @@ -0,0 +1,1340 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, postUrl, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/token-access' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-postUrl\" data-type=\"string\""+pug.attr("content", postUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"token-access-page\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "postUrl" in locals_for_with ? + locals_for_with.postUrl : + typeof postUrl !== 'undefined' ? postUrl : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js new file mode 100644 index 0000000..e7e4e28 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js @@ -0,0 +1,1340 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, projectId, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/sharing-updates' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-project_id\" data-type=\"string\""+pug.attr("content", projectId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"sharing-updates-page\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectId" in locals_for_with ? + locals_for_with.projectId : + typeof projectId !== 'undefined' ? projectId : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/referal/bonus.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/referal/bonus.js new file mode 100644 index 0000000..a7a64ef --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/referal/bonus.js @@ -0,0 +1,1368 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, i, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, refered_user_count, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container bonus\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1\"\u003E"; +if ((refered_user_count > 0)) { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EThe Overleaf Bonus Program has been discontinued, but you'll continue to have access to the features you already earned.\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EThe Overleaf Bonus Program has been discontinued.\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EPlease \u003Ca href=\"\u002Fcontact\"\u003Econtact us\u003C\u002Fa\u003E if you have any questions.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((refered_user_count > 0)) { +pug_html = pug_html + "\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\" style=\"position: relative; height: 30px; margin-top: 20px;\"\u003E"; +for (var i = 0; i <= 10; i++) { +{ +if ((refered_user_count == i)) { +pug_html = pug_html + "\u003Cdiv" + (" class=\"number active\""+pug.attr("style", pug.style("left: "+i+"0%"), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = i) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"number\""+pug.attr("style", pug.style("left: "+i+"0%"), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = i) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\"\u003E\u003Cdiv class=\"progress\"\u003E\u003Cdiv" + (" class=\"progress-bar progress-bar-info\""+pug.attr("style", pug.style("width: "+refered_user_count+"0%"), true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\" style=\"position: relative; height: 110px;\"\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 1 ? "active" : ""], [false,true]), false, true)+" style=\"left: 10%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("one_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 3 ? "active" : ""], [false,true]), false, true)+" style=\"left: 30%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("three_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 6 ? "active" : ""], [false,true]), false, true)+" style=\"left: 60%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("free_dropbox_and_history")) ? "" : pug_interp)) + " + " + (pug.escape(null == (pug_interp = translate("three_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 9 ? "active" : ""], [false,true]), false, true)+" style=\"left: 90%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("free_dropbox_and_history")) ? "" : pug_interp)) + " + " + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E \u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner bonus-status\"\u003E"; +if ((refered_user_count == 1)) { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EYou’ve introduced \u003Cstrong\u003E1\u003C\u002Fstrong\u003E person to " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EYou’ve introduced \u003Cstrong\u003E" + (pug.escape(null == (pug_interp = refered_user_count) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E people to " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "i" in locals_for_with ? + locals_for_with.i : + typeof i !== 'undefined' ? i : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "refered_user_count" in locals_for_with ? + locals_for_with.refered_user_count : + typeof refered_user_count !== 'undefined' ? refered_user_count : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js new file mode 100644 index 0000000..efef74f --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/canceled-subscription' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-canceled-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js new file mode 100644 index 0000000..416a498 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js @@ -0,0 +1,1367 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentInstitutionsWithLicence, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, fromPlansPage, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlans, groupSettingsEnabledFor, hasAdminAccess, hasCustomLeftNav, hasFeature, hasSubscription, hideFatFooter, isManagedAccount, managedGroupSubscriptions, managedInstitutions, managedPublishers, mathJaxPath, memberGroupSubscriptions, metadata, moduleIncludes, nav, personalSubscription, planCodesChangingAtTermEnd, plans, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userCanExtendTrial, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/dashboard' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscription\" data-type=\"json\""+pug.attr("content", personalSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userCanExtendTrial\" data-type=\"boolean\""+pug.attr("content", userCanExtendTrial, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedGroupSubscriptions\" data-type=\"json\""+pug.attr("content", managedGroupSubscriptions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-memberGroupSubscriptions\" data-type=\"json\""+pug.attr("content", memberGroupSubscriptions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedInstitutions\" data-type=\"json\""+pug.attr("content", managedInstitutions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedPublishers\" data-type=\"json\""+pug.attr("content", managedPublishers, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-planCodesChangingAtTermEnd\" data-type=\"json\""+pug.attr("content", planCodesChangingAtTermEnd, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentInstitutionsWithLicence\" data-type=\"json\""+pug.attr("content", currentInstitutionsWithLicence, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasSubscription\" data-type=\"boolean\""+pug.attr("content", hasSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-fromPlansPage\" data-type=\"boolean\""+pug.attr("content", fromPlansPage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-plans\" data-type=\"json\""+pug.attr("content", plans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSettingsEnabledFor\" data-type=\"json\""+pug.attr("content", groupSettingsEnabledFor, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E"; +if ((personalSubscription && personalSubscription.recurly)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-recurlyApiKey\""+pug.attr("content", settings.apis.recurly.publicKey, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", personalSubscription.recurly.currency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fjs.recurly.com\u002Fv4\u002Frecurly.js\"") + "\u003E\u003C\u002Fscript\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"subscription-dashboard-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentInstitutionsWithLicence" in locals_for_with ? + locals_for_with.currentInstitutionsWithLicence : + typeof currentInstitutionsWithLicence !== 'undefined' ? currentInstitutionsWithLicence : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "fromPlansPage" in locals_for_with ? + locals_for_with.fromPlansPage : + typeof fromPlansPage !== 'undefined' ? fromPlansPage : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "groupSettingsEnabledFor" in locals_for_with ? + locals_for_with.groupSettingsEnabledFor : + typeof groupSettingsEnabledFor !== 'undefined' ? groupSettingsEnabledFor : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasSubscription" in locals_for_with ? + locals_for_with.hasSubscription : + typeof hasSubscription !== 'undefined' ? hasSubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "managedGroupSubscriptions" in locals_for_with ? + locals_for_with.managedGroupSubscriptions : + typeof managedGroupSubscriptions !== 'undefined' ? managedGroupSubscriptions : undefined, "managedInstitutions" in locals_for_with ? + locals_for_with.managedInstitutions : + typeof managedInstitutions !== 'undefined' ? managedInstitutions : undefined, "managedPublishers" in locals_for_with ? + locals_for_with.managedPublishers : + typeof managedPublishers !== 'undefined' ? managedPublishers : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "memberGroupSubscriptions" in locals_for_with ? + locals_for_with.memberGroupSubscriptions : + typeof memberGroupSubscriptions !== 'undefined' ? memberGroupSubscriptions : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "personalSubscription" in locals_for_with ? + locals_for_with.personalSubscription : + typeof personalSubscription !== 'undefined' ? personalSubscription : undefined, "planCodesChangingAtTermEnd" in locals_for_with ? + locals_for_with.planCodesChangingAtTermEnd : + typeof planCodesChangingAtTermEnd !== 'undefined' ? planCodesChangingAtTermEnd : undefined, "plans" in locals_for_with ? + locals_for_with.plans : + typeof plans !== 'undefined' ? plans : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userCanExtendTrial" in locals_for_with ? + locals_for_with.userCanExtendTrial : + typeof userCanExtendTrial !== 'undefined' ? userCanExtendTrial : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js new file mode 100644 index 0000000..29e877a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js @@ -0,0 +1,1697 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalOptions, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, interstitialPaymentConfig, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showCurrencyAndPaymentMethods, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showSkipLink, showThinFooter, skipLinkTarget, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","invisible",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header' } +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', period } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["plans_cta"] = pug_interp = function(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["btn_buy_individual_free"](); + break; +case 'individual_collaborator': +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); + break; +case 'group_professional': +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); + break; +case 'group_organization': +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E"; + break; +case 'student_free': +pug_mixins["btn_buy_student_free"](highlighted); + break; +case 'student_student': +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +}; +pug_mixins["table_short_feature_list_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_organization"] = pug_interp = function(additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency} +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" class=\"inline-green-link\""+" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_student_student"] = pug_interp = function(showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["table_column_headers_row"] = pug_interp = function({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var highlighted = highlightedColKey === tableHeadKey +var thClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+" scope=\"col\"") + "\u003E\u003Cdiv class=\"plans-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(highlightedColTranslationKey)) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"plans-table-th-content\"\u003E"; +if (tableHeadKey) { +switch (tableHeadKey){ +case 'individual_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'individual_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)); + break; +case 'individual_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)); + break; +case 'group_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)); + break; +case 'group_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)); + break; +case 'group_organization': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)); + break; +case 'student_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'student_student': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)); + break; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +}; + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-payment-methods text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fb\u003E " + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-payment-methods-icons\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_mastercard.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_visa.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_amex.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_paypal.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +var highlightedColKey = tableHeadKeys[config.highlightedColumn.index] +var highlightedColTranslationKey = config.highlightedColumn.text[period] === 'most_popular' ? 'most_popular_uppercase' : config.highlightedColumn.text[period] === 'saving_20_percent' ? 'saving_20_percent_no_exclamation' : config.highlightedColumn.text[period] +pug_mixins["table_column_headers_row"]({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}); +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-price-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-price\"\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'individual_collaborator': +pug_mixins["table_head_price"]('collaborator', period); + break; +case 'individual_professional': +pug_mixins["table_head_price"]('professional', period); + break; +case 'group_collaborator': +pug_mixins["table_price_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_price_group_professional"](); + break; +case 'group_organization': +pug_html = pug_html + "\u003Cdiv class=\"plans-table-comments-icon\"\u003E\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Eforum\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E"; + break; +case 'student_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'student_student': +pug_mixins["table_head_price"]('student', period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-mobile plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-mobile\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-short-feature-list plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey, tableHeadOptions] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-short-feature-list\"\u003E\u003Cdiv\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'individual_collaborator': +pug_mixins["table_short_feature_list_collaborator"](); + break; +case 'individual_professional': +pug_mixins["table_short_feature_list_professional"](); + break; +case 'group_collaborator': +pug_mixins["table_short_feature_list_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_short_feature_list_group_professional"](); + break; +case 'group_organization': +pug_mixins["table_short_feature_list_group_organization"](additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'student_student' : +pug_mixins["table_short_feature_list_student_student"](tableHeadOptions.showExtraContent); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-desktop plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-desktop\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var featuresSectionIndex = 0, $$l = $$obj.length; featuresSectionIndex < $$l; featuresSectionIndex++) { + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var featuresSectionIndex in $$obj) { + $$l++; + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; + + + + + + + + + + + + + + + + + + +pug_mixins["table_price_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_price_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; + + + + +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"material-symbols material-symbols-outlined icon-green-round-background icon-sm\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-table-sticky-header","sticky",(withSwitch ? 'plans-table-sticky-header-with-switch' : 'plans-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered monthly-annual-switch\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"monthly-annual-switch-text\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["linkWithArrow"] = pug_interp = function({text, href, eventTracking, eventSegmentation}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"link-with-arrow\""+pug.attr("href", href, true, true)+pug.attr("event-tracking", eventTracking, true, true)+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003Ci class=\"material-symbols\" aria-hidden=\"true\"\u003Earrow_right_alt\u003C\u002Fi\u003E\u003C\u002Fa\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressFooter = true +var suppressNavbarRight = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof(suppressNavbar) == "undefined")) { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main website-redesign-navbar\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var child = $$obj[pug_index15]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var child = $$obj[pug_index15]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var child = $$obj[pug_index16]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var child = $$obj[pug_index16]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli class=\"secondary\"\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli class=\"secondary\"\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"secondary dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"website-redesign\" id=\"main-content\"\u003E\u003Cdiv class=\"plans-page plans-page-interstitial\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 text-center\"\u003E\u003Ch1\u003E"; +pug_mixins["eyebrow"](translate('plans_and_pricing_lowercase')); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("monthly", "paywall-plans-page-toggle", '{}'); +pug_html = pug_html + "\u003Cdiv class=\"plans-table-sticky-header-container\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"]('monthly', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" hidden data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"]('annual', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showCurrencyAndPaymentMethods)) { +pug_mixins["currency_and_payment_methods"](); +} +pug_html = pug_html + "\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showSkipLink)) { +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-small text-center\"\u003E"; +pug_mixins["linkWithArrow"]({ + text: translate("continue_with_free_plan"), + href: skipLinkTarget, + eventTracking: 'skip-button-click', + eventSegmentation: {location: 'interstitial-page'} + }); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + ("\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof(suppressFooter) == "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var item = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var item = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print website-redesign-fat-footer\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_business')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "interstitialPaymentConfig" in locals_for_with ? + locals_for_with.interstitialPaymentConfig : + typeof interstitialPaymentConfig !== 'undefined' ? interstitialPaymentConfig : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showCurrencyAndPaymentMethods" in locals_for_with ? + locals_for_with.showCurrencyAndPaymentMethods : + typeof showCurrencyAndPaymentMethods !== 'undefined' ? showCurrencyAndPaymentMethods : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSkipLink" in locals_for_with ? + locals_for_with.showSkipLink : + typeof showSkipLink !== 'undefined' ? showSkipLink : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "skipLinkTarget" in locals_for_with ? + locals_for_with.skipLinkTarget : + typeof skipLinkTarget !== 'undefined' ? skipLinkTarget : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js new file mode 100644 index 0000000..61721d0 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js @@ -0,0 +1,2084 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, JSON, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalOptions, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, interstitialPaymentConfig, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showCurrencyAndPaymentMethods, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showSkipLink, showThinFooter, skipLinkTarget, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E \u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Ci class=\"fa fa-cc-mastercard fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-visa fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-amex fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-paypal fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_v2_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var baseColspan = config.baseColspan || 1 +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-v2-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("colspan", baseColspan, true, true)) + "\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var tableHeadOptions = Object.values(config.tableHead)[i] || {} +var colspan = tableHeadOptions.colspan || baseColspan +var highlighted = i === config.highlightedColumn.index +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +if (highlighted) { + var thClass = 'plans-v2-table-green-highlighted' +} else if (i === config.highlightedColumn.index - 1) { + var thClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var thClass = '' +} +thClass += ' plans-v2-table-column-header' +if (colspan > 1) { + var scopeValue = 'colgroup' +} +else { + var scopeValue = 'col' +} +switch (tableHeadKey){ +case 'individual_free': +var ariaLabel = translate("free") + break; +case 'individual_collaborator': +var ariaLabel = translate("standard") + break; +case 'individual_professional': +var ariaLabel = translate("professional") + break; +case 'group_collaborator': +var ariaLabel = translate("group_standard") + break; +case 'group_professional': +var ariaLabel = translate("group_professional") + break; +case 'group_organization': +var ariaLabel = translate("organization") + break; +case 'student_free': +var ariaLabel = translate("free") + break; +case 'student_student': +var ariaLabel = translate("student") + break; +case 'student_university': +var ariaLabel = translate("university") + break; +default: +var ariaLabel = undefined + break; +} +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+pug.attr("aria-label", ariaLabel, true, true)+pug.attr("colspan", colspan, true, true)+pug.attr("scope", scopeValue, true, true)) + "\u003E\u003Cdiv class=\"plans-v2-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(config.highlightedColumn.text[period]).toUpperCase()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_individual_free"](highlighted, period); + break; +case 'individual_collaborator': +pug_mixins["table_head_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["table_head_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["table_head_group_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_professional': +pug_mixins["table_head_group_professional"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_organization': +pug_mixins["table_head_group_organization"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_head_student_free"](highlighted, period); + break; +case 'student_student': +pug_mixins["table_head_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period, tableHeadOptions.showExtraContent); + break; +case 'student_university': +pug_mixins["table_head_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var featuresPerSection = $$obj[pug_index0]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var featuresPerSection = $$obj[pug_index0]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; + + + + + + + + + + + + + + + + + + +pug_mixins["table_head_individual_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('collaborator', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('professional', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-v2-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["table_head_group_organization"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency } +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period, showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('student', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("university")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cp class=\"plans-v2-table-th-content-benefit\"\u003E" + (null == (pug_interp = translate("all_our_group_plans_offer_educational_discount", {}, [{name: 'b'}, {name: 'b'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-v2-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"fa fa-check\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy","invisible",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["btn_buy_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var segmentation = JSON.stringify(Object.assign({}, {button: 'student-university', location: 'table-header-list', period}, additionalEventSegmentation)) +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["plans_v2_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-v2-table-sticky-header","sticky",(withSwitch ? 'plans-v2-table-sticky-header-with-switch' : 'plans-v2-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-v2-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-v2-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered plans-v2-m-a-switch-container\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"plans-v2-m-a-switch-annual-text-container\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left","plans-v2-m-a-tooltip",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"plans-v2-m-a-switch\" data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressFooter = true +var suppressNavbarRight = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var child = $$obj[pug_index15]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var child = $$obj[pug_index15]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var child = $$obj[pug_index16]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var child = $$obj[pug_index16]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var item = $$obj[pug_index17]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var child = $$obj[pug_index18]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var child = $$obj[pug_index18]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var item = $$obj[pug_index17]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var child = $$obj[pug_index19]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var child = $$obj[pug_index19]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"content-page\"\u003E\u003Cdiv class=\"plans\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header centered plans-header text-centered top-page-header\"\u003E\u003Ch1 class=\"text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("monthly", "paywall-plans-page-toggle", '{}'); +pug_mixins["plans_v2_table_sticky_header"](true, interstitialPaymentConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-container\" data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"]('monthly', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-container\" hidden data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"]('annual', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showCurrencyAndPaymentMethods)) { +pug_mixins["currency_and_payment_methods"](); +} +pug_html = pug_html + "\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showSkipLink)) { +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-small text-center\"\u003E\u003Ca" + (pug.attr("href", skipLinkTarget, true, true)+" event-tracking=\"skip-button-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"location": "interstitial-page"}\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("continue_with_free_plan")) ? "" : pug_interp)) + "\t\t\t\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + ("\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "JSON" in locals_for_with ? + locals_for_with.JSON : + typeof JSON !== 'undefined' ? JSON : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "interstitialPaymentConfig" in locals_for_with ? + locals_for_with.interstitialPaymentConfig : + typeof interstitialPaymentConfig !== 'undefined' ? interstitialPaymentConfig : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showCurrencyAndPaymentMethods" in locals_for_with ? + locals_for_with.showCurrencyAndPaymentMethods : + typeof showCurrencyAndPaymentMethods !== 'undefined' ? showCurrencyAndPaymentMethods : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSkipLink" in locals_for_with ? + locals_for_with.showSkipLink : + typeof showSkipLink !== 'undefined' ? showSkipLink : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "skipLinkTarget" in locals_for_with ? + locals_for_with.skipLinkTarget : + typeof skipLinkTarget !== 'undefined' ? skipLinkTarget : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js new file mode 100644 index 0000000..e0b2304 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js @@ -0,0 +1,1793 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, currentView, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalDefaults, groupPlanModalOptions, groupPlans, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, isActionBelowContent, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, managingYourSubscription, mathJaxPath, metadata, moduleIncludes, nav, overleafGroupPlans, overleafIndividualPlans, plansConfig, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + pug_mixins["quoteLargeTextCentered"] = pug_interp = function(quote, person, position, affiliation, link, pictureUrl, pictureAltAttr){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cblockquote class=\"quote-large-text-centered\"\u003E\u003Cdiv class=\"quote\"\u003E" + (null == (pug_interp = quote) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +if (pictureUrl) { +pug_html = pug_html + "\u003Cdiv class=\"quote-img\"\u003E\u003Cimg" + (pug.attr("src", pictureUrl, true, true)+pug.attr("alt", pictureAltAttr, true, true)) + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cfooter\u003E\u003Cdiv class=\"quote-person\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = person) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fdiv\u003E"; +if (person && position) { +pug_html = pug_html + "\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = position) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +if (affiliation) { +pug_html = pug_html + "\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = affiliation) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +} +if (link) { +pug_html = pug_html + "\u003Cdiv class=\"quote-link\"\u003E" + (null == (pug_interp = link) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E"; +}; + + + + + + + + +pug_mixins["collinsQuote1"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'Overleaf is indispensable for us. We use it in our research, thesis writing, project proposals, and manuscripts for publication. When it comes to writing, it’s our main tool.' +var quotePerson = 'Christopher Collins' +var quotePersonPosition = 'Associate Professor and Lab Director, Ontario Tech University' +var quotePersonImg = buildImgPath("advocates/collins.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["collinsQuote2"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'We are writing collaboratively right up until the last minute. We are faced with deadlines all the time, and Overleaf gives us the ability to polish right up until the last possible second.' +var quotePerson = 'Christopher Collins' +var quotePersonPosition = 'Associate Professor and Lab Director, Ontario Tech University' +var quotePersonImg = buildImgPath("advocates/collins.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["bennettQuote1"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'With Overleaf, we now have a process for developing technical documentation which has virtually eliminated the time required to properly format and layout documents.' +var quotePerson = 'Andrew Bennett' +var quotePersonPosition = 'Software Architect, Symplectic' +var quotePersonImg = buildImgPath("advocates/bennett.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressRelAlternateLinks = true +metadata.canonicalURL = (settings.siteUrl ? settings.siteUrl : '') + '/user/subscription/plans' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currencySymbols\" data-type=\"json\""+pug.attr("content", groupPlanModalOptions.currencySymbols, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentView\""+pug.attr("content", currentView, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof(suppressNavbar) == "undefined")) { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main website-redesign-navbar\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli class=\"secondary\"\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli class=\"secondary\"\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"secondary dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"website-redesign\" id=\"main-content\"\u003E\u003Cdiv class=\"plans-page\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch1 class=\"text-center\"\u003E"; +pug_mixins["eyebrow"](translate('plans_and_pricing_lowercase')); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","invisible",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header' } +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', period } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["plans_cta"] = pug_interp = function(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["btn_buy_individual_free"](); + break; +case 'individual_collaborator': +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); + break; +case 'group_professional': +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); + break; +case 'group_organization': +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E"; + break; +case 'student_free': +pug_mixins["btn_buy_student_free"](highlighted); + break; +case 'student_student': +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +}; +pug_mixins["table_short_feature_list_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_organization"] = pug_interp = function(additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency} +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" class=\"inline-green-link\""+" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_student_student"] = pug_interp = function(showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["table_column_headers_row"] = pug_interp = function({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var highlighted = highlightedColKey === tableHeadKey +var thClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+" scope=\"col\"") + "\u003E\u003Cdiv class=\"plans-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(highlightedColTranslationKey)) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"plans-table-th-content\"\u003E"; +if (tableHeadKey) { +switch (tableHeadKey){ +case 'individual_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'individual_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)); + break; +case 'individual_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)); + break; +case 'group_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)); + break; +case 'group_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)); + break; +case 'group_organization': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)); + break; +case 'student_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'student_student': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)); + break; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +}; + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-payment-methods text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fb\u003E " + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-payment-methods-icons\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_mastercard.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_visa.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_amex.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_paypal.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +var highlightedColKey = tableHeadKeys[config.highlightedColumn.index] +var highlightedColTranslationKey = config.highlightedColumn.text[period] === 'most_popular' ? 'most_popular_uppercase' : config.highlightedColumn.text[period] === 'saving_20_percent' ? 'saving_20_percent_no_exclamation' : config.highlightedColumn.text[period] +pug_mixins["table_column_headers_row"]({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}); +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-price-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-price\"\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'individual_collaborator': +pug_mixins["table_head_price"]('collaborator', period); + break; +case 'individual_professional': +pug_mixins["table_head_price"]('professional', period); + break; +case 'group_collaborator': +pug_mixins["table_price_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_price_group_professional"](); + break; +case 'group_organization': +pug_html = pug_html + "\u003Cdiv class=\"plans-table-comments-icon\"\u003E\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Eforum\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E"; + break; +case 'student_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'student_student': +pug_mixins["table_head_price"]('student', period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-mobile plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-mobile\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-short-feature-list plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey, tableHeadOptions] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-short-feature-list\"\u003E\u003Cdiv\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'individual_collaborator': +pug_mixins["table_short_feature_list_collaborator"](); + break; +case 'individual_professional': +pug_mixins["table_short_feature_list_professional"](); + break; +case 'group_collaborator': +pug_mixins["table_short_feature_list_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_short_feature_list_group_professional"](); + break; +case 'group_organization': +pug_mixins["table_short_feature_list_group_organization"](additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'student_student' : +pug_mixins["table_short_feature_list_student_student"](tableHeadOptions.showExtraContent); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-desktop plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-desktop\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var featuresSectionIndex = 0, $$l = $$obj.length; featuresSectionIndex < $$l; featuresSectionIndex++) { + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var featuresSectionIndex in $$obj) { + $$l++; + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; +pug_mixins["table_individual"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"](period, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_group"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-group\"\u003E"; +pug_mixins["plans_table"]('annual', plansConfig.group); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_student"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-student\"\u003E"; +pug_mixins["plans_table"](period, plansConfig.student); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_price_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_price_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var licenseSize = $$obj[pug_index16]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index16]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["group_plans_license_picker"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cform class=\"plans-license-picker-form\" data-ol-plans-v2-license-picker-form\u003E\u003Cdiv class=\"plans-license-picker-select-container\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("number_of_users_with_colon")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cselect name=\"plans-v2-license-picker-select\" id=\"plans-v2-license-picker-select\" autocomplete=\"off\" data-ol-plans-v2-license-picker-select event-tracking=\"plans-page-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E\u003Coption value=\"2\"\u003E2\u003C\u002Foption\u003E\u003Coption value=\"3\"\u003E3\u003C\u002Foption\u003E\u003Coption value=\"4\"\u003E4\u003C\u002Foption\u003E\u003Coption value=\"5\"\u003E5\u003C\u002Foption\u003E\u003Coption value=\"10\"\u003E10\u003C\u002Foption\u003E\u003Coption value=\"20\"\u003E20\u003C\u002Foption\u003E\u003Coption value=\"50\"\u003E50\u003C\u002Foption\u003E\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-license-picker-educational-discount\"\u003E\u003Clabel data-ol-plans-v2-license-picker-educational-discount-label\u003E\u003Cinput class=\"plans-v2-license-picker-educational-discount-checkbox\" type=\"checkbox\" id=\"license-picker-educational-discount\" autocomplete=\"off\" data-ol-plans-v2-license-picker-educational-discount-input event-tracking=\"plans-page-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-license-picker-educational-discount-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-license-picker-educational-discount-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount_info")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"material-symbols material-symbols-outlined icon-green-round-background icon-sm\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-table-sticky-header","sticky",(withSwitch ? 'plans-table-sticky-header-with-switch' : 'plans-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_sticky_header_all"] = pug_interp = function(plansConfig){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-table-sticky-header-container\" data-ol-plans-v2-view=\"individual\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"group\"\u003E"; +pug_mixins["plans_table_sticky_header"](false, plansConfig.group); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"student\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, plansConfig.student); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered monthly-annual-switch\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"monthly-annual-switch-text\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-top-switch text-center\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cul class=\"nav\" role=\"tablist\"\u003E\u003Cli class=\"active plans-switch-individual\" data-ol-plans-v2-view-tab=\"individual\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "individual"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" role=\"tab\" aria-controls=\"panel-individual\" aria-selected=\"true\"\u003E" + (pug.escape(null == (pug_interp = translate("indvidual_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-switch-group\" data-ol-plans-v2-view-tab=\"group\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "group"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" aria-controls=\"panel-group\" role=\"tab\" aria-selected=\"false\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("group_plans")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan\u003E(" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more")) ? "" : pug_interp)) + ")\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-switch-student\" data-ol-plans-v2-view-tab=\"student\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "student"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" aria-controls=\"panel-student\" role=\"tab\" aria-selected=\"false\"\u003E" + (pug.escape(null == (pug_interp = translate("student_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("annual", "plans-page-toggle-period"); +pug_html = pug_html + "\u003Cdiv class=\"row\" hidden data-ol-plans-v2-license-picker-container\u003E\u003Cdiv class=\"col-sm-12\"\u003E"; +pug_mixins["group_plans_license_picker"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["table_sticky_header_all"](plansConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-table-container\" hidden data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" id=\"panel-individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"group\" id=\"panel-group\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_group"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" id=\"panel-student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["currency_and_payment_methods"](); +pug_html = pug_html + "\u003Cdiv class=\"plans-page-quote-row\" data-ol-show-for-plan-type=\"individual\"\u003E"; +pug_mixins["collinsQuote1"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-page-quote-row plans-page-quote-row-hidden\" data-ol-show-for-plan-type=\"group\"\u003E"; +pug_mixins["bennettQuote1"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-page-quote-row plans-page-quote-row-hidden\" data-ol-show-for-plan-type=\"student\"\u003E"; +pug_mixins["collinsQuote2"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\" data-ol-plans-university-info-container hidden\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"card plans-v2-university-info-light\"\u003E\u003Cdiv\u003E\u003Ch3 class=\"plans-v2-university-info-header-light\"\u003E" + (pug.escape(null == (pug_interp = translate('would_you_like_to_see_a_university_subscription')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"plans-v2-university-info-text-light\"\u003E" + (pug.escape(null == (pug_interp = translate('student_and_faculty_support_make_difference')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Ca class=\"btn btn-secondary plans-v2-btn-header-light\" target=\"_blank\" href=\"\u002Ffor\u002Fsupport-an-overleaf-university-subscription\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "university-support"}\"\u003E" + (pug.escape(null == (pug_interp = translate('show_your_support')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["managingYourSubscription"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ1\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ1\"\u003ECan I change plans or cancel later?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EYes, you can do this at any time by going to \u003C\u002Fspan\u003E\u003Cstrong\u003EAccount\u003ESubscription \u003C\u002Fstrong\u003E\u003Cspan\u003Ewhen logged in to Overleaf. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When canceling, your subscription will continue until the end of the billing period.\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ2\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ2\"\u003EIf I change or cancel my Overleaf plan, will I lose my projects?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003ENo. Changing or canceling your plan won’t affect your projects, the only change will be to the features available to you. You can see which features are available only on paid plans in the comparison table.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ3\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ3\"\u003ECan I pay by invoice or purchase order?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EThis is possible when you’re purchasing a group subscription for five or more people, or a site license. For individual subscriptions, we can only accept payment online via credit card, debit card, or PayPal.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["overleafIndividualPlans"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ1\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ1\"\u003EHow does the free trial work?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EYou get full access to your chosen plan during your 7-day free trial, and there’s no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to \u003C\u002Fspan\u003E\u003Cstrong\u003EAccount\u003ESubscription \u003C\u002Fstrong\u003E\u003Cspan\u003Ewhen logged in to Overleaf (the trial will continue for the full 7 days).\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ2\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ2\"\u003EWhat’s a collaborator on an Overleaf individual subscription?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EA collaborator is someone you invite to work with you on a project. So, for example, on our Standard plan you can have up to 10 people collaborating with you on any given project. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ3\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ3\"\u003EThe individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003ENo. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 people per project to edit the project with you. Your collaborators can access features such as the full document history and extended compile time, but \u003C\u002Fspan\u003E\u003Cstrong\u003Eonly \u003C\u002Fstrong\u003E\u003Cspan\u003Efor the project(s) they’re working on with you. If your collaborators want access to those features on their own projects, they will need to purchase their own subscription. (If you work with the same people regularly, you might find a group subscription more cost effective.)\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ4\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ4\"\u003EDo collaborators also have access to the editing and collaboration features I’ve paid for?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ4\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EIf you have an Overleaf subscription, then your project collaborators will have access to features like real-time track changes and document history, but \u003C\u002Fspan\u003E\u003Cstrong\u003Eonly \u003C\u002Fstrong\u003E\u003Cspan\u003Efor the project(s) they’re working on with you. If your collaborators want access to those features on their own projects, they will need to purchase their own subscription. (If you work with the same people regularly, you might find a group subscription more cost effective.)\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ5\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ5\"\u003ECan I purchase an individual plan on behalf of someone else?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ5\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EIndividual subscriptions must be purchased by the account that will be the end user. If you want to purchase a plan for someone else, you’ll need to provide them with relevant payment details to enable them to make the purchase. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ6\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ6\"\u003EWho is eligible for the Student plan?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ6\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EAs the name suggests, the Student plan is only for students at educational institutions. This includes graduate students.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ7\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ7\"\u003ECan I transfer an individual subscription to someone else?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ7\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003ENo. Individual plans can’t be transferred. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["overleafGroupPlans"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ1\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ1\"\u003EWhat’s the difference between users and collaborators on an Overleaf group subscription?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cdiv\u003EOn any of our group plans, the number of users refers to the number of people you can invite to join your group. All of these people will have access to the plan’s paid-for features across all their projects, such as real-time track changes and document history. \u003C\u002Fdiv\u003E\u003Cdiv class=\"mt-2\"\u003ECollaborators are people that your group users may invite to work with them on their projects. So, for example, if you have the Group Standard plan, the users in your group can invite up to 10 people to work with them on a project. And if you have the Group Professional plan, your users can invite as many people to work with them as they want.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ2\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ2\"\u003EIs an Overleaf Group plan more cost effective?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EOur Group subscriptions allow you to purchase access to our premium features for multiple people. They’re easy to manage, help save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ3\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ3\"\u003EWho is eligible for the educational discount?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EThe educational discount for group subscriptions is for students or faculty who are using Overleaf primarily for teaching. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ4\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ4\"\u003ECan I add more users to my group subscription at a later date?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ4\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EYes. To add more users to your subscription you’ll need to \u003Cbutton class=\"btn-link inline-green-link\" data-ol-open-contact-form-modal=\"general\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; +var managingYourSubscription = 'managingYourSubscription' +var overleafIndividualPlans = 'overleafIndividualPlans' +var overleafGroupPlans = 'overleafGroupPlans' +pug_html = pug_html + "\u003Cdiv class=\"plans-faq\"\u003E\u003Cdiv class=\"row row-spaced-extra-large\"\u003E\u003Cdiv class=\"col-md-12 faq-heading-container\"\u003E\u003Ch2\u003E"; +pug_mixins["eyebrow"](translate("frequently_asked_questions")); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("your_questions_answered")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"ol-tabs-scrollable\"\u003E\u003Cdiv class=\"nav-tabs-container\"\u003E\u003Cul class=\"nav nav-tabs\" role=\"tablist\"\u003E\u003Cli class=\"active\" role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + managingYourSubscription, true, true)+pug.attr("aria-controls", managingYourSubscription, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('managing_your_subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + overleafIndividualPlans, true, true)+pug.attr("aria-controls", overleafIndividualPlans, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('overleaf_individual_plans')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + overleafGroupPlans, true, true)+pug.attr("aria-controls", overleafGroupPlans, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('overleaf_group_plans')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-content\"\u003E\u003Cdiv" + (" class=\"tab-pane active\""+" role=\"tabpanel\""+pug.attr("id", managingYourSubscription, true, true)) + "\u003E"; +pug_mixins["managingYourSubscription"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"tab-pane\""+" role=\"tabpanel\""+pug.attr("id", overleafIndividualPlans, true, true)) + "\u003E"; +pug_mixins["overleafIndividualPlans"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"tab-pane\""+" role=\"tabpanel\""+pug.attr("id", overleafGroupPlans, true, true)) + "\u003E"; +pug_mixins["overleafGroupPlans"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-faq-support\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('still_have_questions')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton data-ol-open-contact-form-modal=\"general\"\u003E\u003Cspan style=\"margin-right: 4px\"\u003E" + (pug.escape(null == (pug_interp = translate('contact_support')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"icon-md material-symbols material-symbols-rounded material-symbols-arrow-right\" aria-hidden=\"true\"\u003Earrow_right_alt\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["notificationIcon"] = pug_interp = function(type){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (type === 'info') { +pug_html = pug_html + "\u003Cspan class=\"material-symbols\" aria-hidden=\"true\"\u003Einfo\u003C\u002Fspan\u003E"; +} +else +if (type === 'success') { +pug_html = pug_html + "\u003Cspan class=\"material-symbols\" aria-hidden=\"true\"\u003Echeck_circle\u003C\u002Fspan\u003E"; +} +}; +pug_mixins["notification"] = pug_interp = function(options){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var {ariaLive, id, type, title, content, disclaimer, className} = options +var classNames = `notification notification-type-${type} ${className ? className : ''} ${isActionBelowContent ? 'notification-cta-below-content' : ''}` +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes([classNames], [true]), false, true)+pug.attr("aria-live", ariaLive, true, true)+" role=\"alert\""+pug.attr("id", id, true, true)) + "\u003E\u003Cdiv class=\"notification-icon\"\u003E"; +pug_mixins["notificationIcon"](type); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"notification-content-and-cta\"\u003E\u003Cdiv class=\"notification-content\"\u003E"; +if (title) { +pug_html = pug_html + "\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = title) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003C\u002Fp\u003E"; +} +pug_html = pug_html + (pug.escape(null == (pug_interp = content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +if (disclaimer) { +pug_html = pug_html + "\u003Cdiv class=\"notification-disclaimer\"\u003E" + (pug.escape(null == (pug_interp = disclaimer) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"modal fade group-customize-subscription-modal website-redesign-modal\" tabindex=\"-1\" role=\"dialog\" data-ol-group-plan-modal\u003E\u003Cdiv class=\"modal-dialog\" role=\"document\"\u003E\u003Cdiv class=\"modal-content\"\u003E\u003Cdiv class=\"modal-header\"\u003E\u003Cbutton" + (" class=\"close\""+" type=\"button\" data-dismiss=\"modal\""+pug.attr("aria-label", translate("close"), true, true)) + "\u003E\u003Ci class=\"material-symbols\" aria-hidden=\"true\"\u003Eclose\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Ch1 class=\"modal-title\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_group_subscription")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Ch2 class=\"modal-subtitle\"\u003E" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more_uppercase")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-body\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 text-center\"\u003E\u003Cdiv class=\"circle circle-lg\"\u003E\u003Cdiv class=\"group-price\"\u003E\u003Cspan data-ol-group-plan-display-price\u003E...\u003C\u002Fspan\u003E\u003Cspan\u003E \u002F" + (pug.escape(null == (pug_interp = translate('year')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"group-price-per-user\""+pug.attr("data-ol-group-plan-price-per-user", translate('per_user'), true, true)) + "\u003E...\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"group-modal-features\"\u003E" + (pug.escape(null == (pug_interp = translate('each_user_will_have_access_to')) ? "" : pug_interp)) + ":\u003Cul class=\"list-unstyled\"\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'collaborator'), true, true)+" data-ol-group-plan-plan-code=\"collaborator\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("collabs_per_proj", {collabcount:10})) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'professional'), true, true)+" data-ol-group-plan-plan-code=\"professional\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli class=\"list-item-pro-features-header\"\u003E" + (pug.escape(null == (pug_interp = translate('all_premium_features')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('sync_dropbox_github')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('full_doc_history')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('track_changes')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E+ " + (pug.escape(null == (pug_interp = translate('more_lowercase')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cform class=\"form\" data-ol-group-plan-form\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"plan_code\"\u003E" + (pug.escape(null == (pug_interp = translate('plan')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E"; +// iterate groupPlanModalOptions.plan_codes +;(function(){ + var $$obj = groupPlanModalOptions.plan_codes; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var plan_code = $$obj[pug_index17]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === groupPlanModalDefaults.plan_code), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var plan_code = $$obj[pug_index17]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === groupPlanModalDefaults.plan_code), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"size\"\u003E" + (pug.escape(null == (pug_interp = translate('number_of_users')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"size\" event-tracking=\"groups-modal-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E"; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var size = $$obj[pug_index18]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var size = $$obj[pug_index18]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\" data-ol-group-plan-form-currency\u003E\u003Clabel for=\"currency\"\u003E" + (pug.escape(null == (pug_interp = translate('currency')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"currency\"\u003E"; +// iterate groupPlanModalOptions.currencies +;(function(){ + var $$obj = groupPlanModalOptions.currencies; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var currency = $$obj[pug_index19]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var currency = $$obj[pug_index19]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"usage\"\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"group-plan-educational-discount\"\u003E\u003Cinput id=\"usage\" type=\"checkbox\" autocomplete=\"off\" event-tracking=\"groups-modal-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_disclaimer')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"educational-discount-section\"\u003E\u003Cdiv" + (pug.attr("hidden", (groupPlanModalDefaults.usage !== 'educational'), true, true)+pug.attr("data-ol-group-plan-educational-discount", true, true, true)) + "\u003E\u003Cdiv class=\"applied\" hidden data-ol-group-plan-educational-discount-applied\u003E"; +pug_mixins["notification"]({ariaLive: 'polite', content: translate('educational_discount_applied'), type: 'success', ariaLive: 'polite'}); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"ineligible\" hidden data-ol-group-plan-educational-discount-ineligible\u003E"; +pug_mixins["notification"]({ariaLive: 'polite', content: translate('educational_discount_available_for_groups_of_ten_or_more'), type: 'info', ariaLive: 'polite'}); +pug_html = pug_html + ("\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-footer\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-primary btn-lg\" data-ol-purchase-group-plan event-tracking=\"form-submitted-groups-modal-purchase-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate('purchase_now_lowercase')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cbr\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('need_more_than_x_licenses', {x: '50'})) ? "" : pug_interp)) + " \u003Cbutton class=\"btn btn-inline-link\" data-ol-open-contact-form-for-more-than-50-licenses\u003E" + (pug.escape(null == (pug_interp = translate('please_get_in_touch')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof(suppressFooter) == "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print website-redesign-fat-footer\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_business')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "currentView" in locals_for_with ? + locals_for_with.currentView : + typeof currentView !== 'undefined' ? currentView : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalDefaults" in locals_for_with ? + locals_for_with.groupPlanModalDefaults : + typeof groupPlanModalDefaults !== 'undefined' ? groupPlanModalDefaults : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "isActionBelowContent" in locals_for_with ? + locals_for_with.isActionBelowContent : + typeof isActionBelowContent !== 'undefined' ? isActionBelowContent : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "managingYourSubscription" in locals_for_with ? + locals_for_with.managingYourSubscription : + typeof managingYourSubscription !== 'undefined' ? managingYourSubscription : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overleafGroupPlans" in locals_for_with ? + locals_for_with.overleafGroupPlans : + typeof overleafGroupPlans !== 'undefined' ? overleafGroupPlans : undefined, "overleafIndividualPlans" in locals_for_with ? + locals_for_with.overleafIndividualPlans : + typeof overleafIndividualPlans !== 'undefined' ? overleafIndividualPlans : undefined, "plansConfig" in locals_for_with ? + locals_for_with.plansConfig : + typeof plansConfig !== 'undefined' ? plansConfig : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js new file mode 100644 index 0000000..bfa4983 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js @@ -0,0 +1,2144 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, JSON, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, currentView, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalDefaults, groupPlanModalOptions, groupPlans, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, plansConfig, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currencySymbols\" data-type=\"json\""+pug.attr("content", groupPlanModalOptions.currencySymbols, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentView\""+pug.attr("content", currentView, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"content-page\"\u003E\u003Cdiv class=\"plans\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header centered plans-header text-centered top-page-header\"\u003E\u003Ch1 class=\"text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["features_premium"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli\u003E \u003C\u002Fli\u003E\u003Cli\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate('all_premium_features')) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('sync_dropbox_github')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('full_doc_history')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('track_changes')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E+ " + (pug.escape(null == (pug_interp = translate('more').toLowerCase()) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +}; +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E \u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Ci class=\"fa fa-cc-mastercard fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-visa fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-amex fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-paypal fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_v2_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var baseColspan = config.baseColspan || 1 +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-v2-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("colspan", baseColspan, true, true)) + "\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var tableHeadOptions = Object.values(config.tableHead)[i] || {} +var colspan = tableHeadOptions.colspan || baseColspan +var highlighted = i === config.highlightedColumn.index +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +if (highlighted) { + var thClass = 'plans-v2-table-green-highlighted' +} else if (i === config.highlightedColumn.index - 1) { + var thClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var thClass = '' +} +thClass += ' plans-v2-table-column-header' +if (colspan > 1) { + var scopeValue = 'colgroup' +} +else { + var scopeValue = 'col' +} +switch (tableHeadKey){ +case 'individual_free': +var ariaLabel = translate("free") + break; +case 'individual_collaborator': +var ariaLabel = translate("standard") + break; +case 'individual_professional': +var ariaLabel = translate("professional") + break; +case 'group_collaborator': +var ariaLabel = translate("group_standard") + break; +case 'group_professional': +var ariaLabel = translate("group_professional") + break; +case 'group_organization': +var ariaLabel = translate("organization") + break; +case 'student_free': +var ariaLabel = translate("free") + break; +case 'student_student': +var ariaLabel = translate("student") + break; +case 'student_university': +var ariaLabel = translate("university") + break; +default: +var ariaLabel = undefined + break; +} +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+pug.attr("aria-label", ariaLabel, true, true)+pug.attr("colspan", colspan, true, true)+pug.attr("scope", scopeValue, true, true)) + "\u003E\u003Cdiv class=\"plans-v2-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(config.highlightedColumn.text[period]).toUpperCase()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_individual_free"](highlighted, period); + break; +case 'individual_collaborator': +pug_mixins["table_head_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["table_head_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["table_head_group_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_professional': +pug_mixins["table_head_group_professional"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_organization': +pug_mixins["table_head_group_organization"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_head_student_free"](highlighted, period); + break; +case 'student_student': +pug_mixins["table_head_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period, tableHeadOptions.showExtraContent); + break; +case 'student_university': +pug_mixins["table_head_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var featuresPerSection = $$obj[pug_index12]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var featuresPerSection = $$obj[pug_index12]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; +pug_mixins["table_individual"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"](period, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_group"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-group\"\u003E"; +pug_mixins["plans_v2_table"]('annual', plansConfig.group); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_student"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-student\"\u003E"; +pug_mixins["plans_v2_table"](period, plansConfig.student); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_head_individual_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('collaborator', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('professional', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-v2-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var licenseSize = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["table_head_group_organization"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency } +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period, showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('student', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("university")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cp class=\"plans-v2-table-th-content-benefit\"\u003E" + (null == (pug_interp = translate("all_our_group_plans_offer_educational_discount", {}, [{name: 'b'}, {name: 'b'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-v2-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"fa fa-check\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["group_plans_license_picker"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cform class=\"plans-v2-license-picker-form\" data-ol-plans-v2-license-picker-form\u003E\u003Cdiv class=\"plans-v2-license-picker-select-container\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("number_of_users_with_colon")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cselect class=\"plans-v2-license-picker-select\" name=\"plans-v2-license-picker-select\" id=\"plans-v2-license-picker-select\" autocomplete=\"off\" data-ol-plans-v2-license-picker-select event-tracking=\"plans-page-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E\u003Coption value=\"2\"\u003E2\u003C\u002Foption\u003E\u003Coption value=\"3\"\u003E3\u003C\u002Foption\u003E\u003Coption value=\"4\"\u003E4\u003C\u002Foption\u003E\u003Coption value=\"5\"\u003E5\u003C\u002Foption\u003E\u003Coption value=\"10\"\u003E10\u003C\u002Foption\u003E\u003Coption value=\"20\"\u003E20\u003C\u002Foption\u003E\u003Coption value=\"50\"\u003E50\u003C\u002Foption\u003E\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-license-picker-educational-discount\"\u003E\u003Clabel class=\"plans-v2-license-picker-educational-discount-label\" data-ol-plans-v2-license-picker-educational-discount-label\u003E\u003Cinput class=\"plans-v2-license-picker-educational-discount-checkbox\" type=\"checkbox\" id=\"license-picker-educational-discount\" autocomplete=\"off\" data-ol-plans-v2-license-picker-educational-discount-input event-tracking=\"plans-page-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-license-picker-educational-discount-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-license-picker-educational-discount-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-license-picker-educational-discount-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount_info")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +}; +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy","invisible",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["btn_buy_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var segmentation = JSON.stringify(Object.assign({}, {button: 'student-university', location: 'table-header-list', period}, additionalEventSegmentation)) +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["plans_v2_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-v2-table-sticky-header","sticky",(withSwitch ? 'plans-v2-table-sticky-header-with-switch' : 'plans-v2-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-v2-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-v2-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_sticky_header_all"] = pug_interp = function(plansConfig){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" data-ol-plans-v2-view=\"individual\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](true, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"group\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](false, plansConfig.group); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"student\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](true, plansConfig.student); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered plans-v2-m-a-switch-container\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"plans-v2-m-a-switch-annual-text-container\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left","plans-v2-m-a-tooltip",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"plans-v2-m-a-switch\" data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-top-switch\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cul class=\"nav plans-v2-nav\" role=\"tablist\"\u003E\u003Cli class=\"active plans-v2-top-switch-individual\" data-ol-plans-v2-view-tab=\"individual\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "individual"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" role=\"tab\" aria-controls=\"panel-individual\" aria-selected=\"true\"\u003E" + (pug.escape(null == (pug_interp = translate("indvidual_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-v2-top-switch-group\" data-ol-plans-v2-view-tab=\"group\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "group"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" aria-controls=\"panel-group\" href=\"#\" role=\"tab\" aria-selected=\"false\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("group_plans")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan\u003E(" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more")) ? "" : pug_interp)) + ")\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-v2-top-switch-student\" data-ol-plans-v2-view-tab=\"student\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "student"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" aria-controls=\"panel-student\" href=\"#\" role=\"tab\" aria-selected=\"false\"\u003E" + (pug.escape(null == (pug_interp = translate("student_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("annual", "plans-page-toggle-period"); +pug_html = pug_html + "\u003Cdiv class=\"row\" hidden data-ol-plans-v2-license-picker-container\u003E\u003Cdiv class=\"col-sm-12\"\u003E"; +pug_mixins["group_plans_license_picker"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["table_sticky_header_all"](plansConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-container\" hidden data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-container\" data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" id=\"panel-individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"group\" id=\"panel-group\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_group"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" id=\"panel-student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["currency_and_payment_methods"](); +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\" data-ol-plans-university-info-container hidden\u003E\u003Cdiv class=\"col-sm-8 col-sm-offset-2 col-xs-12\"\u003E\u003Cdiv class=\"card plans-v2-university-info\"\u003E\u003Ch3 class=\"plans-v2-university-info-header\"\u003E" + (pug.escape(null == (pug_interp = translate('would_you_like_to_see_a_university_subscription')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"plans-v2-university-info-text\"\u003E" + (pug.escape(null == (pug_interp = translate('student_and_faculty_support_make_difference')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Ca" + (" class=\"btn plans-v2-btn-header text-capitalize plans-v2-btn-university-info\""+" target=\"_blank\" href=\"\u002Ffor\u002Fsupport-an-overleaf-university-subscription\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", {button: "university-support", currency: recommendedCurrency}, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('show_your_support')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header plans-header text-centered\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('in_good_company')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-3\"\u003E\u003Cdiv class=\"circle-img\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('advocates/schultz.jpg'), true, true)+" alt=\"Kevin Schultz\"") + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-9\"\u003E\u003Cblockquote\u003E\u003Cp\u003EIt is the ability to collaborate very easily that drew me to Overleaf.\u003C\u002Fp\u003E\u003Cfooter\u003EKevin Schultz, Assistant Professor of Physics, Hartwick College\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-3\"\u003E\u003Cdiv class=\"circle-img\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('advocates/dagoret-campagne.jpg'), true, true)+" alt=\"Dr Sylvie Dagoret-Campagne\"") + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-9\"\u003E\u003Cblockquote\u003E\u003Cp\u003EOverleaf is a great educational tool for publishing scientific documents.\u003C\u002Fp\u003E\u003Cfooter\u003EDr Sylvie Dagoret-Campagne, Director of Research at CNRS, University of Paris-Saclay\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-faq\"\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header plans-header text-centered\"\u003E\u003Ch2\u003EFAQ\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph', {}, [{name: 'strong'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_do_collab_need_on_paid_plan_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_do_collab_need_on_paid_plan_answer', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_Accounts_and_Subscriptions", target: '_blank'}}, { name: 'a', attrs: { href: "/learn/how-to/Overleaf_premium_features", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_answer_first_paragraph', {}, [{ name: 'a', attrs: { href: "/for/universities", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_answer_second_paragraph', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_Accounts_and_Subscriptions", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_first_paragraph')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_second_paragraph', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_premium_features#Account_and_project_level_features", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_does_a_group_plan_work_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_how_does_a_group_plan_work_answer', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Joining_an_Overleaf_Group_Subscription", target: '_blank'}}, { name: 'a', attrs: { href: "/learn/how-to/Managing_a_group_subscription", target: '_blank'}}, { name: 'a', attrs: { href: "/contact", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_free_trial_works_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_free_trial_works_answer_v2', { len:'7' })) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_change_plans_or_cancel_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_change_plans_or_cancel_answer')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_pay_by_invoice_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_pay_by_invoice_answer_v2')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"plans-header text-centered\"\u003E\u003Chr\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('still_have_questions')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cbutton class=\"btn plans-v2-btn-header text-capitalize\" data-ol-open-contact-form-modal=\"general\"\u003E" + (pug.escape(null == (pug_interp = translate('contact_us')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E\u003Cdiv class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" data-ol-group-plan-modal\u003E\u003Cdiv class=\"modal-dialog\" role=\"document\"\u003E\u003Cdiv class=\"modal-content\"\u003E\u003Cdiv class=\"modal-header\"\u003E\u003Cbutton" + (" class=\"close\""+" type=\"button\" data-dismiss=\"modal\""+pug.attr("aria-label", translate("close"), true, true)) + "\u003E\u003Cspan aria-hidden=\"true\"\u003E×\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_group_subscription")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more_uppercase")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-body plans group-subscription-modal\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 text-center\"\u003E\u003Cdiv class=\"circle circle-lg\"\u003E\u003Cspan data-ol-group-plan-display-price\u003E...\u003C\u002Fspan\u003E\u003Cspan class=\"small\"\u003E\u002F " + (pug.escape(null == (pug_interp = translate('year')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbr\u003E\u003Cspan" + (" class=\"circle-subtext\""+pug.attr("data-ol-group-plan-price-per-user", translate('per_user'), true, true)) + "\u003E...\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('each_user_will_have_access_to')) ? "" : pug_interp)) + ":\u003C\u002Fli\u003E\u003Cli\u003E \u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'collaborator'), true, true)+" data-ol-group-plan-plan-code=\"collaborator\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("collabs_per_proj", {collabcount:10})) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'professional'), true, true)+" data-ol-group-plan-plan-code=\"professional\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +pug_mixins["features_premium"](); +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cform class=\"form\" data-ol-group-plan-form\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"plan_code\"\u003E" + (pug.escape(null == (pug_interp = translate('plan')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E"; +// iterate groupPlanModalOptions.plan_codes +;(function(){ + var $$obj = groupPlanModalOptions.plan_codes; + if ('number' == typeof $$obj.length) { + for (var pug_index20 = 0, $$l = $$obj.length; pug_index20 < $$l; pug_index20++) { + var plan_code = $$obj[pug_index20]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === "collaborator"), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } else { + var $$l = 0; + for (var pug_index20 in $$obj) { + $$l++; + var plan_code = $$obj[pug_index20]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === "collaborator"), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"size\"\u003E" + (pug.escape(null == (pug_interp = translate('number_of_users')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"size\" event-tracking=\"groups-modal-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E"; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var size = $$obj[pug_index21]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var size = $$obj[pug_index21]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\" data-ol-group-plan-form-currency\u003E\u003Clabel for=\"currency\"\u003E" + (pug.escape(null == (pug_interp = translate('currency')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"currency\"\u003E"; +// iterate groupPlanModalOptions.currencies +;(function(){ + var $$obj = groupPlanModalOptions.currencies; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var currency = $$obj[pug_index22]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var currency = $$obj[pug_index22]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + ("\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"usage\"\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput id=\"usage\" type=\"checkbox\" autocomplete=\"off\" event-tracking=\"groups-modal-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_disclaimer')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 text-center\"\u003E\u003Cdiv class=\"educational-discount-badge\"\u003E\u003Cdiv" + (pug.attr("hidden", (groupPlanModalDefaults.usage !== 'educational'), true, true)+pug.attr("data-ol-group-plan-educational-discount", true, true, true)) + "\u003E\u003Cp class=\"applied\" hidden data-ol-group-plan-educational-discount-applied\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_applied')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"ineligible\" hidden data-ol-group-plan-educational-discount-ineligible\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_available_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-footer\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-primary btn-lg\" data-ol-purchase-group-plan event-tracking=\"form-submitted-groups-modal-purchase-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate('purchase_now')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Chr class=\"thin\"\u003E\u003Ca href data-ol-open-contact-form-for-more-than-50-licenses\u003E" + (pug.escape(null == (pug_interp = translate('need_more_than_to_licenses_get_in_touch')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index24 = 0, $$l = $$obj.length; pug_index24 < $$l; pug_index24++) { + var item = $$obj[pug_index24]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index24 in $$obj) { + $$l++; + var item = $$obj[pug_index24]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index25 = 0, $$l = $$obj.length; pug_index25 < $$l; pug_index25++) { + var item = $$obj[pug_index25]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index25 in $$obj) { + $$l++; + var item = $$obj[pug_index25]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "JSON" in locals_for_with ? + locals_for_with.JSON : + typeof JSON !== 'undefined' ? JSON : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "currentView" in locals_for_with ? + locals_for_with.currentView : + typeof currentView !== 'undefined' ? currentView : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalDefaults" in locals_for_with ? + locals_for_with.groupPlanModalDefaults : + typeof groupPlanModalDefaults !== 'undefined' ? groupPlanModalDefaults : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "plansConfig" in locals_for_with ? + locals_for_with.plansConfig : + typeof plansConfig !== 'undefined' ? plansConfig : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js new file mode 100644 index 0000000..1cb0b4a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, personalSubscription, postCheckoutRedirect, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/successful-subscription' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscription\" data-type=\"json\""+pug.attr("content", personalSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-postCheckoutRedirect\""+pug.attr("content", postCheckoutRedirect, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-success-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "personalSubscription" in locals_for_with ? + locals_for_with.personalSubscription : + typeof personalSubscription !== 'undefined' ? personalSubscription : undefined, "postCheckoutRedirect" in locals_for_with ? + locals_for_with.postCheckoutRedirect : + typeof postCheckoutRedirect !== 'undefined' ? postCheckoutRedirect : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js new file mode 100644 index 0000000..16da14a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, teamInvites, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-invites' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-teamInvites\" data-type=\"json\""+pug.attr("content", teamInvites, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"group-invites-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "teamInvites" in locals_for_with ? + locals_for_with.teamInvites : + typeof teamInvites !== 'undefined' ? teamInvites : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js new file mode 100644 index 0000000..f16e891 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js @@ -0,0 +1,1353 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, alreadyEnrolled, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, expired, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSSOActive, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, subscriptionId, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, validationStatus) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/invite-managed' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviteToken\""+pug.attr("content", inviteToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviterName\""+pug.attr("content", inviterName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-expired\" data-type=\"boolean\""+pug.attr("content", expired, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-alreadyEnrolled\" data-type=\"boolean\""+pug.attr("content", alreadyEnrolled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-validationStatus\" data-type=\"json\""+pug.attr("content", validationStatus, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscriptionId\" data-type=\"string\""+pug.attr("content", subscriptionId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"invite-managed-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "alreadyEnrolled" in locals_for_with ? + locals_for_with.alreadyEnrolled : + typeof alreadyEnrolled !== 'undefined' ? alreadyEnrolled : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "expired" in locals_for_with ? + locals_for_with.expired : + typeof expired !== 'undefined' ? expired : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "subscriptionId" in locals_for_with ? + locals_for_with.subscriptionId : + typeof subscriptionId !== 'undefined' ? subscriptionId : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "validationStatus" in locals_for_with ? + locals_for_with.validationStatus : + typeof validationStatus !== 'undefined' ? validationStatus : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js new file mode 100644 index 0000000..1268b06 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js @@ -0,0 +1,1351 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, expired, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSSOActive, hasAdminAccess, hasCustomLeftNav, hasFeature, hasIndividualRecurlySubscription, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, subscriptionId, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/invite' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasIndividualRecurlySubscription\" data-type=\"boolean\""+pug.attr("content", hasIndividualRecurlySubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviterName\" date-type=\"string\""+pug.attr("content", inviterName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviteToken\" data-type=\"string\""+pug.attr("content", inviteToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-expired\" data-type=\"boolean\""+pug.attr("content", expired, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscriptionId\" data-type=\"string\""+pug.attr("content", subscriptionId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"invite-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "expired" in locals_for_with ? + locals_for_with.expired : + typeof expired !== 'undefined' ? expired : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasIndividualRecurlySubscription" in locals_for_with ? + locals_for_with.hasIndividualRecurlySubscription : + typeof hasIndividualRecurlySubscription !== 'undefined' ? hasIndividualRecurlySubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "subscriptionId" in locals_for_with ? + locals_for_with.subscriptionId : + typeof subscriptionId !== 'undefined' ? subscriptionId : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js new file mode 100644 index 0000000..f808407 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js @@ -0,0 +1,1357 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, accountExists, appName, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, colClass, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, emailAddress, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var colClass = bootstrapVersion === 5 ? 'col-lg-8 m-auto' : 'col-md-8 col-md-offset-2' +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv" + (pug.attr("class", pug.classes([colClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"card text-center\"\u003E\u003Cdiv class=\"card-body\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003C!-- TODO: Remove `team-invite-name` once we fully migrated to Bootstrap 5--\u003E\u003Ch1 class=\"text-centered\"\u003E" + (null == (pug_interp = translate("invited_to_group", {inviterName: inviterName, appName: appName }, [{name: 'span', attrs: {class: 'team-invite-name'}}])) ? "" : pug_interp) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E"; +if ((accountExists)) { +pug_html = pug_html + "\u003Cdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_login_benefits", {appName: appName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_login", {emailAddress: emailAddress})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca" + (" class=\"btn btn-primary\""+pug.attr("href", `/login?redir=/subscription/invites/${inviteToken}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("login_to_accept_invitation")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_register_benefits", {appName: appName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_register", {inviterName: inviterName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca" + (" class=\"btn btn-primary\""+pug.attr("href", `/register?redir=/subscription/invites/${inviteToken}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("register_to_accept_invitation")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "accountExists" in locals_for_with ? + locals_for_with.accountExists : + typeof accountExists !== 'undefined' ? accountExists : undefined, "appName" in locals_for_with ? + locals_for_with.appName : + typeof appName !== 'undefined' ? appName : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "colClass" in locals_for_with ? + locals_for_with.colClass : + typeof colClass !== 'undefined' ? colClass : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "emailAddress" in locals_for_with ? + locals_for_with.emailAddress : + typeof emailAddress !== 'undefined' ? emailAddress : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js new file mode 100644 index 0000000..0af0df1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js @@ -0,0 +1,1338 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressNavbar = true +var suppressFooter = true +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('your_account_is_suspended')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('sorry_this_account_has_been_suspended')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate('please_contact_us_if_you_think_this_is_in_error', {}, [{name: 'a', attrs: {href: `mailto:${settings.adminEmail}`}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js new file mode 100644 index 0000000..1ded248 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/add-secondary-email' +var suppressNavbar = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\"\u003E\u003Cdiv id=\"add-secondary-email\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/compromised_password.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/compromised_password.js new file mode 100644 index 0000000..6bfec0a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/compromised_password.js @@ -0,0 +1,1338 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/compromised-password' +var suppressNavbar = true +var suppressFooter = true +var suppressGoogleAnalytics = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"compromised-password\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js new file mode 100644 index 0000000..d6304b2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/confirm-secondary-email' +var suppressNavbar = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-email\""+pug.attr("content", email, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\"\u003E\u003Cdiv id=\"confirm-secondary-email\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirm_email.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirm_email.js new file mode 100644 index 0000000..c1d976e --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirm_email.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\" data-ol-hide-on-error-message=\"confirm-email-wrong-user\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("confirm_email")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logoutForm\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"redirect\""+pug.attr("value", currentUrlWithQueryParams, true, true)) + "\u003E\u003C\u002Fform\u003E\u003Cform data-ol-async-form data-ol-auto-submit name=\"confirmEmailForm\" action=\"\u002Fuser\u002Femails\u002Fconfirm\" method=\"POST\" id=\"confirmEmailForm\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"token\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv data-ol-custom-form-message=\"confirm-email-wrong-user\" hidden\u003E\u003Ch1 class=\"h3\"\u003E" + (pug.escape(null == (pug_interp = translate("we_cant_confirm_this_email")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E" + (null == (pug_interp = translate("to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account")) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("you_are_currently_logged_in_as", {email: getUserEmail()})) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn btn-block\" form=\"logoutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_in_with_a_different_account')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn btn-block\" type=\"submit\" data-ol-disabled-inflight data-ol-hide-on-error-message=\"confirm-email-wrong-user\"\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('confirm')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E\u003Ci class=\"fa fa-fw fa-spin fa-spinner\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E " + (pug.escape(null == (pug_interp = translate('confirming')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cdiv class=\"alert alert-success\"\u003E" + (pug.escape(null == (pug_interp = translate('thank_you_email_confirmed')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"text-center\"\u003E\u003Ca class=\"btn btn-primary\" href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('go_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/email-preferences.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/email-preferences.js new file mode 100644 index 0000000..4047a39 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/email-preferences.js @@ -0,0 +1,1368 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, submitAction, subscribed, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["back-to-btns"] = pug_interp = function(settingsAnchor){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-secondary text-capitalize\""+pug.attr("href", `/user/settings${settingsAnchor ? '#' + settingsAnchor : '' }`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_title")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_summary")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +var submitAction +if (subscribed) { +submitAction = '/user/newsletter/unsubscribe' +pug_html = pug_html + "\u003Cp\u003E" + (null == (pug_interp = translate("newsletter_info_subscribed", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +else { +submitAction = '/user/newsletter/subscribe' +pug_html = pug_html + "\u003Cp\u003E" + (null == (pug_interp = translate("newsletter_info_unsubscribed", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+pug.attr("data-ol-reload-on-success", true, true, true)+" name=\"newsletterForm\""+pug.attr("action", submitAction, true, true)+" method=\"POST\"") + "\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cp class=\"actions text-center\"\u003E"; +if (subscribed) { +pug_html = pug_html + "\u003Cbutton class=\"btn-danger btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("unsubscribe")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("saving")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +} +else { +pug_html = pug_html + "\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("subscribe")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("saving")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fform\u003E"; +if (subscribed) { +pug_html = pug_html + "\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_note")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["back-to-btns"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "submitAction" in locals_for_with ? + locals_for_with.submitAction : + typeof submitAction !== 'undefined' ? submitAction : undefined, "subscribed" in locals_for_with ? + locals_for_with.subscribed : + typeof subscribed !== 'undefined' ? subscribed : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/login.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/login.js new file mode 100644 index 0000000..c32dd65 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/login.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + +pug_mixins["customValidationMessage"] = pug_interp = function(key){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (" class=\"invalid-feedback mt-2\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-warning me-1\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("log_in")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form name=\"loginForm\" action=\"\u002Flogin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('email_or_password_wrong_try_again_or_reset', {}, [{ name: 'a', attrs: { href: '/user/password/reset', 'aria-describedby': 'resetPasswordDescription' } }])) ? "" : pug_interp) + "\u003Cspan class=\"sr-only\" id=\"resetPasswordDescription\"\u003E" + (pug.escape(null == (pug_interp = translate('reset_password_link')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +}, 'invalid-password-retry-or-reset', 'danger'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('password_compromised_try_again_or_use_known_device_or_reset', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com/passwords', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: '/user/password/reset', target: '_blank'}}])) ? "" : pug_interp) + "."; +} +}, 'password-compromised'); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" required placeholder=\"email@example.com\" autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cinput class=\"form-control\" type=\"password\" name=\"password\" required placeholder=\"********\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("login")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("logging_in")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Ca class=\"pull-right\" href=\"\u002Fuser\u002Fpassword\u002Freset\"\u003E" + (pug.escape(null == (pug_interp = translate("forgot_your_password")) ? "" : pug_interp)) + "?\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/one_time_login.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/one_time_login.js new file mode 100644 index 0000000..f5b188b --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/one_time_login.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EWe're back!\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003EOverleaf is now running normally.\u003C\u002Fp\u003E\u003Cp\u003EPlease\n\u003Ca href=\"\u002Flogin\"\u003Elog in\u003C\u002Fa\u003E\nto continue working on your projects.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/passwordReset.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/passwordReset.js new file mode 100644 index 0000000..f879c6c --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/passwordReset.js @@ -0,0 +1,1363 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, error, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showCaptcha, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["recaptchaConditions"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"recaptcha-branding\"\u003E" + (null == (pug_interp = translate("recaptcha_conditions", {}, [{}, {name: 'a', attrs: {href: 'https://policies.google.com/privacy', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: 'https://policies.google.com/terms', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset) +if (showCaptcha) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fwww.recaptcha.net\u002Frecaptcha\u002Fapi.js?render=explicit\"") + "\u003E\u003C\u002Fscript\u003E\u003Cdiv" + (" class=\"g-recaptcha\""+" id=\"recaptcha\""+pug.attr("data-sitekey", settings.recaptcha.siteKey, true, true)+" data-size=\"invisible\" data-badge=\"inline\"") + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\" data-ol-captcha-retry-trigger-area=\"\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+" name=\"passwordResetForm\" action=\"\u002Fuser\u002Fpassword\u002Freset\" method=\"POST\""+pug.attr("captcha", (showCaptcha ? '' : false), true, true)+pug.attr("captcha-action-name", (showCaptcha ? "passwordReset" : false), true, true)) + "\u003E"; +if (error === 'password_reset_token_expired') { +pug_html = pug_html + "\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("sorry_your_token_expired")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('please_request_a_new_password_reset_email_and_follow_the_link')) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Ch3 class=\"mt-0 mb-2\" data-ol-not-sent\u003E" + (pug.escape(null == (pug_interp = translate("password_reset")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Ch3 class=\"mt-0 mb-2\" hidden data-ol-sent\u003E" + (pug.escape(null == (pug_interp = translate("check_your_email")) ? "" : pug_interp)) + "\t\u003C\u002Fh3\u003E\u003Cp data-ol-not-sent\u003E" + (pug.escape(null == (pug_interp = translate("enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +if (error && error !== 'password_reset_token_expired') { +pug_html = pug_html + "\u003Cdiv class=\"alert alert-danger mb-2\" role=\"alert\" aria-live=\"assertive\"\u003E" + (pug.escape(null == (pug_interp = translate(error)) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv data-ol-custom-form-message=\"no-password-allowed-due-to-sso\" hidden\u003E\u003Cdiv class=\"notification notification-type-error\" aria-live=\"polite\" style=\"margin-bottom: 10px;\"\u003E\u003Cdiv class=\"notification-icon\"\u003E\u003Cspan class=\"material-symbols material-symbols-rounded\" aria-hidden=\"true\"\u003Eerror\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"notification-content-and-cta\"\u003E\u003Cdiv class=\"notification-content\"\u003E\u003Cp\u003E" + (null == (pug_interp = translate("you_cant_reset_password_due_to_sso", {}, [{name: 'a', attrs: {href: '/sso-login'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group mb-3\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"email\" aria-label=\"email\" type=\"email\" name=\"email\""+pug.attr("placeholder", translate("enter_your_email_address"), true, true)+pug.attr("required", true, true, true)+" autocomplete=\"username\""+pug.attr("autofocus", true, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary w-100\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('request_password_reset_to_reconfirm'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("request_password_reset")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("requesting_password_reset")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cp class=\"mb-4\"\u003E" + (pug.escape(null == (pug_interp = translate('password_reset_email_sent')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Ca href=\"\u002Flogin\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E"; +if (showCaptcha) { +pug_mixins["recaptchaConditions"](); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "error" in locals_for_with ? + locals_for_with.error : + typeof error !== 'undefined' ? error : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showCaptcha" in locals_for_with ? + locals_for_with.showCaptcha : + typeof showCaptcha !== 'undefined' ? showCaptcha : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js new file mode 100644 index 0000000..9bee70a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"login-register-container primary-email-check-container\"\u003E\u003Cdiv class=\"card primary-email-check-card\"\u003E\u003Cimg" + (" class=\"primary-email-check-logo\""+pug.attr("src", buildImgPath("ol-brand/overleaf.svg"), true, true)+pug.attr("alt", settings.appName, true, true)) + "\u003E\u003Ch3 class=\"primary-email-check-header\"\u003E" + (pug.escape(null == (pug_interp = translate("keep_your_account_safe")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv class=\"login-register-form primary-email-check-form\" data-ol-multi-submit\u003E\u003Cp class=\"small\"\u003E" + (null == (pug_interp = translate("primary_email_check_question", { email: getUserEmail() }, ["strong"])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form action=\"\u002Fuser\u002Femails\u002Fprimary-email-check\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cbutton class=\"btn-primary btn btn-block btn-primary-email-check-button primary-email-confirm-button\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("yes_that_is_correct")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("confirming")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Ca class=\"btn-secondary btn btn-block btn-primary-email-check-button primary-email-change-button\" href=\"\u002Fuser\u002Fsettings#add-email\" data-ol-slow-link event-tracking=\"primary-email-check-change-email\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("no_update_email")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("redirecting")) ? "" : pug_interp)) + "…\t\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cp class=\"small\"\u003E " + (pug.escape(null == (pug_interp = translate("keep_your_email_updated")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"small\"\u003E " + (null == (pug_interp = translate("learn_more_about_emails", {}, [{name: 'a', attrs: {href: '/learn/how-to/Keeping_your_account_secure', 'event-tracking': 'primary-email-check-learn-more', 'event-tracking-mb': 'true', 'event-tracking-trigger': 'click' }}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/reconfirm.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/reconfirm.js new file mode 100644 index 0000000..aa08ba1 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/reconfirm.js @@ -0,0 +1,1356 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, reconfirm_email, scriptNonce, settings, showCaptcha, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["recaptchaConditions"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"recaptcha-branding\"\u003E" + (null == (pug_interp = translate("recaptcha_conditions", {}, [{}, {name: 'a', attrs: {href: 'https://policies.google.com/privacy', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: 'https://policies.google.com/terms', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var email = reconfirm_email ? reconfirm_email : "" +var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset) +if (showCaptcha) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fwww.recaptcha.net\u002Frecaptcha\u002Fapi.js?render=explicit\"") + "\u003E\u003C\u002Fscript\u003E\u003Cdiv" + (" class=\"g-recaptcha\""+" id=\"recaptcha\""+pug.attr("data-sitekey", settings.recaptcha.siteKey, true, true)+" data-size=\"invisible\" data-badge=\"inline\"") + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\" data-ol-captcha-retry-trigger-area=\"\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-sm-12 col-md-6 col-md-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Ch1 class=\"card-header text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate("reconfirm")) ? "" : pug_interp)) + " " + (pug.escape(null == (pug_interp = translate("Account")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('reconfirm_explained')) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `mailto:${settings.adminEmail}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp)) + "\u003C\u002Fa\u003E.\u003C\u002Fp\u003E\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+" name=\"reconfirmAccountForm\" action=\"\u002Fuser\u002Freconfirm\" method=\"POST\""+pug.attr("aria-label", translate('request_reconfirmation_email'), true, true)+pug.attr("captcha", (showCaptcha ? '' : false), true, true)+pug.attr("captcha-action-name", (showCaptcha ? "passwordReset" : false), true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("please_enter_email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" aria-label=\"email\" type=\"email\" name=\"email\" placeholder=\"email@example.com\""+pug.attr("required", true, true, true)+pug.attr("autofocus", true, true, true)+pug.attr("value", email, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('request_password_reset_to_reconfirm'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('request_password_reset_to_reconfirm')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('request_password_reset_to_reconfirm')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cdiv class=\"alert alert-success\" role=\"alert\" aria-live=\"polite\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('password_reset_email_sent')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-sm-12 col-md-6 col-md-offset-3\"\u003E"; +if (showCaptcha) { +pug_mixins["recaptchaConditions"](); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "reconfirm_email" in locals_for_with ? + locals_for_with.reconfirm_email : + typeof reconfirm_email !== 'undefined' ? reconfirm_email : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showCaptcha" in locals_for_with ? + locals_for_with.showCaptcha : + typeof showCaptcha !== 'undefined' ? showCaptcha : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/register.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/register.js new file mode 100644 index 0000000..3178439 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/register.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, newTemplateData, projectDashboardReact, scriptNonce, settings, sharedProjectData, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"registration_message\"\u003E"; +if (sharedProjectData.user_first_name !== undefined) { +pug_html = pug_html + "\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("user_wants_you_to_see_project", {username:sharedProjectData.user_first_name, projectname:""})) ? "" : pug_interp)) + "\u003Cem\u003E" + (pug.escape(null == (pug_interp = sharedProjectData.project_name) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fh1\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("join_sl_to_view_project")) ? "" : pug_interp)) + ".\u003C\u002Fdiv\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("already_have_sl_account")) ? "" : pug_interp)) + "\u003Ca href=\"\u002Flogin\"\u003E " + (pug.escape(null == (pug_interp = translate("login_here")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +else +if (newTemplateData.templateName !== undefined) { +pug_html = pug_html + "\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("register_to_edit_template", {templateName:newTemplateData.templateName})) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("already_have_sl_account")) ? "" : pug_interp)) + "\u003Ca href=\"\u002Flogin\"\u003E " + (pug.escape(null == (pug_interp = translate("login_here")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003EPlease contact\n\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\nto create an account.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "newTemplateData" in locals_for_with ? + locals_for_with.newTemplateData : + typeof newTemplateData !== 'undefined' ? newTemplateData : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "sharedProjectData" in locals_for_with ? + locals_for_with.sharedProjectData : + typeof sharedProjectData !== 'undefined' ? sharedProjectData : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/restricted.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/restricted.js new file mode 100644 index 0000000..7753c95 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/restricted.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 text-center\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate("restricted_no_permission")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Ca href=\"\u002F\"\u003E\u003Ci class=\"fa fa-arrow-circle-o-left\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E " + (pug.escape(null == (pug_interp = translate("take_me_home")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/sessions.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/sessions.js new file mode 100644 index 0000000..578da48 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/sessions.js @@ -0,0 +1,1371 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentSession, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, moment, nav, projectDashboardReact, scriptNonce, sessions, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card clear-user-sessions\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("your_sessions")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E"; +if (currentSession.ip_address && currentSession.session_created) { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("current_session")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv\u003E\u003Ctable class=\"table table-striped\"\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("ip_address")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("session_created_at")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = currentSession.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(currentSession.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003C\u002Fthead\u003E\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv\u003E\u003Cp class=\"small\"\u003E" + (null == (pug_interp = translate("clear_sessions_description")) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form action=\"\u002Fuser\u002Fsessions\u002Fclear\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +if (sessions.length == 0) { +pug_html = pug_html + "\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate("no_other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +if (sessions.length > 0) { +pug_html = pug_html + "\u003Ctable class=\"table table-striped\"\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("ip_address")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("session_created_at")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003C\u002Ftr\u003E\u003C\u002Fthead\u003E"; +// iterate sessions +;(function(){ + var $$obj = sessions; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var session = $$obj[pug_index12]; +pug_html = pug_html + "\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = session.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(session.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var session = $$obj[pug_index12]; +pug_html = pug_html + "\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = session.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(session.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003Cp class=\"actions\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-lg btn-primary\" type=\"submit\" data-ol-disable-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('clear_sessions')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("processing")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate("no_other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"text-success text-center\"\u003E" + (pug.escape(null == (pug_interp = translate('clear_sessions_success')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E\u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentSession" in locals_for_with ? + locals_for_with.currentSession : + typeof currentSession !== 'undefined' ? currentSession : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "moment" in locals_for_with ? + locals_for_with.moment : + typeof moment !== 'undefined' ? moment : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "sessions" in locals_for_with ? + locals_for_with.sessions : + typeof sessions !== 'undefined' ? sessions : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/setPassword.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/setPassword.js new file mode 100644 index 0000000..355a8c2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/setPassword.js @@ -0,0 +1,1372 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, passwordResetToken, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + +pug_mixins["customValidationMessage"] = pug_interp = function(key){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (" class=\"invalid-feedback mt-2\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-warning me-1\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cform data-ol-async-form name=\"passwordResetForm\" action=\"\u002Fuser\u002Fpassword\u002Fset\" method=\"POST\" data-ol-hide-on-error=\"token-expired\"\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("password_updated")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"mb-4\"\u003E" + (pug.escape(null == (pug_interp = translate("your_password_has_been_successfully_changed")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E\u003Ca href=\"\u002Flogin\"\u003E" + (pug.escape(null == (pug_interp = translate("log_in_now")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-not-sent\u003E\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("reset_your_password")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp data-ol-hide-on-error-message=\"token-expired\"\u003E" + (pug.escape(null == (pug_interp = translate("create_a_new_password_for_your_account")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password_contains_email')) ? "" : pug_interp)) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-contains-email', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password_too_similar')) ? "" : pug_interp)) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-too-similar', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('password_reset_token_expired')) ? "" : pug_interp)) + "\u003Cbr\u003E\u003Ca href=\"\u002Fuser\u002Fpassword\u002Freset\"\u003E" + (pug.escape(null == (pug_interp = translate('request_new_password_reset_email')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +}, 'token-expired', 'danger'); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"text\""+pug.attr("hidden", true, true, true)+" name=\"email\" autocomplete=\"username\""+pug.attr("value", email, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"passwordField\" data-ol-hide-on-error-message=\"token-expired\"\u003E" + (pug.escape(null == (pug_interp = translate("new_password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"passwordField\" type=\"password\" name=\"password\""+pug.attr("placeholder", translate("enter_your_new_password"), true, true)+" autocomplete=\"new-password\""+pug.attr("autofocus", true, true, true)+pug.attr("required", true, true, true)+pug.attr("minlength", settings.passwordStrengthOptions.length.min, true, true)) + "\u003E"; +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password')) ? "" : pug_interp)) + "."; +} +}, 'invalid-password'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('password_cant_be_the_same_as_current_one')) ? "" : pug_interp)) + "."; +} +}, 'password-must-be-different'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('password_was_detected_on_a_public_list_of_known_compromised_passwords', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com/passwords', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-must-be-strong'); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"passwordResetToken\""+pug.attr("value", passwordResetToken, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-hide-on-error-message=\"token-expired\"\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate('in_order_to_have_a_secure_account_make_sure_your_password')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cul class=\"mb-4 ps-4\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('is_longer_than_n_characters', {n: settings.passwordStrengthOptions.length.min})) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('does_not_contain_or_significantly_match_your_email')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('is_not_used_on_any_other_website')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary w-100\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('set_new_password'), true, true)) + "\u003E \u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('set_new_password')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('set_new_password')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "passwordResetToken" in locals_for_with ? + locals_for_with.passwordResetToken : + typeof passwordResetToken !== 'undefined' ? passwordResetToken : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/settings.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/settings.js new file mode 100644 index 0000000..f12c5e9 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/settings.js @@ -0,0 +1,963 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, cloneAndTranslateText, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, dropbox, emailAddressLimit, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, externalAuthenticationSystemUsed, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, github, hasAdminAccess, hasCustomLeftNav, hasFeature, hasPassword, hideFatFooter, institutionEmailNonCanonical, institutionLinked, isManagedAccount, isSaas, mathJaxPath, memberOfSSOEnabledGroups, metadata, moduleIncludes, nav, oauthProviders, personalAccessTokens, projectDashboardReact, projectSyncSuccessMessage, reconfirmationRemoveEmail, reconfirmedViaSAML, samlBeta, samlError, scriptNonce, settings, shouldAllowEditingDetails, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, ssoErrorMessage, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, thirdPartyIds, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/settings' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-hasPassword\" data-type=\"boolean\""+pug.attr("content", hasPassword, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-shouldAllowEditingDetails\" data-type=\"boolean\""+pug.attr("content", shouldAllowEditingDetails, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-oauthProviders\" data-type=\"json\""+pug.attr("content", oauthProviders, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-institutionLinked\" data-type=\"json\""+pug.attr("content", institutionLinked, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-samlError\" data-type=\"json\""+pug.attr("content", samlError, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-institutionEmailNonCanonical\""+pug.attr("content", institutionEmailNonCanonical, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmedViaSAML\""+pug.attr("content", reconfirmedViaSAML, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmationRemoveEmail\""+pug.attr("content", reconfirmationRemoveEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-samlBeta\""+pug.attr("content", samlBeta, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ssoErrorMessage\""+pug.attr("content", ssoErrorMessage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-thirdPartyIds\" data-type=\"json\""+pug.attr("content", thirdPartyIds || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-passwordStrengthOptions\" data-type=\"json\""+pug.attr("content", settings.passwordStrengthOptions || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isExternalAuthenticationSystemUsed\" data-type=\"boolean\""+pug.attr("content", externalAuthenticationSystemUsed(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dropbox\" data-type=\"json\""+pug.attr("content", dropbox, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-github\" data-type=\"json\""+pug.attr("content", github, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectSyncSuccessMessage\""+pug.attr("content", projectSyncSuccessMessage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-personalAccessTokens\" data-type=\"json\""+pug.attr("content", personalAccessTokens, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-emailAddressLimit\" data-type=\"json\""+pug.attr("content", emailAddressLimit, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-memberOfSSOEnabledGroups\" data-type=\"json\""+pug.attr("content", memberOfSSOEnabledGroups, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"settings-page-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "dropbox" in locals_for_with ? + locals_for_with.dropbox : + typeof dropbox !== 'undefined' ? dropbox : undefined, "emailAddressLimit" in locals_for_with ? + locals_for_with.emailAddressLimit : + typeof emailAddressLimit !== 'undefined' ? emailAddressLimit : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "externalAuthenticationSystemUsed" in locals_for_with ? + locals_for_with.externalAuthenticationSystemUsed : + typeof externalAuthenticationSystemUsed !== 'undefined' ? externalAuthenticationSystemUsed : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "github" in locals_for_with ? + locals_for_with.github : + typeof github !== 'undefined' ? github : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasPassword" in locals_for_with ? + locals_for_with.hasPassword : + typeof hasPassword !== 'undefined' ? hasPassword : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "institutionEmailNonCanonical" in locals_for_with ? + locals_for_with.institutionEmailNonCanonical : + typeof institutionEmailNonCanonical !== 'undefined' ? institutionEmailNonCanonical : undefined, "institutionLinked" in locals_for_with ? + locals_for_with.institutionLinked : + typeof institutionLinked !== 'undefined' ? institutionLinked : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "memberOfSSOEnabledGroups" in locals_for_with ? + locals_for_with.memberOfSSOEnabledGroups : + typeof memberOfSSOEnabledGroups !== 'undefined' ? memberOfSSOEnabledGroups : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "oauthProviders" in locals_for_with ? + locals_for_with.oauthProviders : + typeof oauthProviders !== 'undefined' ? oauthProviders : undefined, "personalAccessTokens" in locals_for_with ? + locals_for_with.personalAccessTokens : + typeof personalAccessTokens !== 'undefined' ? personalAccessTokens : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectSyncSuccessMessage" in locals_for_with ? + locals_for_with.projectSyncSuccessMessage : + typeof projectSyncSuccessMessage !== 'undefined' ? projectSyncSuccessMessage : undefined, "reconfirmationRemoveEmail" in locals_for_with ? + locals_for_with.reconfirmationRemoveEmail : + typeof reconfirmationRemoveEmail !== 'undefined' ? reconfirmationRemoveEmail : undefined, "reconfirmedViaSAML" in locals_for_with ? + locals_for_with.reconfirmedViaSAML : + typeof reconfirmedViaSAML !== 'undefined' ? reconfirmedViaSAML : undefined, "samlBeta" in locals_for_with ? + locals_for_with.samlBeta : + typeof samlBeta !== 'undefined' ? samlBeta : undefined, "samlError" in locals_for_with ? + locals_for_with.samlError : + typeof samlError !== 'undefined' ? samlError : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "shouldAllowEditingDetails" in locals_for_with ? + locals_for_with.shouldAllowEditingDetails : + typeof shouldAllowEditingDetails !== 'undefined' ? shouldAllowEditingDetails : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "ssoErrorMessage" in locals_for_with ? + locals_for_with.ssoErrorMessage : + typeof ssoErrorMessage !== 'undefined' ? ssoErrorMessage : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "thirdPartyIds" in locals_for_with ? + locals_for_with.thirdPartyIds : + typeof thirdPartyIds !== 'undefined' ? thirdPartyIds : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js new file mode 100644 index 0000000..a46bda2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/group-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js new file mode 100644 index 0000000..4ee9102 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, groupSSOActive, groupSize, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, managedUsersActive, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/group-members' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSize\" data-type=\"json\""+pug.attr("content", groupSize, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedUsersActive\" data-type=\"boolean\""+pug.attr("content", managedUsersActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "groupSize" in locals_for_with ? + locals_for_with.groupSize : + typeof groupSize !== 'undefined' ? groupSize : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "managedUsersActive" in locals_for_with ? + locals_for_with.managedUsersActive : + typeof managedUsersActive !== 'undefined' ? managedUsersActive : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js new file mode 100644 index 0000000..efb12a2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/institution-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/new.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/new.js new file mode 100644 index 0000000..659e08c --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/new.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entityId, entityName, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = entityName) ? "" : pug_interp)) + " \"" + (pug.escape(null == (pug_interp = entityId) ? "" : pug_interp)) + "\" does not exists in v2\u003C\u002Fh3\u003E\u003Cform data-ol-regular-form method=\"post\" action=\"\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-primary text-capitalize\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003ECreate " + (pug.escape(null == (pug_interp = entityName) ? "" : pug_interp)) + " in v2\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("creating")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entityId" in locals_for_with ? + locals_for_with.entityId : + typeof entityId !== 'undefined' ? entityId : undefined, "entityName" in locals_for_with ? + locals_for_with.entityName : + typeof entityName !== 'undefined' ? entityName : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js new file mode 100644 index 0000000..57f2ef2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/publisher-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..3b3fd50 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1008 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: [], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less b/docker/features/_masterfiles/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less new file mode 100644 index 0000000..d49ce74 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less @@ -0,0 +1,120 @@ +// ====== Color Palette ====== +// Neutral +@white: #ffffff; +@neutral-10: #f4f5f6; +@neutral-20: #e7e9ee; +@neutral-30: #d0d5dd; +@neutral-40: #afb5c0; +@neutral-50: #8d96a5; +@neutral-60: #677283; +@neutral-70: #495365; +@neutral-80: #2f3a4c; +@neutral-90: #1b222c; + +// Green +@green-10: #eaf6ef; +@green-20: #b8dbc8; +@green-30: #86caa5; +@green-40: #53b57f; +@green-50: #098842; +@green-60: #1e6b41; +@green-70: #195936; + +// Blue +@blue-10: #f1f4f9; +@blue-20: #c3d0e3; +@blue-30: #97b6e5; +@blue-40: #6597e0; +@blue-50: #3265b2; +@blue-60: #28518f; +@blue-70: #214475; + +// Red +@red-10: #f9f1f1; +@red-20: #f5beba; +@red-30: #e59d9a; +@red-40: #e36d66; +@red-50: #b83a33; +@red-60: #942f2a; +@red-70: #782722; + +// Yellow +@yellow-10: #fcf1e3; +@yellow-20: #fcc483; +@yellow-30: #f7a445; +@yellow-40: #de8014; +@yellow-50: #8f5514; +@yellow-60: #7a4304; +@yellow-70: #633a0b; + +// ====== Commonly used variable names ====== +// (all should be based on color palette above) +@gray-darker: @neutral-90; +@gray-dark: @neutral-70; +@gray: @neutral-60; +@gray-light: @neutral-40; +@gray-lighter: @neutral-30; +@gray-lightest: @neutral-10; + +@blue: @blue-50; +@blue-dark: @blue-60; +@green: @green-50; +@green-dark: @green-60; +@green-darker: @green-70; +@red: @red-50; +@orange: @yellow-40; +@orange-dark: @yellow-60; + +@brand-primary: @green; +@brand-secondary: @green-darker; +@brand-success: @green; +@brand-info: @blue; +@brand-warning: @orange; +@brand-danger: @red; + +@accent-color-secondary: @green-darker; +@color-disabled: @neutral-20; + +// == Content == +// on light background +@content-primary-on-light-bg: @neutral-90; +@content-secondary-on-light-bg: @neutral-70; +@content-disabled-on-light-bg: @neutral-40; +@content-placeholder-on-light-bg: @neutral-50; +// on dark background +@content-primary-on-dark-bg: @white; +@content-secondary-on-dark-bg: @neutral-20; +@content-disabled-on-dark-bg: @neutral-60; +@content-placeholder-on-dark-bg: @neutral-50; +// default +@content-primary: @content-primary-on-light-bg; +@content-secondary: @content-secondary-on-light-bg; +@content-disabled: @content-disabled-on-light-bg; +@content-placeholder: @content-placeholder-on-light-bg; + +// == Website Redesign == +@ceil: #9597c9; +@caramel: #f9d38f; +@dark-jungle-green: #0f271a; +@malachite: #13c965; +@sapphire-blue: #4354a3; +@sapphire-blue-dark: #3c4c93; +@vivid-tangerine: #f1a695; + +// == ol-* legacy variables == +// These will eventually be removed and replaced with above names +@ol-type-color: @content-secondary; +@ol-blue-gray-0: @neutral-10; +@ol-blue-gray-1: @neutral-20; +@ol-blue-gray-2: @neutral-40; +@ol-blue-gray-3: @neutral-60; +@ol-blue-gray-4: @neutral-70; +@ol-blue-gray-5: @neutral-80; +@ol-blue-gray-6: @neutral-90; +@ol-green: @green-50; +@ol-dark-green: @green-darker; +@ol-darker-green: @green-darker; +@ol-blue: @blue-50; +@ol-dark-blue: @blue-dark; +@ol-red: @red-50; +@ol-dark-red: @red-60; diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/cs.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/cs.json new file mode 100644 index 0000000..c4b095f --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/cs.json @@ -0,0 +1,348 @@ +{ + "about": "O nás", + "about_to_delete_projects": "Chcete smazat následující projekty:", + "about_to_leave_projects": "Chystáte se ponechat následující projekty:", + "about_to_trash_projects": "Chystáte se vyhodit do koše následující projekty:", + "account": "Účet", + "account_not_linked_to_dropbox": "Váš účet není spojen s Dropboxem", + "account_settings": "Nastavení účtu", + "actions": "Akce", + "add": "Přidat", + "add_more_members": "Přidat více členů", + "add_your_first_group_member_now": "Přidejte do vaší skupiny prvního člena", + "added": "přidáno", + "admin": "administrátor", + "all_projects": "Všechny projekty", + "all_templates": "Všechny šablony", + "already_have_sl_account": "Máte už účet v __appName__?", + "and": "a", + "annual": "Roční", + "anonymous": "Anonymní", + "auto_complete": "Automatické dokončování", + "back_to_your_projects": "Zpět k vašim projektům", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Prázdný projekt", + "blog": "Blog", + "built_in": "Vestavěný", + "can_edit": "Může upravovat", + "cancel": "Zrušit", + "cant_find_email": "Je nám líto, ale tato emailová adresa není registrována.", + "cant_find_page": "Je nám líto, ale nemůžeme najít stránku, kterou hledáte.", + "change": "Změnit", + "change_owner": "Změnit majitele", + "change_password": "Změnit heslo", + "change_plan": "Změnit tarif", + "change_project_owner": "Změnit majitele projektu", + "change_to_this_plan": "Změnit na tento tarif", + "chat": "Chat", + "checking_dropbox_status": "kontroluji stav Dropboxu", + "checking_project_github_status": "Kontroluji stav projektu na GitHubu", + "choose_your_plan": "Zvolte si svůj tarif", + "clear_cached_files": "Vymazat cache", + "clearing": "Odstraňuji", + "click_here_to_view_sl_in_lng": "Pro použití __appName__ v <0>__lngName__ klikněte zde", + "close": "Zavřít", + "collaboration": "Spolupráce", + "collaborator": "Collaborator", + "collabs_per_proj": "__collabcount__ spolupracovníků na projektu", + "comment": "Komentář", + "commit": "Commitovat", + "common": "Běžné", + "compiler": "Kompilátor", + "compiling": "Kompiluji", + "complete": "Hotovo", + "confirm_new_password": "Potvrdit nové heslo", + "confirmation_link_broken": "Omlouváme se, ale něco není v pořádku s Vaším potvrzovacím kódem. Prosíme zkuste zkopírovat odkaz z konce Vašeho potvrzovacího e-mailu.", + "confirmation_token_invalid": "Omlováme se, ale Váš potvrzovací kód je neplatný nebo vypršel. Prosím požádejte o nový potrvzovací e-mail.", + "connecting": "Připojuji", + "contact": "Kontakt", + "contact_us": "Kontaktujte nás", + "continue_github_merge": "Provedl jsem manuální merge. Pokračovat", + "copy": "Kopírovat", + "copy_project": "Kopírovat projekt", + "copying": "Kopíruji", + "create": "Vytvořit", + "create_new_subscription": "Vytvořit nové předplatné.", + "create_project_in_github": "Vytvořit GitHub repozitář.", + "creating": "Vytvářím", + "cs": "Čeština", + "current_password": "Aktuální heslo", + "currently_subscribed_to_plan": "Máte předplacen tarif <0>__planName__.", + "da": "Dánština", + "de": "Němčina", + "delete": "Smazat", + "delete_account": "Smazat účet", + "delete_and_leave": "Odstranit / Opustit", + "delete_your_account": "Smazat váš účet", + "deleting": "Smazávám", + "disconnected": "Odpojeno", + "documentation": "Dokumentace", + "doesnt_match": "Nesouhlasí", + "done": "Hotovo", + "download": "Stáhnout", + "download_pdf": "Stáhnout PDF", + "download_zip_file": "Stáhnout soubor .zip", + "dropbox_sync": "Synchronizace s Dropboxem", + "dropbox_sync_description": "Udržujte své projekty v __appName__u synchronizované s vašim Dropboxem. Změny v __appName__u budou automaticky poslány do Dropboxu a obráceně.", + "duplicate_file": "Zduplikovat soubor", + "editing": "Pro úpravy", + "email": "Email", + "email_or_password_wrong_try_again": "Váš email, nebo heslo není správně.", + "en": "Angličtina", + "es": "Španělština", + "example_project": "Vzorový projekt", + "export_project_to_github": "Exportovat projekt do GitHubu", + "features": "Vlastnosti", + "file_already_exists_in_this_location": "Soubor <0>__fileName__ již v daném umístění existuje. Pokud chcete tento soubor přesunout, nejprve přejmenujte nebo odstraňte ten existující.", + "files_selected": "souborů označeno.", + "first_name": "Jméno", + "folders": "Složky", + "font_size": "Velikost písma", + "forgot_your_password": "Zapomenuté heslo", + "fr": "Francouzština", + "free": "Zdarma", + "free_dropbox_and_history": "Zdarma Dropbox a Historie", + "full_doc_history": "Celá historie dokumentu", + "generic_something_went_wrong": "Omlouváme se, ale něco je špatně.", + "get_in_touch": "Buďte v kontaktu", + "github_commit_message_placeholder": "Commit zprávy pro změny udělané v __appName__u...", + "github_is_premium": "Synchronizace s GitHubem je prémiová funkce", + "github_no_master_branch_error": "Tento repozitář nemůže být importován, protože nemá master branch. Prosím zajistěte, aby projekt měl master branch.", + "github_public_description": "Tento repozitář může vidět kdokoliv. Vy určíte kdo do něj může commitovat,", + "github_successfully_linked_description": "Děkujeme, úspěšně jsem připojili váš GitHub účet k __appName__u. Nyní můžete exportovat své projekty v __appName__u do GitHubu, nebo importovat projekty z GitHub repozitáře.", + "github_sync": "Synchronizace s GitHubem", + "github_sync_description": "Můžete spojit vaše projekty v __appName__u s GitHub repozitářem. Můžete vytvářet nové commity z __appName__u a mergovat s commity vytvořenými offline, nebo na GitHubu.", + "github_sync_error": "Omlouváme se, ale při komunikaci s naší GitHub službou nastala chyba. Zkuste to za moment znovu.", + "github_validation_check": "Zkontrolujte prosím, jestli máte správné jméno repozitáře a jestli máte práva k jeho vytvoření.", + "go_to_code_location_in_pdf": "Přejít od místa v kódu k PDF", + "group_admin": "Administrátor skupiny", + "group_full": "Tato skupina je již naplněna.", + "help": "Nápověda", + "home": "Domů", + "hotkeys": "Klávesové zkratky", + "import_from_github": "Importovat z GitHubu", + "import_to_sharelatex": "Importovat do __appName__u", + "importing": "Importuji", + "importing_and_merging_changes_in_github": "Importuji a merguji změny v GitHubu", + "indvidual_plans": "Individuální tarify", + "info": "Informace", + "institution": "Instituce", + "it": "Italština", + "join_sl_to_view_project": "Pro zobrazení tohoto projektu se přihlašte do __appName__.", + "keybindings": "Klávesové zkratky", + "language": "Jazyk", + "last_modified": "Naposledy změněno", + "last_name": "Příjmení", + "latex_templates": "Šablony pro LaTeX", + "learn_more": "Zjistit více", + "link_to_github": "Spojit s vašim GitHub účtem", + "link_to_github_description": "Musíte autorizovat __appName__ k přístupu do vaše GitHub účtu abychom mohli synchronizovat vaše projekty.", + "loading": "Načítám", + "loading_github_repositories": "Načítám vaše repozitáře z GitHubu", + "loading_recent_github_commits": "Načítám poslední commity", + "log_in": "Přihlásit se", + "log_out": "Odhlásit se", + "logging_in": "Přihlašuji", + "login": "Přihlášení", + "login_here": "Přihlašte se zde", + "logs_and_output_files": "Logy a výstupní soubory", + "lost_connection": "Připojení ztraceno", + "main_document": "Hlavní dokument", + "maintenance": "Údržba", + "make_private": "Nastavit jako soukromý", + "menu": "Menu", + "merge": "Mergovat", + "merging": "Merguji", + "month": "měsíc", + "monthly": "Měsíční", + "more": "Více", + "must_be_email_address": "Musíte zadat emailovou adresu", + "name": "Jméno", + "native": "Výchozí", + "navigation": "Pro navigaci", + "need_anything_contact_us_at": "Pokud vám můžeme s čímkoliv pomoci, nebojte se na nás obrátit na", + "need_to_leave": "Potřebujete odejít?", + "need_to_upgrade_for_more_collabs": "Pro přidání více spolupracovníků musíte upgradovat svůj účet.", + "new_file": "Nový soubor", + "new_folder": "Nová složka", + "new_name": "Nové jméno", + "new_password": "Nové heslo", + "new_project": "Nový projekt", + "next_payment_of_x_collectected_on_y": "Další platba <0>__paymentAmmount__ bude stržena <1>__collectionDate__", + "nl": "Holandština", + "no": "Norština", + "no_members": "Žádní členové", + "no_messages": "Žádné zprávy", + "no_new_commits_in_github": "Od posledního merge nejsou žádné nové commity.", + "no_planned_maintenance": "V současnosti není plánovaná žádná odstávka", + "no_preview_available": "Je nám líto, ale náhled není k dispozici.", + "no_projects": "Žádné projekty", + "no_selection_select_file": "Nevybrali jste žádný soubor.", + "off": "Vypnuto", + "ok": "OK", + "one_collaborator": "Jen jeden spolupracovník", + "one_free_collab": "Jeden spolupracovník zdarma", + "online_latex_editor": "Online LaTeX editor", + "optional": "Dobrovolný", + "or": "nebo", + "other_logs_and_files": "Ostatní logy a soubory", + "over": "více než", + "owner": "Vlastník", + "page_not_found": "Stránka nenalezena", + "password": "Heslo", + "password_reset": "Resetovat heslo", + "password_reset_email_sent": "Byl vám zaslán email pro dokončení resetu vašeho hesla.", + "password_reset_token_expired": "Váš token pro reset hesla vypršel. Nechejte si prosím zaslat nový email a pokračujte odkazem v něm uvedeným.", + "password_too_long_please_reset": "Překročili jste maximální délku hesla. Prosíme změňte si heslo.", + "pdf_viewer": "Prohlížeč PDF", + "personal": "Personal", + "pl": "Polština", + "planned_maintenance": "Plánovaná odstávka", + "plans_amper_pricing": "Tarify a ceny", + "plans_and_pricing": "Tarify a ceny", + "please_compile_pdf_before_download": "Před stažením PDF prosím zkompilujte svůj projekt", + "please_enter_email": "Zadejte prosím svou emailovou adresu", + "please_refresh": "Pro pokračování prosím obnovte stránku.", + "position": "Pozice", + "presentation": "Prezentace", + "price": "Cena", + "privacy": "Soukromí", + "privacy_policy": "Ochrana osobních údajů", + "private": "Soukromé", + "problem_changing_email_address": "Nastal problém při změně vaší emailové adresy.Prosíme zkuste to za okamžik znovu. Pokud problémy přetrvají, kontaktujte nás.", + "problem_talking_to_publishing_service": "Vyskytl se problém s naší publikační službou, zkuste to prosím znovu za pár minut", + "problem_with_subscription_contact_us": "Vyskytly se problémy s vaším předplatným. Kontaktujte nás prosím pro více informací.", + "processing": "zpracovávám", + "professional": "Professional", + "project_last_published_at": "Váš projekt byl naposledy publikován", + "project_name": "Jméno projektu", + "project_not_linked_to_github": "Tento projekt není spojen s GitHub repozitářem. Můžete pro něj GitHub repozitář vytvořit:", + "project_ownership_transfer_confirmation_1": "Opravdu chcete změnit majitele projektu <1>__project__ na uživatele <0>__user__?", + "project_ownership_transfer_confirmation_2": "Tuto akci nebudete moci vrátit. Nový majitel bude o změně informován, a bude moci změnit přístupová práva, včetně možnosti zamezit Vám v přístupu.", + "project_synced_with_git_repo_at": "Tento projekt je synchronizován s GitHub repozitářem v", + "projects": "Projekty", + "pt": "Portugalština", + "public": "Veřejné", + "publish": "Publikovat", + "publish_as_template": "Publikovat jako šablonu", + "publishing": "Publikuji", + "pull_github_changes_into_sharelatex": "Vložit změny z GitHubu do __appName__u.", + "push_sharelatex_changes_to_github": "Vložit změny z __appName__u do GitHubu", + "read_only": "Jen pro čtení", + "recent_commits_in_github": "Poslední commity do GitHubu", + "recompile": "Překompilovat", + "reconnecting": "Obnovuji připojení", + "reconnecting_in_x_secs": "Obnovuji připojení za __seconds__ sek", + "refresh_page_after_starting_free_trial": "Obnovte prosím stránku poté co začnete používat svou bezplatnou trial verzi.", + "regards": "S pozdravem", + "register": "Registrovat", + "register_to_edit_template": "Pro úpravu šablony __templateName__ se prosím přihlašte", + "registered": "Registrováno", + "registering": "Registruji", + "remove_collaborator": "Odstranit spolupracovníka", + "remove_from_group": "Odstranit ze skupiny", + "removed": "odstraněno", + "rename": "Přejmenovat", + "rename_project": "Přejmenovat projekt", + "repository_name": "Jméno repozitáře", + "republish": "Publikovat znovu", + "request_password_reset": "Požádat o resetování hesla", + "required": "Povinná položka", + "reset_password": "Resetovat heslo", + "reset_your_password": "Resetovat heslo", + "restore": "Obnovit", + "restoring": "Obnovuji", + "restricted": "Důvěrné", + "restricted_no_permission": "Důvěrné; omlouváme se, ale nemáte dostatečná práva k zobrazení této stránky.", + "ro": "Rumunština", + "role": "Úloha", + "ru": "Ruština", + "saving": "Ukládám", + "saving_notification_with_seconds": "Ukládám __docname__... (__seconds__ sek neuložených změn)", + "search_projects": "Vyhledat projekty", + "security": "Zabezpečení", + "select_github_repository": "Vybrat GitHub repozitář k importování do __appName__u.", + "send_first_message": "Pošlete svou první zprávu spolupracovníkům", + "server_error": "Chyba serveru", + "set_new_password": "Nastavit nové heslo", + "set_password": "Nastavit heslo", + "settings": "Nastavení", + "share": "Sdílet", + "share_project": "Sdílet projekt", + "share_with_your_collabs": "Sdílet s vašimi spolupracovníky", + "shared_with_you": "Sdílené s Vámi", + "show_hotkeys": "Zobrazit zkratky", + "somthing_went_wrong_compiling": "Omlouváme se, ale něco se pokazilo a váš projekt nemůže být zkompilován. Zkuste to prosím znovu za pár okamžiků.", + "source": "Zdroj", + "spell_check": "Kontrola pravopisu", + "start_free_trial": "Začněte s trial verzí zdarma!", + "student": "Student", + "subscribe": "Odebírat novinky", + "subscription": "Předplatné", + "subscription_canceled_and_terminate_on_x": " Vaše předplatné bylo zrušeno a bude ukončeno k <0>__terminateDate__. Žádná další platba nebude stržena.", + "sure_you_want_to_change_plan": "Opravdu chcete změnit tarif na <0>__planName__?", + "sure_you_want_to_delete": "Opravdu chcete nenávratně smazat následující soubory?", + "sv": "Švédština", + "sync": "Synchronizace", + "sync_project_to_github_explanation": "Každá změna, kterou uděláte v __appName__u, bude commitována a mergována z každou změnou v GitHubu.", + "sync_to_dropbox": "Synchronizujte s Dropboxem", + "take_me_home": "Vezmi mě zpět!", + "template_description": "Popis šablony", + "templates": "Šablony", + "terms": "Podmínky", + "thank_you": "Děkujeme", + "thanks": "Děkujeme", + "thanks_for_subscribing": "Děkujeme za odběr!", + "thanks_for_subscribing_you_help_sl": "Děkujeme za předplacení tarifu __planName__. Podpora od lidí jako jste vy je to, co umožňuje, aby __appName__ rostl a zlepšoval se.", + "thanks_settings_updated": "Děkujeme, vaše nastavení bylo aktualizováno.", + "theme": "Vzhled", + "thesis": "Závěrečná práce", + "this_action_cannot_be_undone": "Tuto akci nepůjde vrátit zpět!", + "this_project_is_public": "Tento projekt je veřejný a editovatelný kýmkoliv s URL.", + "this_project_is_public_read_only": "Tento projekt je veřejný a může být zobrazen, ale ne editován, kýmkoliv kdo má URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Tento projekt se objeví ve vaší Dropbox složce jako ", + "three_free_collab": "Tři spolupracovníci zdarma", + "timedout": "Vypršel čas", + "title": "Název", + "to_many_login_requests_2_mins": "Tento účet má příliš mnoho žádostí o přihlášení. Počkejte prosím 2 minuty před dalším pokusem.", + "token_access_failure": "Přístup odepřen; kontaktujte prosím majitele projektu", + "tr": "Turečtina", + "trash": "Vyhodit do koše", + "trash_projects": "Vyhodit projekty do koše", + "trashed_projects": "Koš", + "try_now": "Vyzkoušejte teď", + "uk": "Ukrajinština", + "university": "Univerzita", + "unlimited_collabs": "Neomezený počet spolupracovníků", + "unlimited_projects": "Neomezený počet projektů", + "unlink": "Odpojit", + "unlink_github_repository": "Odlinkovat Github repozitář", + "unlink_github_warning": "Všechny projekty synchronizované s GitHubem budou odpojeny a déle nesynchronizovány. Opravdu chcete váš GitHub účet odpojit?", + "unlinking": "Odlinkovávám", + "unpublish": "Zrušit publikování", + "unpublishing": "Ruším publikování", + "unsubscribe": "Zrušit odběr", + "unsubscribed": "Odběr zrušen", + "unsubscribing": "Ruším odběr", + "untrash": "Obnovit", + "update": "Aktualizovat", + "update_account_info": "Aktualizovat informace o účtu", + "update_dropbox_settings": "Aktualizovat nastavení Dropboxu", + "update_your_billing_details": "Aktualizujte své fakturační údaje", + "updating_site": "Upravuji stránku", + "upgrade": "Upgrade", + "upload": "Nahrát", + "upload_project": "Nahrát projekt", + "upload_zipped_project": "Nahrát zazipovaný projekt", + "user_wants_you_to_see_project": "Uživatel __username__ by se rád přidal k projektu __projectname__", + "view_all": "Zobrazit vše", + "view_in_template_gallery": "Zobrazit v galerii šablon", + "welcome_to_sl": "Vítejte v __appName__", + "year": "rok", + "you_have_added_x_of_group_size_y": "Přidal jste <0>__addedUsersSize__ z <1>__groupSize__ možných členů", + "your_plan": "Váš tarif", + "your_projects": "Vaše projekty", + "your_subscription": "Vaše předplatné", + "your_subscription_has_expired": "Vaše předplatné vypršelo." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/da.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/da.json new file mode 100644 index 0000000..a04a0ce --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/da.json @@ -0,0 +1,1671 @@ +{ + "1_2_width": "½ bredde", + "1_4_width": "¼ bredde", + "3_4_width": "¾ bredde", + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoindstillinger", + "Documentation": "Dokumentation", + "Projects": "Projekter", + "Security": "Sikkerhed", + "Subscription": "Abonnement", + "Terms": "Vilkår", + "Universities": "Universiteter", + "a_custom_size_has_been_used_in_the_latex_code": "En brugerdefineret størrelse er blevet brugt i LaTeX koden.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "En fil med dette navn eksisterer allerede og vil blive overskrevet.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "En mere fyldestgørende liste over tastaturgenveje kan findes i <0>denne __appName__-projektskabelon", + "about": "Om", + "about_to_archive_projects": "Du er ved at arkivére følgende projekter:", + "about_to_delete_projects": "Du er ved at slette følgende projekter:", + "about_to_delete_tag": "Du er ved at slette det følgende tag (ingen af taggets projekter vil blive slettet):", + "about_to_delete_the_following_project": "Du er ved at slette følgende projekt", + "about_to_delete_the_following_projects": "Du er ved at slette følgende projekter", + "about_to_leave_projects": "Du er ved at forlade følgende projekter:", + "about_to_trash_projects": "Du er ved at kassére følgende projekter:", + "abstract": "Resumé", + "accept": "Accepter", + "accept_all": "Accepter alle", + "accept_invitation": "Accepter invitation", + "accept_or_reject_each_changes_individually": "Accepter eller afvis hver rettelse individuelt", + "accepted_invite": "Accepteret invitation", + "accepting_invite_as": "Du accepterer denne invitation som", + "access_denied": "Adgang nægtet", + "account": "Konto", + "account_has_been_link_to_institution_account": "Din __appName__-konto __email__ er nu forbundet til din instutionelle konto fra __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Din konto har i øjeblikket en regning med overskredet betalingsdato. Du vil ikke kunne ændre dit abonnement før det er løst.", + "account_linking": "Kontosammenkædning", + "account_not_linked_to_dropbox": "Din konto er ikke forbundet til Dropbox", + "account_settings": "Kontoindstillinger", + "account_with_email_exists": "Det ser ud til at en __appName__-konto med e-mailaddressen __email__ allerede eksisterer.", + "acct_linked_to_institution_acct_2": "Du kan <0>logge ind i Overleaf igennem din institutionelle indlogning fra <0>__institutionName__.", + "actions": "Handliger", + "activate": "Aktiver", + "activate_account": "Aktiver din konto", + "activating": "Aktiverer", + "activation_token_expired": "Din aktiverings-nøgle er udløbet og du er nødt til at få en anden tilsendt.", + "add": "Tilføj", + "add_affiliation": "Tilføj tilhørsforhold", + "add_another_address_line": "Tilføj endnu en linje", + "add_another_email": "Tilføj endnu en e-mailadresse", + "add_another_token": "Tilføj endnu en nøgle", + "add_comma_separated_emails_help": "Brug komma (,) til at adskille e-mailadresser.", + "add_comment": "Tilføj kommentar", + "add_company_details": "Tilføj virksomhedsinformationer", + "add_email": "Tilføj e-mailadresse", + "add_email_to_claim_features": "Tilføj en institutionel e-mailadresse for at gøre krav på dine funktioner.", + "add_files": "Tilføj filer", + "add_more_members": "Tilføj flere medlemmer", + "add_new_email": "Tilføj ny e-mailaddresse", + "add_or_remove_project_from_tag": "Tilføj projekt til, eller fjern projekt fra, tagget __tagName__", + "add_role_and_department": "Tilføj rolle og afdeling", + "add_to_tag": "Tilføj til tag", + "add_your_comment_here": "Tilføj din kommentar her", + "add_your_first_group_member_now": "Tilføj de første medlemmer til din gruppe nu", + "added": "tilføjet", + "added_by_on": "Tilføjet af __name__ d. __date__", + "adding": "Tilføjer", + "additional_licenses": "Dit abonnement inkluderer <0>__additionalLicenses__ yderligere licens(er) for et total af <1>__totalLicenses__ licenser.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Adresse linje 2 (ikke påkrævet)", + "admin": "admin", + "admin_user_created_message": "Administratorkonto oprettet, Log ind her for at fortsætte", + "advanced_reference_search": "Avanceret <0>henvisningssøgning", + "advanced_search": "Avanceret <0>henvisningssøgning", + "aggregate_changed": "Ændrede", + "aggregate_to": "til", + "all": "Alle", + "all_our_group_plans_offer_educational_discount": "Alle vores <0>gruppeabonnementer tilbyder <1>studierabat for studerende samt fakultet", + "all_premium_features": "Alle Premium-funktioner", + "all_premium_features_including": "Alle Premium-funktioner, inklusiv:", + "all_prices_displayed_are_in_currency": "Alle priser er vist i __recommendedCurrency__.", + "all_projects": "Alle projekter", + "all_templates": "Alle skabeloner", + "already_have_sl_account": "Har du allerede en __appName__-konto?", + "also": "Derudover", + "also_available_as_on_premises": "Også tilgængelig som on-premises", + "alternatively_create_new_institution_account": "Alternativt kan du oprette en ny konto med din institutionelle e-mailaddresse (__email__), ved at klikke __clickText__.", + "an_error_occurred_when_verifying_the_coupon_code": "En fejl opstod under valideringen af rabatkoden", + "and": "og", + "annual": "Årlig", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Alle med dette link kan redigere dette projekt", + "anyone_with_link_can_view": "Alle med dette link kan se dette projekt", + "app_on_x": "__appName__ på __social__", + "apply_educational_discount": "Anvend studierabat", + "apply_educational_discount_info": "Overleaf tilbyder 40% studierabat for grupper på 10 eller flere. Gælder for studerende eller fakultet som bruger Overleaf til undervisning.", + "april": "April", + "archive": "Arkivér", + "archive_projects": "Arkivér projekter", + "archived": "Arkiveret", + "archived_projects": "Arkiverede projekter", + "archiving_projects_wont_affect_collaborators": "Det har ingen virkning på dine samarbejdspartnere, at arkivere projekter.", + "are_you_affiliated_with_an_institution": "Tilhører du en institution?", + "are_you_getting_an_undefined_control_sequence_error": "Får du en Undefined Control Sequence fejl? Hvis du gør, så dobbelttjek at du har inkluderet graphicx pakken—<0>\\usepackage{graphicx}—i præamblen (den første kodesektion) i dit dokument. <1>Lær mere", + "are_you_still_at": "Er du stadig hos <0>__institutionName__?", + "are_you_sure": "Er du sikker?", + "article": "Artikel", + "articles": "Artikler", + "as_a_member_of_sso_required": "Som en del af __institutionName__ er du nødt til at logge ind i __appName__ igennem din institution.", + "ascending": "Stigende", + "ask_proj_owner_to_upgrade_for_full_history": "Du må bede projektets ejer om at opgradere, for at få adgang til projektets fulde historie.", + "ask_proj_owner_to_upgrade_for_references_search": "Du må bede projektets ejer om at opgradere, for at bruge søgning i referencerne.", + "august": "August", + "author": "Forfatter", + "auto_close_brackets": "Luk automatisk firkantede parenteser", + "auto_compile": "Kompilér automatisk", + "auto_complete": "Udfyld automatisk", + "autocompile_disabled": "Automatisk kompilering slået fra", + "autocompile_disabled_reason": "Grundet høj serverbelastning er baggrunds kompilering midlertidig slået fra. Genkompiler venligst ved at klikke på ovenstående knap.", + "autocomplete": "Auto udfyld", + "autocomplete_references": "Automatisk reference-udfyldelse (indeni en \\cite{} blok)", + "automatic_user_registration": "Automatisk brugerregistrering", + "back": "Tilbage", + "back_to_account_settings": "Tilbage til kontoindstillinger", + "back_to_editor": "Tilbage til skrivevinduet", + "back_to_log_in": "Tilbage til login", + "back_to_subscription": "Tilbage til abonnement", + "back_to_your_projects": "Tilbage til dine projekter", + "become_an_advisor": "Bliv en __appName__ rådgiver", + "best_choices_companies_universities_non_profits": "Det bedste valg for virksomheder, universiteter og almennyttige organisationer", + "beta": "Beta", + "beta_feature_badge": "Betafunktions-skilt", + "beta_program_already_participating": "Du er tilmeldt betaprogrammet", + "beta_program_badge_description": "Når du bruger __appName__ vil du beta funktioner være markeret med dette mærke:", + "beta_program_benefits": "Vi forbedrer hele tiden __appName__. Ved at tilmelde dig dette program, får du <0>tidlig adgang til nye funktioner, og du kan hjælpe os til bedre at forstå dine behov.", + "beta_program_not_participating": "Du er ikke tilmeldt betaprogrammet", + "beta_program_opt_in_action": "Tilmeld dig betaprogrammet", + "beta_program_opt_out_action": "Frameld dig betaprogrammet", + "bibliographies": "Bibliografier", + "binary_history_error": "Ingen forhåndsvisning for denne type fil", + "blank_project": "Tomt projekt", + "blocked_filename": "Der er blokeret for det her filnavn.", + "blog": "Blog", + "browser": "Browser", + "built_in": "Indbygget", + "bulk_accept_confirm": "Er du sikker på, at du vil acceptere de valgte __nChanges__ ændringer?", + "bulk_reject_confirm": "Er du sikker på, at du vil afvise de valgte __nChanges__ ændringer?", + "buy_now_no_exclamation_mark": "Køb nu", + "by": "af", + "by_subscribing_you_agree_to_our_terms_of_service": "Ved at abonnere accepterer du vores <0>servicevilkår.", + "can_edit": "Kan redigere", + "can_link_institution_email_acct_to_institution_acct": "Du kan nu kæde din __appName__-konto __email__ sammen med din institutionelle konto fra __institutionName__.", + "can_link_institution_email_by_clicking": "Du kan kæde din __appName__-konto __email__ sammen med din __institutionName__-konto ved at klikke __clickText__.", + "can_link_institution_email_to_login": "Du kan kæde din __appName__-konto __email__ sammen med din __institutionName__-konto, hvilket vil gøre det muligt for dig at logge ind i __appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "can_link_your_institution_acct_2": "Du kan nu kæde din <0>__appName__-konto sammen med din institutionelle konto fra <0>__institutionName__.", + "can_now_relink_dropbox": "Du kan nu <0>genoprette forbindelsen med din Dropbox-konto", + "cancel": "Annuller", + "cancel_anytime": "Vi er sikre på at du vil elske __appName__, men hvis ikke kan du altid annulere. Vi giver dig pengene tilbage uden spørgsmål, hvis bare du fortæller os det inden for 30 dage.", + "cancel_my_account": "Ophæv dit abonnement", + "cancel_personal_subscription_first": "Du har allerede et personligt abonnement. Ønsker du, at dette abonnement annulleres inden du tilslutter dig gruppe licensen?", + "cancel_your_subscription": "Annullér dit abonnement", + "cannot_invite_non_user": "Kan ikke sende invitation. Modtageren er nødt til at have en __appName__ konto i forvejen.", + "cannot_invite_self": "Kan ikke sende invitation til dig selv", + "cannot_verify_user_not_robot": "Vi har desværre ikke kunnet verificere, at du ikke er en robot. Tjek venligst at Google reCAPTCHA ikke bliver blokeret af en adblocker eller en firewall.", + "cant_find_email": "Denne e-mailadresse adresse er desværre ikke registreret.", + "cant_find_page": "Beklager, vi kan ikke finde siden, du leder efter.", + "cant_see_what_youre_looking_for_question": "Er der noget, der mangler?", + "card_details": "Betalingskortsoplysninger", + "card_details_are_not_valid": "Betalingskortsoplysningerne er ugyldige", + "card_must_be_authenticated_by_3dsecure": "Betalingskortet skal godkendes med 3D Secure før du kan fortsætte", + "card_payment": "Kortbetaling", + "careers": "Karriere", + "category_arrows": "Pile", + "category_greek": "Græsk", + "category_misc": "Div", + "category_operators": "Operatorer", + "category_relations": "Relationer", + "change": "Ændr", + "change_currency": "Ændr valuta", + "change_or_cancel-cancel": "anuller", + "change_or_cancel-change": "Ændr", + "change_or_cancel-or": "eller", + "change_owner": "Skift ejer", + "change_password": "Skift Kodeord", + "change_plan": "Ændre abonnement", + "change_primary_email_address_instructions": "For at ændre din primære e-mailadresse, tilføj først din nye primære e-mailadresse (ved at klikke <0>Tilføj endnu en e-mailadesse) og bekræft den. Klik derefter på <0>Gør til primær. <1>Lær mere omkring håndtering af dine __appName__ e-mailadresser", + "change_project_owner": "Skift projektejer", + "change_to_group_plan": "Skift til gruppeabonnement", + "change_to_this_plan": "Ændring til dette abonnement", + "changing_the_position_of_your_figure": "Ændr positionen af din figur", + "chat": "Chat", + "chat_error": "Kunne ikke indlæse chatbeskeder, prøv venligst igen.", + "check_your_email": "Tjek din e-mail", + "checking": "Tjekker", + "checking_dropbox_status": "Kontrollerer Dropbox status", + "checking_project_github_status": "Tjekker projektstatus i GitHub", + "choose_a_custom_color": "Vælg en brugerdefineret farve", + "choose_your_plan": "Vælg dit abonnement", + "city": "By", + "clear_cached_files": "Ryd cachede filer", + "clear_search": "ryd søgning", + "clear_sessions": "Ryd sessioner", + "clear_sessions_description": "Dette er en liste over alle din brugers aktive sessioner (logins), undtagen din nuværende session. Klik på knappen “Ryd sessioner” nedenunder for at logge dem af.", + "clear_sessions_success": "Sessioner ryddet", + "clearing": "Rydder", + "click_here_to_view_sl_in_lng": "Klik her for at bruge __appName__ på <0>__lngName__", + "click_link_to_proceed": "Klik på __clickText__ herunder for at fortsætte.", + "clone_with_git": "Klon med Git", + "close": "Luk", + "clsi_maintenance": "Kompileringsserverne er lukkede grundet vedligeholdelse, men vil være klar om et øjeblik.", + "clsi_unavailable": "Beklager, kompileringsserveren til dit projekt var midlertidigt utilgængelig. Prøv igen om lidt.", + "cn": "Kinesisk (forenklet)", + "code_check_failed": "Kodetjek fejlede", + "code_check_failed_explanation": "Din kode har fejl, der skal rettes før auto-kompileren kan køre", + "collaborate_online_and_offline": "Samarbejd online og offline, med dit eget workflow", + "collaboration": "Samarbejde", + "collaborator": "Samarbejdspartner", + "collabratec_account_not_registered": "IEEE Collabratec™ konto er ikke registeret. Forbind til Overleaf from IEEE Collabratec™ eller log ind med en anden konto.", + "collabs_per_proj": "__collabcount__ samarbejdspartnere per projekt", + "collabs_per_proj_single": "__collabcount__ samarbejdspartnere per projekt", + "collapse": "Fold sammen", + "comment": "Kommentar", + "commit": "Commit", + "common": "Almindelig", + "commons_plan_tooltip": "Du er på __plan__ abonnementet gennem din tilknytning til __institution__. Klik for at finde ud af hvordan du bedst udnytter dine Overlaf Premium-funktioner.", + "compact": "Kompakt", + "company_name": "Virksomhedsnavn", + "comparing_from_x_to_y": "Sammenligner fra <0>__startTime__<0> til <0>__endTime__", + "compile_error_entry_description": "En fejl, som forhindrede dette projekt i at kompilere", + "compile_error_handling": "Håndtéring af kompileringsfejl", + "compile_larger_projects": "Kompilér større projekter", + "compile_mode": "Kompilering metode", + "compile_terminated_by_user": "Kompileringen blev annulleret med knappen ‘Stop kompilering’. Du kan se loggen for at se hvor kompileringen stoppede.", + "compile_timeout_short": "Kompileringstidsgrænse", + "compiler": "Kompilér", + "compiling": "Kompilerer", + "complete": "Færdig", + "confirm": "Bekræft", + "confirm_affiliation": "Bekræft tilknytning", + "confirm_affiliation_to_relink_dropbox": "Bekræft venligst at du stadig er på institutionen og på deres licens, eller opgradér din konto for at genetablere forbindelsen til din Dropbox konto.", + "confirm_email": "Bekræft e-mailadresse", + "confirm_new_password": "Bekræft nyt kodeord", + "confirm_primary_email_change": "Bekræft ændring af din primære e-mailadesse", + "confirmation_link_broken": "Beklager, der er noget galt med dit bekræftelseslink. Du kan prøve at kopiere og indsætte linket i bunden af din bekræftelsesmail.", + "confirmation_token_invalid": "Beklager, dit bekræftelseslink er ugyldig eller udløbet. Vi må bede dig bestille en ny email med et bekræftelseslink.", + "confirming": "Berkræfter", + "conflicting_paths_found": "Modstridende stier blev fundet", + "connected_users": "Forbundne brugere", + "connecting": "Forbinder", + "contact": "Kontakt", + "contact_message_label": "Besked", + "contact_sales": "Kontakt salgsafdelingen", + "contact_support_to_change_group_subscription": "<0>Kontakt venligst support hvis du ønsker at ændre dit gruppeabonnement.", + "contact_us": "Kontakt os", + "contact_us_lowercase": "Kontakt os", + "continue": "Fortsæt", + "continue_github_merge": "Jeg har flettet manuelt. Fortsæt", + "continue_to": "Fortsæt til __appName__", + "continue_with_free_plan": "Fortsæt med gratis abonnement", + "copied": "Kopieret", + "copy": "Kopier", + "copy_project": "Kopier projekt", + "copying": "Kopierer", + "country": "Land", + "country_flag": "__country__ flag", + "coupon_code": "Rabatkode", + "coupon_code_is_not_valid_for_selected_plan": "Rabatkoden er ikke gyldig for det valgte abonnement", + "coupons_not_included": "Dette inkluderer ikke dine nuværende rabatter. De bliver automatisk lagt ind før din næste betaling", + "create": "Opret", + "create_a_new_password_for_your_account": "Opret et nyt kodeord til din konto", + "create_first_admin_account": "Opret den første administratorkonto", + "create_new_account": "Opret en ny konto", + "create_new_subscription": "Opret nyt abonnement", + "create_new_tag": "Opret nyt tag", + "create_project_in_github": "Opret et GitHub repository", + "created_at": "Oprettet d.", + "creating": "Opretter", + "credit_card": "Betalingskort", + "cs": "Tjekkisk", + "currency": "Valuta", + "current_file": "Nuværende fil", + "current_password": "Nuværende kodeord", + "current_session": "Nuværende session", + "currently_seeing_only_24_hrs_history": "Du ser nu på de sidste 24 timers ændringer i dette projekt.", + "currently_subscribed_to_plan": "Du abonnerer pt. på <0>__planName__ abonnementet.", + "custom_resource_portal": "Brugerdefineret ressource portal", + "custom_resource_portal_info": "Du kan få din egen brugerdefinerede ressource portal på Overleaf. Dette er et fantastisk sted for dine brugere at finde ud af mere om Overleaf, tilgå projekt-skabeloner, ofte stillede spørgsmål, hjælperessourcer samt oprette en konto hos Overleaf.", + "customize": "Tilpas", + "customize_your_group_subscription": "Tilpas dit gruppeabonnement", + "customize_your_plan": "Tilpas dit abonnement", + "customizing_figures": "Tilpasning af figurer", + "da": "Dansk", + "date": "Dato", + "date_and_owner": "Dato og ejer", + "de": "Tysk", + "dealing_with_errors": "Fejlhåndtering", + "december": "December", + "dedicated_account_manager": "Dedikeret account-manager", + "dedicated_account_manager_info": "Vores Account-Management hold vil være tilgængelige til at hjælpe med forespørgseler, spørgsmål og til at hjælpe dig med at sprede ordet om Overleaf med reklamemateriale, træningsmateriale samt webinars.", + "default": "Standard", + "delete": "Slet", + "delete_account": "Slet konto", + "delete_account_confirmation_label": "Jeg er indforstået med, at dette vil slette alle mine __appName__-projekter under e-mailadressen <0>__userDefaultEmail__", + "delete_account_warning_message_3": "Du er ved permanent at slette alle din kontos data, herunder dine projekter og indstillinger. Vi beder dig skrive din kontos e-mailadresse og kodeord i felterne herunder, før du kan fortsætte.", + "delete_acct_no_existing_pw": "Du bliver nødt til at bruge nulstillelsesformularen til at indstille et kodeord, før du kan slette din konto.", + "delete_and_leave": "Slet / Forlad", + "delete_and_leave_projects": "Slet og forlad projekter", + "delete_authentication_token": "Slet autentificeringsnøgle", + "delete_authentication_token_info": "Du er ved at slette en Git autentificeringsnøgle. Hvis du fortsætter, kan nøglen ikke længere bruges til at autentificere din identitet under udførelsen af Git-operationer.", + "delete_figure": "Slet figur", + "delete_projects": "Slet projekter", + "delete_tag": "Slet tag", + "delete_token": "Slet nøgle", + "delete_your_account": "Slet din konto", + "deleted_at": "Slettet", + "deleted_by_on": "Slettet af __name__ d. __date__", + "deleting": "Sletter", + "demonstrating_git_integration": "Demonstrerer Git-integration", + "department": "Afdeling", + "descending": "Faldende", + "description": "Beskrivelse", + "dictionary": "Ordbog", + "did_you_know_institution_providing_professional": "Vidste du at __institutionName__ tilbyder <0>free __appName__ Professionel funktioner til alle hos __institutionName__?", + "disable_stop_on_first_error": "Slå “Stop ved første fejl” fra", + "disconnected": "Forbindelsen blev afbrudt", + "discount_of": "Rabat på __amount__", + "dismiss_error_popup": "Afvis første fejlmeddelelse", + "do_not_have_acct_or_do_not_want_to_link": "Hvis du ikke har en __appName__-konto, eller hvis du ikke vil kæde den sammen med din __institutionName__-konto, klik venligst __clickText__.", + "do_not_link_accounts": "Kæd ikke kontoer sammen", + "do_you_want_to_change_your_primary_email_address_to": "Vil du ændre din primære e-mailadesse til __email__?", + "do_you_want_to_overwrite_them": "Vil du overskrive dem?", + "documentation": "Dokumentation", + "does_not_contain_or_significantly_match_your_email": "indeholder ikke, og ligner ikke i betydelig grad, din e-mailadresse", + "doesnt_match": "Matcher ikke", + "doing_this_allow_log_in_through_institution": "Dermed får du mulghed for at logge ind i __appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "doing_this_allow_log_in_through_institution_2": "Dermed får du mulghed for at logge ind i <0>__appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Dermed bliver din tilknytning til <0>__institutionName__ bekræftet, og du får mulighed for at logge ind i <0>__appName__ igennem din institution.", + "done": "Færdig", + "dont_have_account": "Ingen konto?", + "download": "Hent", + "download_pdf": "Hent PDF", + "download_zip_file": "Hent -zip fil", + "drag_here": "træk her", + "drag_here_paste_an_image_or": "Træk filer her, slip et billede, eller ", + "drop_files_here_to_upload": "Slip filer her for at uploade", + "dropbox_already_linked_error": "Kan ikke forbinde til din Dropbox-konto, fordi den allerede er forbundet til en anden Overleaf-konto.", + "dropbox_already_linked_error_with_email": "Din Dropbox-konto kan ikke kædes sammen, fordi den allerede er kædet sammen med en anden Overleaf-konto, som bruger adressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kigger efter opdateringer i Dropbox", + "dropbox_duplicate_names_error": "Din Dropbox-konto kan ikke kobles til, fordi du har mere end et projekt med det samme navn: ", + "dropbox_duplicate_project_names": "Din Dropbox-konto er blevet koblet fra, fordi du har mere end ét projekt, som hedder <0>“__projectName__”.", + "dropbox_duplicate_project_names_suggestion": "Hvis du sørger for, at alle dine projektnavne, for både <0>aktive, arkiverede og kasserede projekter, er unikke, kan du genoprette sammenkædningen med din Dropbox-konto.", + "dropbox_email_not_verified": "Vi har ikke kunnet hente opdateringer fra din Dropbox-konto. Dropbox rapporterer, at din e-mailadresse ikke er bekræftet. For at løse dette, må du bekræfte din e-mailadresse overfor Dropbox.", + "dropbox_for_link_share_projs": "Du har adgang til dette projekt via link-deling, og det kan derfor ikke synkroniseres til din Dropbox medmindre du bliver inviteret via e-mail af projektets ejer.", + "dropbox_integration_info": "Arbejd online og offline problemfrit med to-vejs Dropbox synkronisering. Ændringer du foretager lokalt vil automatisk blive sendt til Overleaf-versionen og vice versa.", + "dropbox_integration_lowercase": "Dropbox-integration", + "dropbox_successfully_linked_description": "Tak, vi har linket din Dropboxkonto til __appName__.", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_both": "Udveksler opdateringer", + "dropbox_sync_description": "Hold dine __appName__ projekter synkroniseret med din Dropboxkonto. Ændringer i __appName__ sendes automatisk til din Dropboxkonto, og omvendt.", + "dropbox_sync_error": "Beklager, der skete en fejl mens vi checkede vores Dropbox tjeneste. Prøv igen om lidt.", + "dropbox_sync_in": "Modtager opdateringer fra Dropbox", + "dropbox_sync_now_rate_limited": "Manuel synkronisering er begrænset til én gang i minuttet. Vent venligst et øjeblik og prøv igen.", + "dropbox_sync_now_running": "En manuel synkronisering er startet i baggrunden. Giv den venligst et par minutter til at gennemføres.", + "dropbox_sync_out": "Sender opdateringer til Dropbox", + "dropbox_sync_troubleshoot": "Er dine ændringer ikke synlige i Dropbox? Vent venligst et par minutter. Hvis ændringerne stadig ikke dukker op kan du <0>synkronisere projektet nu.", + "dropbox_synced": "Overleaf og Dropbox har behandlet alle opdateringer. Vær opmærksom på, at din lokale Dropbox muligvis stadig er ved at synkronisere.", + "dropbox_unlinked_because_access_denied": "Din Dropbox-konto er blevet kædet fra, fordi Dropbox afviste dine gemte legitimationsoplysninger. For at blive ved med at bruge Dropbox sammen med Overleaf må du sammenkæde dine kontoer igen.", + "dropbox_unlinked_because_full": "Din Dropbox-konto er blevet kædet fra, fordi den er fuld, og vi kan ikke længere sende opdateringer til den. For at blive ved med at bruge Dropbox sammen med Overleaf må du frigøre noget plads i Dropbox, og derefter sammenkæde dine kontoer igen.", + "dropbox_unlinked_premium_feature": "<0>Din Dropboxkonto er blevet afkoblet, fordi Dropbox Synkronisering er en Premium-funktion, som du havde adgang til igennem en institutionel licens.", + "duplicate_file": "Duplikér fil", + "duplicate_projects": "Denne bruger har projekter med identiske navne", + "each_user_will_have_access_to": "Hver bruger vil have adgang til", + "easily_manage_your_project_files_everywhere": "Administrér nemt dine projekter, uanset hvor du er", + "edit": "Redigér", + "edit_dictionary": "Redigér ordbog", + "edit_dictionary_empty": "Din tilpassede ordbog er tom.", + "edit_dictionary_remove": "Fjern fra ordbog", + "edit_figure": "Redigér figur", + "edit_tag": "Redigér tag", + "editing": "Redigering", + "editing_captions": "Redigering af billedtekster", + "editor_and_pdf": "Skrivevindue & PDF", + "editor_disconected_click_to_reconnect": "Skriveprogrammets forbindelse afbrudt, klik hvor som helst for at forbinde igen.", + "editor_only_hide_pdf": "Kun skrivevindue <0>(gem PDF)", + "editor_theme": "Tema for skrivevinduet", + "educational_discount_applied": "40% studierabat anvendt!", + "educational_discount_available_for_groups_of_ten_or_more": "Studierabatten er tilgængelig for grupper af 10 eller flere", + "educational_discount_disclaimer": "Denne license er for studiemæssig benyttelse (gælder for studerende eller fakultet som bruger Overleaf til undervisning)", + "educational_discount_for_groups_of_ten_or_more": "Overleaf tilbyder 40% studierabat for grupper af 10 eller flere.", + "educational_discount_for_groups_of_x_or_more": "Studierabatten er tilgængelig for grupper af __size__ eller flere", + "educational_percent_discount_applied": "__percent__% studierabat anvendt!", + "email": "E-mail", + "email_already_associated_with": "E-mailadressen __email1__ er allerede associeret med __appName__-kontoen __email2__.", + "email_already_registered": "Denne e-mailadresse er allerede registreret", + "email_already_registered_secondary": "Denne e-mailadresse er allerede registreret som en sekundær e-mailaddresse", + "email_already_registered_sso": "Denne e-mailaddresse er allerede registeret. Log venligst ind på din konto på anden vis og tilknyt din konto til den nye udbyder via dine kontoindstillinger.", + "email_does_not_belong_to_university": "Vi genkender ikke det domæne som et, der tilhører dit universitet. Tag venligst kontakt til os, så vi kan tilføje det tilhørsforhold.", + "email_link_expired": "Linket tilsendt din e-mailadresse er udløbet. Du bedes anmode om et nyt.", + "email_or_password_wrong_try_again": "Din e-mailadresse eller kodeord er ikke korrekt. Prøv igen.", + "email_or_password_wrong_try_again_or_reset": "Din e-mailaddresse eller kodeord er ikke korrekt. Prøv igen, eller <0>indstil eller nulstil dit kodeord.", + "email_required": "E-mailaddresse påkrævet", + "email_sent": "E-mail sendt", + "emails": "E-mails", + "emails_and_affiliations_explanation": "Tilføj supplerende e-mailadresser til din konto for at tilgå opgraderinger som dit universitet eller din institution har, for at gøre det nemmere at finde dig samt for at sikre dig at du kan genvinde din konto.", + "emails_and_affiliations_title": "E-mailaddresser og tilknytninger", + "empty_zip_file": "Zip indeholder ikke nogen filer", + "en": "Engelsk", + "end_of_document": "Slutningen af dokumentet", + "enter_image_url": "Indtast billedets URL", + "enter_your_email_address": "Indtast din e-mailaddresse", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Indtast din e-mailaddresse nedenfor, så sender vi et link til at nulstille dit kodeord", + "enter_your_new_password": "Indtast dit nye kodeord", + "error": "Fejl", + "error_performing_request": "En fejl opstod under udførelsen af din forespørgsel.", + "es": "Spansk", + "every": "per", + "example": "Eksempel", + "example_project": "Eksempelprojekt", + "examples": "Eksempler", + "existing_plan_active_until_term_end": "Dit nuværende abonnement og dets funktioner vil være aktivt indtil enden på den nuværende faktureringsperiode.", + "expand": "Fold ud", + "expires": "Udløber", + "expiry": "Udløbsdato", + "export_csv": "Eksportér CSV", + "export_project_to_github": "Eksporter projekt til GitHub", + "faq_change_plans_or_cancel_answer": "Ja det kan du altid gøre i dine abonnementsindstillinger. Du kan ændre abonnement, skifte mellem månedlig og årlige betaling, eller afmelde for at nedgradere til det gratis abonnement. Når du afmelder vil dit abonnement fortsætte indtil slutningen af betalingsperioden. Hvis din konto midligertidigt intet abonnement har, er den eneste ændring de funktioner der er tilgængelige for dig. Dine projekter vil altid være tilgængelige på din konto.", + "faq_change_plans_or_cancel_question": "Kan jeg ændre abonnement eller afmelde senere?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan være på hvilket som helst abonnement, inklusiv det gratis abonnement. Hvis du er på et Premium-abonnement, vil nogle Premium-funktioner være tilgængelige for dine samarbejdspartnere i de projekter du har oprettet, selvom de er på det gratis abonnement. For mere information kan du læse om <0>konti og abonnementer og <1>hvordan Premium-funktioner virker.", + "faq_do_collab_need_on_paid_plan_question": "Skal mine samarbejdspartnere også være på et betalt abonnement?", + "faq_how_does_a_group_plan_work_answer": "Gruppeabonnementer er en måde at opgradere mere end én Overleaf konto. De er nemme at administrere, hjælper med at nedbringe papirarbejdet, og reducerer omkostningen ved at forbundet med at købe flere individuelle abonnementer. For at lære kan du læse om at <0>blive tilknyttet et gruppeabonnement og <1>adminstrering af gruppeabonnement. Du kan købe gruppeabonnementer ovenfor, eller ved at <2>kontakte os.", + "faq_how_does_a_group_plan_work_question": "Hvordan fungerer et gruppeabonnement? Hvordan tilføjer jeg medlemmer til abonnementet?", + "faq_how_does_free_trial_works_answer": "Du får fuld adgang til det valgte __appName__ Premium abonnement i din __len__-dages prøveperiode. Der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. Du kan afmelde via dine abonnementsindstillinger.", + "faq_how_free_trial_works_answer_v2": "Du får fuld adgang til dit valgte Premium abonnement i din __len__-dages prøveperiode, og der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. For at atmelde skal du gå til dine abonnementsindstillinger i din konto (prøveperioden fortsætter i den fulde __len__-dages periode).", + "faq_how_free_trial_works_question": "Hvordan fungerer den gratis prøveperiode?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I Overleaf opretter og administrerer hver bruger deres egen Overleaf konto. De fleste brugere starter med en gratis konto, men kan opgradere og nyde Premium-funktioner ved at abonnere, tilknytte sig et gruppeabonnement eller ved at tilknytte sig et <0>Commons abonnement. Når du køber, tilknyttes eller forlader et abonnement, kan du stadig bruge den samme Overleaf konto.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "For at finde ud af mere kan du læse om <0>hvordan konti og abonnementer arbejder sammen i Overleaf.", + "faq_i_have_free_account_want_subscription_how_question": "Jeg har en gratis konto og jeg vil gerne tilknyttes et abonnement. Hvordan gør jeg det?", + "faq_pay_by_invoice_answer_v2": "Ja hvis du vil købe et gruppeabonnement med fem eller flere brugere, eller en organisationsdækkende licens. For individuelle abonnement kan vi kun modtage betalinger online via betalingskort eller PayPal.", + "faq_pay_by_invoice_question": "Kan jeg betale via faktura?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nej. Kun abonnentens konto bliver opgraderet. Et individuel Standard abonnement tillader dig at invitere 10 samarbejdspartnere til hvert projekt som er ejet af dig.", + "faq_the_individual_standard_plan_10_collab_question": "Det individuelle Standard abonnement har 10 projektsamarbejdspartnere. Betyder det at 10 mennesker bliver opgraderet?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Mens de arbejder på et projekt som du, en abonnement, deler med dem vil dine samarbejdspartnere få adgang til nogle Premium-funktioner såsom fuld ændringshistorik, samt forhøjet kompileringstidsgrænse for det bestemte projekt. At invitere dem til et bestemt projekt opgraderer dog ikke deres konto som helhed. Læs mere om <0>hvilke funktioner er per-projekt og hvilke der er per-konto.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I Overleaf opretter hver bruger deres egen konto. Du kan oprette projekter som kun du kan arbejde på, og du kan også invitere andre til at se eller samarbejde på projekter du ejer. Brugere som du deler dit projekt med kaldes <0>samarbejdspartnere. Nogle gange refererer vi til dem som projektsamarbejdspartnere.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Med andre ord, samarbejdspartnere er blot andre Overleaf brugere som du arbejder sammen med på et af dine projekter.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Hvad er forskellen mellem brugere og samarbejdspartnere?", + "fast": "Hurtig", + "feature_included": "Funktion inkluderet", + "feature_not_included": "Funktion ikke inkluderet", + "featured": "Fremhævet", + "featured_latex_templates": "Fremhævede LaTeX-skabeloner", + "features": "Funktioner", + "features_and_benefits": "Funktioner & fordele", + "february": "Februar", + "file_action_created": "Oprettede", + "file_action_deleted": "Slettede", + "file_action_edited": "Ændrede i", + "file_action_renamed": "Omdøbte", + "file_already_exists": "Der eksisterer allerede en fil eller mappe med dette navn", + "file_already_exists_in_this_location": "Et emne med navnet <0>__fileName__ findes allerede på denne placering. Hvis du vil gennemføre flytningen, skal du først omdøbe eller flytte den fil, som er i vejen, og derefter prøve igen.", + "file_name": "Filnavn", + "file_name_figure_modal": "Filnavn", + "file_name_in_this_project": "Filnavn i dette projekt", + "file_name_in_this_project_figure_modal": "Filnavn i dette projekt", + "file_outline": "Disposition", + "file_size": "Filstørrelse", + "file_too_large": "For stor fil", + "files_cannot_include_invalid_characters": "Filnavnet er tomt, eller indeholder ugyldige karakterer", + "files_selected": "filer valgt.", + "filters": "Filtre", + "find_out_more": "Find ud af mere", + "find_out_more_about_institution_login": "Få mere at vide om institutionel indlogning", + "find_out_more_about_the_file_outline": "Få mere at vide om dispositionen", + "find_out_more_nt": "Find ud af mere.", + "first_name": "Fornavn", + "fold_line": "Fold linje", + "folder_location": "Mappeplacering", + "folders": "Mapper", + "following_paths_conflict": "Følgende filer og mapper kan ikke have samme sti", + "font_family": "Skrifttypefamilie", + "font_size": "Skriftsstørrelse", + "footer_about_us": "Om os", + "footer_contact_us": "Kontakt os", + "footer_plans_and_pricing": "Abonnementer & priser", + "for_enterprise": "For virksomheder", + "for_groups_or_site_wide": "For grupper eller organisationsdækkende", + "for_individuals_and_groups": "For individer & grupper", + "for_publishers": "For forlag", + "for_students": "For studerende", + "for_students_only": "Kun for studerende", + "for_teaching": "For undervisning", + "for_universities": "For universiteter", + "forgot_your_password": "Glemt dit kodeord", + "four_minutes": "4 minutter", + "fr": "Fransk", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox og historik", + "free_plan_label": "Du er på det gratis abonnement", + "free_plan_tooltip": "Klik for at finde ud af hvordan du kan drage fordel af Overleaf Premium-funktioner.", + "from_another_project": "Fra andet projekt", + "from_external_url": "Fra ekstern URL", + "from_provider": "Fra __provider__", + "full_doc_history": "Fuld ændringshistorik", + "full_doc_history_info_v2": "Du kan se alle ændinger i dit projekt og hvem der lavede dem. Tilføj et mærkat for hurtigt at kunne tilgå bestemte versioner.", + "full_document_history": "Fuld <0>ændringshistorik", + "full_width": "Fuld bredde", + "gallery": "Galleri", + "gallery_items_tagged": "__itemPlural__ tagget __title__", + "gallery_page_items": "Gallerigenstande", + "gallery_page_summary": "Et galleri af opdaterede og stilfulde LaTeX skabeloner, eksempler som kan hjælpe dig med at lære LaTeX, og artikler og præsentationer udgivet af vores fællesskab. Søg eller gennemse nedenfor.", + "gallery_page_title": "Galleri - Skabeloner, eksempler og artikler skrevet i LaTeX", + "gallery_show_all": "Vis alle __itemPlural__", + "generate_token": "Generér nøgle", + "generic_if_problem_continues_contact_us": "Kontakt os hvis problemet fortsætter", + "generic_linked_file_compile_error": "Dette projekts udfiler er ikke tilgængelige, fordi det ikke kunne kompilere. Du kan se detaljer om kompileringsfejl, hvis du åbner projektet.", + "generic_something_went_wrong": "Beklager, noget gik galt", + "get_collaborative_benefits": "Få samarbejdsfordelene fra __appName__ selv hvis du foretrækker at arbejde offline", + "get_discounted_plan": "Få nedsat abonnement", + "get_in_touch": "Kom i kontakt med os", + "get_in_touch_having_problems": "Kontakt support, hvis du oplever problemer", + "get_involved": "Bliv involveret", + "get_most_subscription_by_checking_features": "Få det meste ud af dit __appName__ abonnement ved tjekke <0>__appName__s funktioner.", + "get_the_most_out_headline": "Få det meste ud af __appName__ med funktioner såsom:", + "git": "Git", + "git_authentication_token": "Git autentificeringsnøgle", + "git_authentication_token_create_modal_info_1": "Dette er din Git autentificeringsnøgle. Du skal indtaste den når du bliver spurgt om et kodeord.", + "git_authentication_token_create_modal_info_2": "<0>Du kan kun se denne autentificeringsnøgle én gang så kopier den venligst og opbevar den sikkert. For flere instruktioner omkring brugen af autentificeringsnøgler, besøg vores <1>hjælpeside.", + "git_bridge_modal_click_generate": "Klik “Generér nøgle” for at generere din autentificeringsnøgle. Du kan også gøre det senere i dine kontoindstillinger.", + "git_bridge_modal_enter_authentication_token": "Når du bliver spurgt om en kode, indtast da din nye autentificeringsnøgle:", + "git_bridge_modal_see_once": "Du kan kun se denne autentificeringsnøgle én gang. For at slette den eller generere en ny, gå til dine brugerindstilinger. For detalerede instruktioner og fejlsøgning, læs vores <0>hjælpeside.", + "git_bridge_modal_use_previous_token": "Hvis du bliver spurgt om en kode kan du bruge en tidligere genereret autentificeringsnøgle. Du kan også generere en ny i dine kontoindstillinger. For mere hjælp, læs vores <0>hjælpeside.", + "git_integration": "Git-integration", + "git_integration_info": "Med Git-integration kan du klone dine Overleaf projekter med Git. For komplette instruktioner til hvordan du gør det, læs vores <0>hjælpeside.", + "git_integration_lowercase": "Git-integration", + "git_integration_lowercase_info": "Du kan klone dit Overleaf projekt til et lokalt repository, og behandle Overleaf som et remote repository, som du kan pushe og pulle fra.", + "github_commit_message_placeholder": "Commit besked for ændringer i __appName__...", + "github_credentials_expired": "Dine GitHub autentificeringsoplysninger er udløbet", + "github_file_name_error": "Dette repository kan ikke importeres, fordi det indeholder en eller flere filer med et ugyldigt filnavn:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- og <0>Dropbox-integrationer", + "github_git_folder_error": "Dette projekt indeholder en .git mappe i den yderste mappe, hvilket indikerer at det allerede er et Git repository. Overleaf GitHub synkroniseringen kan ikke synkronisere Git historikker. Fjern venligst .git mappen og prøv igen.", + "github_integration_lowercase": "Git- og GitHub-integration", + "github_is_premium": "GitHub synkronisering er en Premium-funktion", + "github_large_files_error": "Merge mislykkedes: Dit GitHub reopsitory indeholder filer, som er større end grænsen på 50MB ", + "github_merge_failed": "Dine ændringer i __appName__ og GitHub kunne ikke automatisk merges. Du må merge‘e branch‘en <0>__sharelatex_branch__ ind i default branch‘en i git. Derefter kan du klikke herunder, for at fortsætte.", + "github_no_master_branch_error": "Dette repository kan ikke forbindes, da det ikke har nogen default branch. Du må først sørge for, at projektet har en default branch", + "github_only_integration_lowercase": "GitHub-integration", + "github_only_integration_lowercase_info": "Forbind dine Overleaf projekter direkte til et GitHub repository som opfører sig et remote repository for dit Overleaf projekt. Dette tillader dig at samarbejde med partnere uden for Overleaf, og at integrere Overleaf ind i mere komplicerede workflows.", + "github_private_description": "Du vælger hvem der kan se, og committe til, dette repository.", + "github_public_description": "Alle kan se dette repository. Du kan vælge hvem der kan comitte.", + "github_repository_diverged": "Default branch i det forbundne repository er blevet force-push’et. Det kan desynkronisere Overleaf og Github at pull’e ændringer efter et force push. Det vil muligvis være nødvendigt at push’e ændringer efter pullet for blive synkroniseret igen.", + "github_successfully_linked_description": "Vi har linket din GitHub konto til __appName__. Du kan nu eksportere dine __appName__ projekter til GitHub, eller importere projekter fra dine GitHub repositories.", + "github_symlink_error": "Dit GitHub repository indeholder symbolske lænkefiler, som ikke på nuværende tidpunkt er understøttet af Overleaf. Du må prøve igen, efter du har fjernet de filer.", + "github_sync": "GitHub synkronisering", + "github_sync_description": "Med GitHub synkronisering kan du forbinde dine __appName__-projekter til et GitHub repository, oprette nye commits fra __appName__, og merge commits fra GitHub.", + "github_sync_error": "Beklager, der skete en fejl mens vi checkede vores GitHub service. Prøv igen om lidt.", + "github_sync_repository_not_found_description": "Det forbundne repository er enten blevet fjernet, eller du har ikke længere adgang til det. Du kan forbinde til et nyt repository ved at klone projektet, og vælge punktet ’GitHub’ i menuen. Du kan også fjerne forbindelsen mellem det her projekt og repository’et.", + "github_timeout_error": "Synkroniseringen af dit Overleaf-projekt med GitHub har overskredet tidsgrænsen. Det kan skyldes, at dit projekt er for stort, eller at der er for mange ændringer eller nye filer.", + "github_too_many_files_error": "Dette repository kan ikke importeres, fordi det indeholder flere end det maksimalt tilladte antal filer", + "github_validation_check": "Kontroller venligst at repository navnet er gyldigt, og at du har tilladelse til at lave et repository.", + "github_workflow_authorize": "Autoriser GitHub Workflow-filer", + "github_workflow_files_delete_github_repo": "Repository‘et blev oprettet på GitHub, men sammenkoblingen mislykkedes. Du bliver nødt til enten at slette det repository på GitHub, eller vælge et nyt navn.", + "github_workflow_files_error": "__appName__s GitHub-synkroniseringstjeneste kunne ikke synkronisere GitHub Workflow-filer (i .github/workflows/). Hvis du giver __appName__ tilladelse til at redigere dine GitHub workflow-filer, kan du prøve igen.", + "give_feedback": "Giv feedback", + "global": "globale", + "go_back_and_link_accts": "Gå tilbage og sammenkæd dine konti", + "go_next_page": "Gå til næste side", + "go_page": "Gå til side __page__", + "go_prev_page": "Gå til forrige side", + "go_to_account_settings": "Gå til kontoindstillinger", + "go_to_code_location_in_pdf": "Gå til kodes placering i PDF", + "go_to_pdf_location_in_code": "Gå til PDF placering i kode (Tip: dobbeltklik i PDF‘en for det bedste resultat)", + "go_to_settings": "Gå til indstillinger", + "group_admin": "Gruppeadministrator", + "group_admins_get_access_to": "Gruppeadministratorer får adgang til", + "group_admins_get_access_to_info": "Specielle funktioner tilgængelige for gruppeabonnementer", + "group_full": "Denne gruppe er allerede fuld", + "group_members_and_collaborators_get_access_to": "Gruppemedlemmer og deres samarbejdspartnere får adgang til", + "group_members_get_access_to": "Gruppemedlemmer får adgang til", + "group_members_get_access_to_info": "Disse funktioner udelukkende tilgængelige for gruppemedlemmer.", + "group_plan_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.", + "group_plan_with_name_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement, __groupName__. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.", + "group_plans": "Gruppeabonnementer", + "group_professional": "Gruppe Professionel", + "group_standard": "Gruppe Standard", + "group_subscription": "Gruppeabonnement", + "groups": "Grupper", + "have_an_extra_backup": "Hav en ekstra backup", + "have_more_days_to_try": "Få ydereligere __days__ dage på din prøveperiode!", + "headers": "Overskrifter", + "help": "Hjælp", + "help_articles_matching": "Hjælpeartikler magen til dit emne", + "help_improve_overleaf_fill_out_this_survey": "Hvis du vil hjælpe os med at forbedre Overleaf, brug venligst et øjeblik på at udfylde <0>dette spørgeskema.", + "hide_document_preamble": "Skjul dokumentets præambel", + "hide_outline": "Skjul disposition", + "history": "Historie", + "history_add_label": "Tilføj mærkat", + "history_adding_label": "Tilføjer mærkat", + "history_are_you_sure_delete_label": "Er du sikker på, at du vil slette følgende mærkat", + "history_compare_from_this_version": "Sammenlign fra denne version", + "history_compare_up_to_this_version": "Sammenlign op til denne version", + "history_delete_label": "Slet mærkat", + "history_deleting_label": "Sletter mærkat", + "history_download_this_version": "Download denne version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Oprettet af", + "history_label_project_current_state": "Nuværende indhold", + "history_label_this_version": "Sæt mærkat på denne version", + "history_new_label_name": "Navn på ny mærkat", + "history_view_a11y_description": "Vis den komplette projekthistorie, eller kun mærkede versioner.", + "history_view_all": "Komplet historie", + "history_view_labels": "Mærkater", + "hit_enter_to_reply": "Tryk på Enter for at svare", + "home": "Hjem", + "hotkey_add_a_comment": "Tilføj en kommentar", + "hotkey_autocomplete_menu": "Autofuldførelsesmenu", + "hotkey_beginning_of_document": "Starten af dokument", + "hotkey_bold_text": "Fed skrift", + "hotkey_compile": "Kompilér", + "hotkey_delete_current_line": "Slet nuværende linje", + "hotkey_end_of_document": "Slutning af dokument", + "hotkey_find_and_replace": "Find (og erstat)", + "hotkey_go_to_line": "Gå til linje", + "hotkey_indent_selection": "Indryk markering", + "hotkey_insert_candidate": "Indsæt valgte kandidat", + "hotkey_italic_text": "Kursiv skrift", + "hotkey_redo": "Gentag", + "hotkey_search_references": "Søg henvisninger", + "hotkey_select_all": "Vælg alt", + "hotkey_select_candidate": "Vælg kandidat", + "hotkey_to_lowercase": "Til små bogstaver", + "hotkey_to_uppercase": "Til store bogstaver", + "hotkey_toggle_comment": "Slå kommentar til/fra", + "hotkey_toggle_review_panel": "Slå gennemgangspanel til/fra", + "hotkey_toggle_track_changes": "Slå “Følg ændringer” til/fra", + "hotkey_undo": "Fortryd", + "hotkeys": "Genveje", + "how_to_create_tables": "Hvordan laver jeg tabeller", + "how_to_insert_images": "Hvordan indsætter jeg figurer", + "hundreds_templates_info": "Skab smukke dokumenter ved at starte fra vores galleri af LaTeX skabeloner for journaler, konferencer, afhandlinger, rapporter, CV’er og meget mere.", + "i_want_to_stay": "Jeg ønsker at blive", + "if_have_existing_can_link": "Hvis du har en eksisterende __appName__-konto under en anden e-mailaddresse, kan du forbinde den til din __institutionName__-konto ved at klikke __clickText__", + "if_owner_can_link": "Hvis du ejer __appName__-kontoen under __email__, vil du få mulighed for at forbinde den til din institutionelle konto hos __institutionName__.", + "ignore_and_continue_institution_linking": "Du kan også springe det over, og fortsætte til __appName__ med kontoen for __email__.", + "ignore_validation_errors": "Undlad at tjekke syntaks", + "ill_take_it": "Det tager jeg!", + "image_file": "Billedefil", + "image_url": "URL til billede", + "image_width": "Billedebredde", + "import_from_github": "Importer fra GitHub", + "import_to_sharelatex": "Importer til __appName__", + "imported_from_another_project_at_date": "Importeret fra <0>Andet projekt/__sourceEntityPathHTML__, d. __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importeret fra <0>__shortenedUrlHTML__ d. __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importeret fra Mendeley d. __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importeret fra outputtet af <0>Andet projekt: __sourceOutputFilePathHTML__, d. __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importeret fra Zotero d. __formattedDate__ __relativeDate__", + "importing": "Importerer", + "importing_and_merging_changes_in_github": "Importerer og sammenfletter ændringer i GitHub", + "in_good_company": "Du er i godt selskab", + "in_order_to_have_a_secure_account_make_sure_your_password": "For at holde din konto sikker, sæt din nye kode:", + "in_order_to_match_institutional_metadata_2": "For at matche dine institutionelle metadata har vi sammenkædet din konto via <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "For at matche dine institutionelle metadata er din konto blevet associeret med e-mailaddressen __email__.", + "include_caption": "Inkludér billedtekst", + "include_label": "Inkludér billedmærkat", + "increased_compile_timeout": "Forlænget kompileringstidsgrænse", + "indvidual_plans": "Individuelle abonnementer", + "info": "Info", + "insert_figure": "Indsæt figur", + "insert_from_another_project": "Indsæt fra andet projekt", + "insert_from_project_files": "Indsæt fra projektfiler", + "insert_from_url": "Indsæt fra URL", + "insert_image": "Indsæt billede", + "institution": "Institution", + "institution_account": "Institutionskonto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Denne e-mailadresse er allerede associeret med din konto, men den er tilknyttet en anden institution.", + "institution_account_tried_to_add_already_linked": "Denne institution er allerede sammenkædet med din konto via en anden e-mailadresse.", + "institution_account_tried_to_add_already_registered": "Den e-mailaddresse/institutionskonto du har prøvet at tilføje er allerede registreret i __appName__.", + "institution_account_tried_to_add_not_affiliated": "Denne e-mailadresse er allerede associeret med din konto, men er ikke tilknyttet til denne institution.", + "institution_account_tried_to_confirm_saml": "Denne e-mailadresse kunne ikke bekræftes. Du kan prøve at fjerne den fra din konto, og tilføje den igen.", + "institution_acct_successfully_linked_2": "Din <0>__appName__-konto er nu sammenkædet med din institutionelle konto fra <0>__institutionName__.", + "institution_and_role": "Institution og rolle", + "institution_email_new_to_app": "Din __institutionName__ e-mailaddresse (__email__) er ny for __appName__.", + "institutional": "Institutionel", + "institutional_leavers_survey_notification": "Giv noget hurtigt feedback og få 25% rabat på et årligt abonnement!", + "institutional_login_not_supported": "Din institution understøtter ikke institutionel indlogning endnu, men du kan stadig blive registreret med en institutionel e-mailaddresse.", + "institutional_login_unknown": "Beklager, vi ved ikke hvilken institution har udstedt den e-mailadresse. Du kan kigge i vores liste over institutioner for at finde den, eller du kan gøre brug af en af de andre muligheder herunder.", + "integrations": "Integrationer", + "interested_in_cheaper_personal_plan": "Ville du være interesseret i det billigere <0>__price__ personlige abonnement?", + "invalid_email": "En e-mailaddresse adresse er forkert", + "invalid_file_name": "Ugyldigt filnavn", + "invalid_filename": "Overførsel mislykkedes: Check, at filnavnet ikke indeholder specialtegn eller ekstra mellemrum, og at det er kortere end __nameLimit__ tegn", + "invalid_institutional_email": "Din institutions SSO-tjeneste returnerede __email__ som din e-mailadresse, hvilket ligger under et domæne, som vi ikke forventede, og ikke kan se tilhører den institution. Du kan muligvis ændre din primære e-mailadresse via din brugerprofil hos din institution til én, som ligger under din institutions domæne. Hvis du har spørgsmål er det bedst, hvis du kontakter din institutions IT-afdeling.", + "invalid_password": "Ugyldigt password", + "invalid_password_contains_email": "Kodeordet kan ikke indeholde dele af e-mailadressen", + "invalid_password_invalid_character": "Kodeordet indeholder et ugyldigt tegn", + "invalid_password_not_set": "Kodeordet er påkrævet", + "invalid_password_too_long": "Maksimal kodelængde på __maxLength__ er overskredet", + "invalid_password_too_short": "Kodeordet er for kort, den skal være minimum __minLength__ tegn", + "invalid_password_too_similar": "Kodeordet ligner e-mailaddressen for meget", + "invalid_request": "Ugyldig forespørgsel. Ret dataen og prøv igen.", + "invalid_zip_file": "Ugyldig zip-fil", + "invite_more_collabs": "Inviter flere samarbejdspartnere", + "invite_not_accepted": "Invitationen er endnu ikke accepteret", + "invite_not_valid": "Dette er ikke en gyldig projekt invitation", + "invite_not_valid_description": "Invitationen kan være udløbet. Kontakt venligst projektets ejer", + "invited_to_group": "<0>__inviterName__ har inviteret dig til at tilslutte dig et gruppeabonnement på __appName__", + "invited_to_join": "Du er blevet inviteret til at deltage", + "ip_address": "IP adresse", + "is_email_affiliated": "Er din e-mailaddresse tilknyttet en institution?", + "is_longer_than_n_characters": "er mindst __n__ tegn lang", + "is_not_used_on_any_other_website": "er ikke brugt på andre hjemmesider", + "it": "Italiensk", + "ja": "Japansk", + "january": "Januar", + "join_beta_program": "Deltag i betaprogrammet", + "join_project": "Deltag i projektet", + "join_sl_to_view_project": "Tilmeld dig til __appName__ for at se dette projekt", + "join_team_explanation": "Klik på knappen herunder for at tilslutte dig gruppeabonnementet og nyd fordelene ved en opgraderet __appName__ konto", + "joined_team": "Du har tilsluttet dig et gruppeabonnement administreret af __inviterName__", + "joining": "Tilslutter", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Har du tjekket vores <0>__kbLink__?", + "keep_current_plan": "Behold mit nuværende abonnement", + "keep_your_account_safe": "Hold din konto sikker", + "keep_your_email_updated": "Hold din e-mailaddresse opdateret så du ikke mister adgang til din konto og data.", + "keybindings": "Genvejstaster", + "knowledge_base": "videns base", + "ko": "Koreansk", + "labels_help_you_to_easily_reference_your_figures": "Mærkater hjælper dig med at henvise til dine figurer i hele dit dokument. For at henvise til en figur i teksten, henvis til mærkatet ved at bruge <0>\\ref{...} kommandoen. Dette gør det nemt at henvise til figurer uden at manuelt skulle huske figurnummeret. <1>Lær mere", + "labs_program_benefits": "__appName__ leder altid efter nye måder at hjælpe brugere til at arbejde hurtigere og mere effektivt. Ved at være med i Overleaf Labs kan du deltage i eksperimenter der udforsker innovative idéer indenfor kollaborativt forfatterskab og udgivelse.", + "language": "Sprog", + "last_active": "Senest aktiv", + "last_active_description": "Seneste tidspunkt, et projekt blev åbnet.", + "last_modified": "Sidst ændret", + "last_name": "Efternavn", + "last_resort_trouble_shooting_guide": "Hvis det ikke hjælper så følg vores <0>fejlsøgningsguide", + "last_updated": "Sidst opdateret", + "last_updated_date_by_x": "__lastUpdatedDate__ af __person__", + "last_used": "sidst benyttet", + "latex_articles_page_summary": "Artikler, præsentationer, rapporter og mere, skrevet i LaTeX og udgivet af vores fællesskab. Søg eller gennemse herunder.", + "latex_articles_page_title": "Artikler, Præsentationer, Rapporter og mere", + "latex_examples_page_summary": "Eksempler på kraftfulde LaTeX pakker og teknikker i brug - en god måde at lære LaTeX på gennem eksempler. Søg eller gennemse herunder. ", + "latex_examples_page_title": "Eksempler - Formler, Formattering, TikZ, Pakker og mere", + "latex_in_thirty_minutes": "LaTeX på 30 minutter", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX placerer figurer ved hjælp af en speciel algoritme. Du kan bruge noget ved navn ‘placement parameters’ til at have indflydelse på positioneringen af figuren. <0>Find ud hvordan", + "latex_templates": "LaTeX Skabeloner", + "layout": "Layout", + "layout_processing": "Layout behandles", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Vælg en e-mailadresse for den første __appName__ admin konto. Denne skal svare til en konto i LDAP systemet. Du vil derefter blive bedt om at logge på med denne konto.", + "learn": "Lær", + "learn_more": "Lær mere", + "learn_more_about_emails": "<0>Lær mere om at håndtere dine __appName__ e-mailadresser.", + "learn_more_about_link_sharing": "Lær mere om linkdeling", + "learn_more_lowercase": "lær mere", + "leave": "Forlad", + "leave_group": "Forlad gruppe", + "leave_now": "Forlad nu", + "leave_projects": "Forlad projecter", + "let_us_know": "Fortæl os om det", + "let_us_know_what_you_think": "Fortæl os hvad du synes", + "license": "Licens", + "license_for_educational_purposes": "Denne licens er til uddannelsesformål (gælder for studerende og fakultet som bruger __appName__ til undervisning)", + "limited_offer": "Begrænset tilbud", + "line_height": "Linjehøjde", + "link": "Forbind", + "link_account": "Forbind konto", + "link_accounts": "Forbind konti", + "link_accounts_and_add_email": "Forbind konti og tilføj e-mailaddresse", + "link_institutional_email_get_started": "Forbind en institutionel e-mailaddresse til din konto for at komme igang.", + "link_sharing": "Linkdeling", + "link_sharing_is_off": "Linkdeling er slået fra; kun inviterede personer kan se dette projekt.", + "link_sharing_is_on": "Linkdeling er slået til", + "link_to_github": "Forbind til din GitHub konto", + "link_to_github_description": "Du skal godkende __appName__ for at få adgang til din GitHub konto for at give os mulighed for at synkronisere dine projekter.", + "link_to_mendeley": "Forbind til Mendeley", + "link_to_zotero": "Forbind til Zotero", + "link_your_accounts": "Forbind dine konti", + "linked_accounts": "Forbundne konti", + "linked_accounts_explained": "Du kan forbinde din __appName__-konto med andre tjenester for at gøre brug af funktionerne beskrevet herunder.", + "linked_collabratec_description": "Brug Collabratec til at holde styr på dine __appName__-projekter.", + "linked_file": "Importeret fil", + "links": "Links", + "loading": "Indlæser", + "loading_content": "Opretter projekt", + "loading_github_repositories": "Indlæser dit GitHub repository", + "loading_prices": "Indlæser priser", + "loading_recent_github_commits": "Indlæs nylige commits", + "log_entry_description": "Logoptegnelse med niveau: __level__", + "log_entry_maximum_entries": "Grænsen for elementer i loggen er nået", + "log_entry_maximum_entries_enable_stop_on_first_error": "Prøv at fikse den første fejl og genkompilere. Ofte kan en fejl være skyld i mange efterfølgende fejlmeddelelser. Du kan Slå <0>“Stop ved første fejl” til for at fokusere på at fikse fejl. Vi anbefaler, at du fikser fejl så hurtigt som muligt; hvis de får lov at hobe sig op kan de føre til fejl, som er svære at fejlrette, og fatale fejl. <1>Lære mere", + "log_entry_maximum_entries_see_full_logs": "Hvis du har brug for at se de komplette logge, så kan du stadig hente dem, eller se de rå logge herunder.", + "log_entry_maximum_entries_title": "__total__ logbeskeder i alt. Viser de første __displayed__", + "log_hint_extra_info": "Lær mere", + "log_in": "Log ind", + "log_in_and_link": "Log ind og forbind", + "log_in_and_link_accounts": "Log ind og forbind konti", + "log_in_first_to_proceed": "Du kan først fortsætte, når du har logget ind.", + "log_in_now": "Log ind nu", + "log_in_with": "Log ind med __provider__", + "log_in_with_email": "Log ind med __email__", + "log_in_with_existing_institution_email": "For at forbinde din __appName__- og din __institutionName__-konto, er du nødt til først at logge ind med din eksisterende __appName__-konto.", + "log_in_with_primary_email_address": "Dette bliver e-mailaddressen du skal bruge hvis du logger ind med e-mailaddresse og kode. Vigtige __appName__ beskeder vil blive sendt til denne adresse.", + "log_out": "Log ud", + "log_out_from": "Log __email__ ud", + "log_viewer_error": "Der opstod et problem under visningen af dette projekts kompileringsfejl og log filer.", + "logged_in_with_email": "Du er i øjeblikket logget ind i __appName__ med e-mailaddressen __email__.", + "logging_in": "Logger ind", + "login": "Log ind", + "login_error": "Log-ind-fejl", + "login_failed": "Log ind fejlede", + "login_here": "Log ind her", + "login_or_password_wrong_try_again": "Dit login eller password er forkert. Prøv venligst igen", + "login_register_or": "eller", + "login_to_overleaf": "Log ind i Overleaf", + "login_with_service": "Log ind med __service__", + "logs_and_output_files": "Log og outputfiler", + "longer_compile_timeout": "Længere kompileringstidsgrænse", + "looking_multiple_licenses": "På udkig efter flere licenser?", + "looks_like_logged_in_with_email": "Det ser ud til, at du allerede er logget ind i __appName__ med e-mailaddressen __email__.", + "looks_like_youre_at": "Det ligner at du er på <0>__institutionName__.", + "lost_connection": "Forbindelsen blev afbrudt", + "main_document": "Hoveddokument", + "main_file_not_found": "Ukendt hoveddokument", + "maintenance": "Vedligeholdelse", + "make_a_copy": "Lav en kopi", + "make_email_primary_description": "Gør dette til den primære e-mailaddresse, som bruges til at logge ind med", + "make_primary": "Gør til primær", + "make_private": "Gør privat", + "manage_beta_program_membership": "Administrér betaprogram medlemsskab", + "manage_files_from_your_dropbox_folder": "Administrér filer fra din Dropbox mappe", + "manage_group_managers": "Administrér gruppeadministratorer", + "manage_institution_managers": "Administrér institutionsadministratorer", + "manage_members": "Administrér medlemmer", + "manage_newsletter": "Administrér dine nyhedsbrevspræferencer", + "manage_publisher_managers": "Administrér forlagsadministratorer", + "manage_sessions": "Kontroller dine sessioner", + "manage_subscription": "Administrér abonnement", + "managers_cannot_remove_admin": "Administratorer kan ikke fjernes", + "managers_cannot_remove_self": "Managers kan ikke fjerne sig selv", + "managers_management": "Styring af managers", + "march": "Marts", + "mark_as_resolved": "Markér som løst", + "math_display": "Vist matematik", + "math_inline": "Inkluderet matematik", + "max_collab_per_project": "Maks samarbejdspartnere per projekt", + "max_collab_per_project_info": "Det maksimale antal folk du kan invitere til at samarbejde på hvert projekt. De har blot brug for at have en Overleaf konto. Det kan være forskellige folk i hvert projekt.", + "maximum_files_uploaded_together": "Maksimalt __max__ filer uploaded sammen", + "may": "Maj", + "members_management": "Administration af medlemmer", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Der opstod en fejl i at loade grupper fra Mendeley", + "mendeley_groups_relink": "Der opstod en fejl under tilgangen af dit Mendeley data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen.", + "mendeley_integration": "Mendeley-integration", + "mendeley_integration_lowercase": "Mendeley-integration", + "mendeley_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Mendeley og forbind det direkte til .bib filer i Overleaf, så du nemt kan henvise til alt i dine biblioteker.", + "mendeley_is_premium": "Integration af Mendeley er en Premium-funktion", + "mendeley_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley nøgle udløbet, genforbind venligst din konto", + "mendeley_reference_loading_error_forbidden": "Kunne ikke indlæse referencer fra Mendeley, genforbind venligst din konto og prøv igen", + "mendeley_sync_description": "Via Mendeley-integrationen kan du importere dine referencer fra Mendeley ind i dine __appName__-projekter.", + "menu": "Menu", + "merge": "Flet", + "merging": "Fletter", + "month": "måned", + "monthly": "Månedtlig", + "more": "Mere", + "more_actions": "Flere handlinger", + "more_info": "Mere info", + "more_project_collaborators": "<0>Flere <0>samarbejdspartnere i projekter", + "more_than_one_kind_of_snippet_was_requested": "Linket til at åbne dette indhold i Overleaf havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "most_popular": "Mest populære", + "must_be_email_address": "Skal være en e-mailaddresse", + "n_items": "__count__ enhed", + "n_items_plural": "__count__ enheder", + "n_more_updates_above": "__count__ mere opdatering ovenover", + "n_more_updates_above_plural": "__count__ flere opdateringer ovenover", + "n_more_updates_below": "__count__ mere opdatering nedenunder", + "n_more_updates_below_plural": "__count__ flere opdateringer nedenunder", + "name": "Navn", + "native": "Indbygget", + "navigate_log_source": "Naviger til loggens tilsvarende sted i kildekoden: __location__", + "navigation": "Navigation", + "nearly_activated": "Du er ét skridt fra at aktivere din __appName__ konto!", + "need_anything_contact_us_at": "Hvis der skulle være noget du har brug for, så kontakt os endeligt direkte på", + "need_more_than_to_licenses_get_in_touch": "Brug for mere end 50 licenser? Kontakt os", + "need_more_than_x_licenses": "Brug for mere end __x__ licenser?", + "need_to_add_new_primary_before_remove": "Du bliver nødt til at tilføje en ny primær e-mailaddresse før du kan slette denne.", + "need_to_leave": "Nød til at gå?", + "need_to_upgrade_for_more_collabs": "Du bliver nød til at opgradere din konto for at tilføje flere samarbejdspartnere", + "new_file": "Ny fil", + "new_folder": "Ny mappe", + "new_name": "Nyt navn", + "new_password": "Nyt kodeord", + "new_project": "Nyt projekt", + "new_snippet_project": "Unavngivet", + "new_subscription_will_be_billed_immediately": "Dit nye abonnement vil blive straks blive opkrævet fra din nuværende betalingsmetode.", + "new_tag": "Nyt tag", + "new_tag_name": "Navn til nyt tag", + "newsletter": "Nyhedsbrev", + "newsletter_info_note": "Du vil stadig modtage vigtige e-mails såsom projektinvitationer og sikkerhedsbeskeder (nulstilling af kode, kontoforbindelser, osv.).", + "newsletter_info_subscribed": "Du er <0>tilmeldt til __appName__s nyhedsbrev. Hvis du foretrækker ikke at modtage disse e-mails, kan du altid framelde dig.", + "newsletter_info_summary": "Hvert par måneder sender vi et nyhedsbrev som opsummerer de nyeste tilgængelige funktioner.", + "newsletter_info_title": "Nyhedsbrevpræferencer", + "newsletter_info_unsubscribed": "Du er <0>ikke tilmeldt til __appName__s nyhedsbrev.", + "next_payment_of_x_collectected_on_y": "Den næste betaling på <0>__paymentAmmount__ vil blive opkrævet den <1>__collectionDate__.", + "nl": "Hollandsk", + "no": "Norsk", + "no_articles_matching_your_tags": "Der er ingen artikler som opfylder dine tags", + "no_comments": "Ingen kommentarer", + "no_existing_password": "Brug formularen til at nulstille dit kodeord", + "no_featured_templates": "Ingen fremhævede skabeloner", + "no_folder": "Ingen mappe", + "no_image_files_found": "Ingen billedfiler fundet", + "no_members": "Ingen medlemmer", + "no_messages": "Ingen beskeder", + "no_new_commits_in_github": "Ingen nye commits i GitHib siden sidste sammenfletning", + "no_other_projects_found": "Ingen projekter fundet", + "no_other_sessions": "Ingen aktive sessioner", + "no_pdf_error_explanation": "Denne kompilering producerede ikke nogen PDF. Det kan ske, hvis:", + "no_pdf_error_reason_no_content": "document-blokken har ikke noget indhold. Hvis den er tom, må du give den noget indhold, og så kompilere igen.", + "no_pdf_error_reason_output_pdf_already_exists": "Dette projekt indeholder en fil, som hedder output.pdf. Hvis den fil eksisterer, er du nødt til at omnavngive den, og så kompilere igen.", + "no_pdf_error_reason_unrecoverable_error": "Der er en uoprettelig LaTeX-fejl. Hvis der er LaTeX-fejl vist herunder, eller i de rå logge, så forsøg at rette dem, og kompiler så ingen.", + "no_pdf_error_title": "Ingen PDF", + "no_planned_maintenance": "Der er lige nu ingen planlagt vedligeholdelse", + "no_preview_available": "Der er intet smugkig til rådighed.", + "no_projects": "Ingen projekter", + "no_resolved_threads": "Ingen løste tråde", + "no_search_results": "Ingen søgeresultater", + "no_selection_select_file": "Der er ikke valgt nogen fil. Du kan vælge en fil at få vist i filtræet.", + "no_symbols_found": "Ingen symboler fundet", + "no_thanks_cancel_now": "Nej tak, jeg ønsker fortsat at ophæve", + "no_update_email": "Nej, opdatér e-mailaddresse", + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per måned", + "normally_x_price_per_year": "Normalt __price__ per år", + "not_found_error_from_the_supplied_url": "Linket til at åbne dette indhold i Overleaf anviste en fil, som ikke kunne findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "not_now": "Ikke nu", + "not_registered": "Ikke registreret", + "note_features_under_development": "<0>Vær opmærksom på at funktionerne i dette program stadig bliver testet og er under aktiv udvikling. Dette betyder at de kan <0>ændre sig, blive <0>slettet eller <0>blive del af et betalt abonnement", + "notification_features_upgraded_by_affiliation": "Godt nyt! Organisationen __institutionName__, som du er tilknyttet, har et abonnement hos Overleaf, og du har nu adgang til alle Overleafs Professionelle funktioner.", + "notification_personal_subscription_not_required_due_to_affiliation": " Gode nyheder! Din tilknyttede organisation __institutionName__ har et abonnement hos Overleaf, og derfor har du nu adgang til Overleafs Professionelle funktioner via din tilknytning. Du kan afmelde dit individuelle abonnement, uden at miste adgang til nogen funktioner.", + "notification_project_invite": "__userName__ vil gerne have dig til at deltage i __projectName__ Deltag i Projektet", + "notification_project_invite_accepted_message": "Du er nu med i __projectName__", + "notification_project_invite_message": "__userName__ vil gerne have dig med i __projectName__", + "november": "November", + "number_collab": "Antal samarbejdspartnere", + "number_of_users": "Antal brugere", + "number_of_users_info": "Det antal af brugere der kan opgradere deres Overleaf konto hvis du køber dette abonnement.", + "number_of_users_with_colon": "Antal brugere:", + "oauth_orcid_description": " Hævd din identitet sikkert, ved at kæde din ORCID iD og din __appName__-konto sammen. Indsendelser til samarbejdende udgivere vil automatisk inkludere dit ORCID iD, hvilket giver en forbedret arbejdsgang og bedre synlighed. ", + "october": "Oktober", + "off": "Fra", + "official": "Officielt", + "ok": "OK", + "on": "Til", + "on_free_plan_upgrade_to_access_features": "Du er på det gratis __appName__ abonnement. Opgrader for at tilgå disse <0>Premium-funktioner", + "one_collaborator": "Kun én samarbejdspartner", + "one_free_collab": "Kun én gratis samarbejdspartner", + "one_user": "1 bruger", + "online_latex_editor": "Online LaTeX-skriveprogram", + "open_a_file_on_the_left": "Open en fil til venstre", + "open_as_template": "Åben som skabelon", + "open_project": "Åben projekt", + "opted_out_linking": "Du har fravalgt at forbinde din __appName__-konto for __email__ til din institutionelle konto.", + "optional": "Valgfrit", + "or": "eller", + "organization": "Organisation", + "organize_projects": "Organisationsprojekter", + "other_actions": "Andre handlinger", + "other_logs_and_files": "Andre logger og filer", + "other_output_files": "Hent andre outputfiler", + "other_sessions": "Andre sessioner", + "our_values": "Vores værdier", + "output_file": "Outputfil", + "over": "over", + "overall_theme": "Overordnet tema", + "overleaf": "Overleaf", + "overleaf_history_system": "Overleafs historiksystem", + "overleaf_labs": "Overleaf Labs", + "overview": "Oversigt", + "overwrite": "Overskriv", + "owned_by_x": "Ejet af __x__", + "owner": "Ejer", + "page_current": "Side __page__, nuværende side", + "page_not_found": "Side ikke fundet", + "pagination_navigation": "Side navigation", + "partial_outline_warning": "Dispositionen er forældet. Den vil blive opdateret når du foretager ændringer i dokumentet", + "password": "Kodeord", + "password_cant_be_the_same_as_current_one": "Kodeordet kan ikke være det samme som det nuværende", + "password_change_old_password_wrong": "Det gamle kodeord er forkert.", + "password_change_password_must_be_different": "Kodeordet du har indtastet er det samme som dit nuværende kodeord. Benyt venligst et andet kodeord.", + "password_change_passwords_do_not_match": "Kodeord er ikke ens", + "password_change_successful": "Kodeord opdateret", + "password_managed_externally": "Indstillinger for kodeord bliver styret eksternt", + "password_reset": "Nulstil kodeord", + "password_reset_email_sent": "Vi har sendt dig en e-mail for at fuldføre nulstillingen af dit kodeord.", + "password_reset_token_expired": "Din mulighed for nulstilling af din adgangskode er udløbet. Anmod om en ny nulstilling af adgangskode og følg linket i din mail.", + "password_too_long_please_reset": "Maksimal kodeordslængde overskredet. Start venligst forfra med dit kodeord.", + "password_updated": "Kodeord opdateret", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "Dette kodeord er blevet fundet på en <0>offentlig liste over kompromitterede kodeord", + "payment_method_accepted": "__paymentMethod__ accepteret", + "payment_provider_unreachable_error": "Beklager, der opstod en fejl mens vi kontaktede vores betalingsudbyder. Prøv igen om lidt.\nHvis du bruger en reklame- eller script-blokerende browser extension, kan du være nødsaget til midlertidigt at slå dem fra.", + "payment_summary": "Betalingsopsummering", + "pdf_compile_in_progress_error": "En tidligere kompilering kører stadig. Vent lidt før du prøver at kompilere igen.", + "pdf_compile_rate_limit_hit": "Grænsen for kompilerings hyppigheden er nået", + "pdf_compile_try_again": "Vent venlist til din anden kompilering er færdig før en ny startes", + "pdf_in_separate_tab": "PDF i seperat tab", + "pdf_only_hide_editor": "Kun PDF <0>(gem skrivevindue)", + "pdf_preview_error": "Der opstod et problem mens vi prøvede at vise kompileringsresultatet for dette projekt.", + "pdf_rendering_error": "PDF visningsfejl", + "pdf_viewer": "PDF-viser", + "pdf_viewer_error": "Der opstod en fejl mens vi viste PDFen for dette projekt.", + "pending": "Venter", + "pending_additional_licenses": "Dit abonnement ændrer sig til at inkludere <0>__pendingAdditionalLicenses__ ekstra licens(er), for totalt <1>__pendingTotalLicenses__ licenser.", + "per_month": "per måned", + "per_user": "per bruger", + "per_user_year": "per bruger / år", + "per_year": "per år", + "percent_discount_for_groups": "__appName__ tilbyder en __percent__% studierabet for grupper af __size__ medlemmer eller flere", + "personal": "Personlig", + "personalized_onboarding": "Personaliseret onboarding", + "personalized_onboarding_info": "Vi hjælper jer med at få alt sat op, og derefter er vi her for at svare på spørgsmål fra jeres brugere omkring platformen, skabeloner eller LaTeX!", + "pl": "Polsk", + "plan_tooltip": "Du er på __plan__ abonnementet. Klik for at finde ud af hvordan du får mest muligt ud af dine Overleaf Premium-funktioner.", + "planned_maintenance": "Planlagt vedligeholdelse", + "plans_amper_pricing": "Abonnementer & priser", + "plans_and_pricing": "Abonnementer og priser", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Du må bede projektets ejer om at opgradere, for at kunne bruge “Følg ændringer”", + "please_change_primary_to_remove": "Skift din primære e-mailadresse for at kunne fjerne denne", + "please_check_your_inbox": "Kig i din indbakke", + "please_check_your_inbox_to_confirm": "Kig i din indbakke for at bekræfte din tilslutning til <0>__institutionName__.", + "please_compile_pdf_before_download": "Kompilér venligst dit projekt før du downloader PDF’en", + "please_compile_pdf_before_word_count": "Kompilér venligst dit projekt før du udfører en ordoptælling", + "please_confirm_email": "Bekræft din e-mailaddresse __emailAddress__ ved at klikke på bekræftelseslinket i e-mailen.", + "please_confirm_your_email_before_making_it_default": "Din e-mailadresse skal bekræftes, før du kan gøre den til din primære e-mailaddresse.", + "please_contact_support_to_makes_change_to_your_plan": "<0>Kontakt support for at foretage ændringer til dit abonnement", + "please_enter_email": "Skriv din e-mailadresse", + "please_get_in_touch": "Tag kontakt til os", + "please_link_before_making_primary": "Bekræft venligst din e-mailaddresse ved at tilknytte din institutionelle konto før du gør den primær.", + "please_reconfirm_institutional_email": "Brug venligst et øjeblik på at bekræfte din institutionelle e-mailaddresse eller <0>slet den fra din konto.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Bekræft venligst din tilknytning før gør den primær.", + "please_refresh": "Venligst opdater siden for at fortsætte", + "please_request_a_new_password_reset_email_and_follow_the_link": "Anmod venligst om en e-mail til nulstilling af kodeord og følg linket deri", + "please_select_a_file": "Vælg en fil", + "please_select_a_project": "Vælg et projekt", + "please_select_an_output_file": "Vælg en outputfil", + "please_set_a_password": "Vælg venligst et kodeord", + "please_set_main_file": "Vælg venligst projektets primære fil i projekt menuen. ", + "plus_more": "og mere", + "popular_tags": "Populære tags", + "portal_add_affiliation_to_join": "Du ser ud til allerede at være logget ind i __appName__! Hvis du har en e-mailaddresse fra __portalTitle__ kan du tilføje den nu.", + "position": "Stilling", + "postal_code": "Postnummer", + "powerful_latex_editor_and_realtime_collaboration": "Højtydende LaTeX-skriveprogram & live samarbejde.", + "powerful_latex_editor_and_realtime_collaboration_info": "Stavekontrol, intelligent autoudførelse, syntaksfremhævning, dusinvis af farvetemaer, vim- og emacs-tastebindinger, hjælp til LaTeX-advarsler og -fejlmeddelelser, med mere. Alle har altid den nyeste version, og du kan se dine samarbejdspartneres markører og ændringer live.", + "premium_feature": "Premium-funktion", + "premium_features": "Premium-funktioner", + "premium_plan_label": "Du bruger Overleaf Premium", + "presentation": "Præsentation", + "press_and_awards": "Presse & priser", + "price": "Pris", + "primary_email_check_question": "Er <0>__email__ stadig din e-mailaddresse?", + "priority_support": "Prioritetssupport", + "priority_support_info": "Vores hjælpsomme Support-hold vil prioritere og eskalere dine support anmodninger når dette er nødvendigt.", + "privacy": "Privathed", + "privacy_and_terms": "Privatliv and vilkår", + "privacy_policy": "Fortrolighedspolitik", + "private": "Privat", + "problem_changing_email_address": "Der var et problem med at ændre din e-mailadresse. Prøv venligst igen om lidt. Fortsætter problemet, så kontakt os venligst", + "problem_talking_to_publishing_service": "Der er et problem med vores udgivelses tjeneste, prøv igen om nogle få minutter", + "problem_with_subscription_contact_us": "Der er et problem med dit abonnement. Kontakt os venligst for mere information.", + "proceed_to_paypal": "Fortsæt til PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "At fortsætte til PayPal fører dig til PayPals side for at betale for dit abonnement.", + "processing": "processere", + "processing_uppercase": "Behandler", + "processing_your_request": "Vent venligst, mens vi behandler din forespørgsel.", + "professional": "Professionel", + "project": "projekt", + "project_approaching_file_limit": "Dette projekt nærmer sig grænsen for filer", + "project_figure_modal": "Projekt", + "project_flagged_too_many_compiles": "Dette projekt er blevet markeret for at kompilere for ofte. Grænsen bliver snart løftet.", + "project_has_too_many_files": "Dette projekt har nået grænsen på 2000 filer", + "project_last_published_at": "Dit projekt var sidst blevet offentliggjort den", + "project_layout_sharing_submission": "Projektlayout, deling og indsendelse", + "project_name": "Projektnavn", + "project_not_linked_to_github": "Dette projekt er ikke linket til et GitHub repository. Du kan skabe et repository for det på GitHub:", + "project_owner_plus_10": "Projektejer + 10", + "project_ownership_transfer_confirmation_1": "Er du sikker på, at du vil gøre <0>__user__ til ejer af <1>__project__?", + "project_ownership_transfer_confirmation_2": "Denne handling kan ikke fortrydes. Den nye ejer får besked, og vil kunne ændre projektets adgangsindstillinger (inklusive at fratage din egen adgang).", + "project_synced_with_git_repo_at": "Dette projekt er synkroniseret med GitHub repository‘et på", + "project_synchronisation": "Projektsynkronisering", + "project_timed_out_enable_stop_on_first_error": "<0>Slå “Stop ved første fejl” til for at hjælpe dig med at finde og rette fejl med det samme.", + "project_timed_out_fatal_error": "En <0>fatal kompileringsfejl blokerer muligvis for kompileringer.", + "project_timed_out_intro": "Vi beklager, din kompilering tog for lang tid, og er udløbet. De hyppigste årsager for at løbe tør for tid er:", + "project_timed_out_learn_more": "<0>Lær mere omkring other tidsudøb ved kompilering, og hvordan man løser dem.", + "project_timed_out_optimize_images": "Store eller høj-opløsnings billeder tager for lang tid om at blive behandlet. Du kan muligvis <0>optimere dem.", + "project_too_large": "Projekt er for stort", + "project_too_large_please_reduce": "Dette projekt har for meget redigérbar tekst, prøv venligst at reducere det. De største filer er:", + "project_too_much_editable_text": "Dette projekt har for meget redigérbar tekst, prøv venligst at reducere det.", + "project_url": "Påvirket projekts URL", + "projects": "Projekter", + "projects_list": "Projektliste", + "pt": "Portugisisk", + "public": "Offentlig", + "publish": "Publicer", + "publish_as_template": "Administrer skabelon", + "publisher_account": "Forlagskonto", + "publishing": "Publicering", + "pull_github_changes_into_sharelatex": "Pull GitHub ændringer ind i __appName__", + "purchase_now": "Køb nu", + "push_sharelatex_changes_to_github": "Push __appName__ ændringer til GitHub", + "quoted_text_in": "Tekst i gåseøjne i", + "raw_logs": "Rå logs", + "raw_logs_description": "Rå logs fra LaTeX-kompileringsprogrammet", + "reactivate_subscription": "Genaktivér dit abonnement", + "read_only": "Skrivebeskyttet", + "read_only_token": "Skrivebeskyttet nøgle", + "read_write_token": "Læse- og skrivenøgle", + "real_time_track_changes": "Realtids <0>ændringshistorik", + "realtime_track_changes": "Realtids ændringshistorik", + "realtime_track_changes_info_v2": "Slå “Følg ændringer” til for at se hvem der har lavet enhver ændring, accepter eller afvise andres ændringer og skrive kommentarer.", + "reauthorize_github_account": "Autoriser din GitHub konto igen", + "recaptcha_conditions": "Denne side er beskyttet af reCAPTCHA og Googles <1>Privatlivspolitik og <2>Brugsvilkår gælder.", + "recent": "Seneste", + "recent_commits_in_github": "Seneste commits i GitHub", + "recompile": "Genkompilér", + "recompile_from_scratch": "Genkompilér fra bunden", + "recompile_pdf": "Genkompilér PDF’en", + "reconfirm": "genbekræft", + "reconfirm_explained": "Vi er nødt til at genbekræfte din konto. Derfor må vi bede dig om at få tilsendt en nulstillingsmail til dit kodeord via formularen herunder. Hvis du møder problemer, er du velkommen til at kontakte os på", + "reconnect": "Prøv igen", + "reconnecting": "Genopretter", + "reconnecting_in_x_secs": "Genopretter om __seconds__ sekunder", + "recurly_email_update_needed": "Din fakturerings e-mailaddresse er <0>__recurlyEmail__. Hvis du har brug for det kan du opdatere den til <1>__userEmail__.", + "recurly_email_updated": "Din fakturerings e-mailaddresse er blevet opdateret", + "redirect_to_editor": "Videresend til skrivevinduet", + "redirecting": "Videresender", + "reduce_costs_group_licenses": "Du kan skære ned på papirarbejde og reducere omkostninger med vores nedsatte gruppeabonnementer.", + "reference_error_relink_hint": "Hvis fejlen fortsat opstår, så forsøg at genforbinde din konto her:", + "reference_managers": "Henvisningsmanager", + "reference_search": "Avanceret henvisningssøgning", + "reference_search_info_v2": "Det er nemt at finde dine henvisninger. Du kan søge efter forfatter, titel, udgivelsesår eller journal. Du kan også stadig søge efter citeringsnøglen.", + "reference_sync": "Henvisningsmanager synkronisering", + "refresh": "Genindlæs", + "refresh_page_after_linking_dropbox": "Genindlæs venligst denne side efter at have forbundet din konto til Dropbox", + "refresh_page_after_starting_free_trial": "Genindlæs venligst denne side efter du har startet din gratis prøveperiode.", + "refreshing": "Genindlæser", + "regards": "Venligst", + "register": "Registrer", + "register_error": "Registreringsfejl", + "register_intercept_sso": "Du kan forbinde din __authProviderName__-konto fra din Kontoindstillingsside, efter du har logget ind.", + "register_to_edit_template": "Register for at redigere i __templateName__ skabelonen", + "register_with_another_email": "Bliv registreret hos __appName__ med en anden e-mailadresse.", + "registered": "Registreret", + "registering": "Registrerer", + "registration_error": "Registreringsfejl", + "reject": "Afvis", + "reject_all": "Afvis alle", + "relink_your_account": "Genforbind din konto", + "reload_editor": "Genindlæs skrivevindue", + "remote_service_error": "Den eksterne service returnerede en fejl", + "remove": "Fjern", + "remove_collaborator": "Fjern kollaborator", + "remove_from_group": "Fjern fra gruppe", + "remove_manager": "Fjern leder", + "remove_or_replace_figure": "Fjern eller erstat figur", + "remove_tag": "Fjern tag __tagName__", + "removed": "fjernet", + "removing": "Sletter", + "rename": "Omdøb", + "rename_project": "Omdøb projekt", + "renaming": "Omdøber", + "reopen": "Genåben", + "replace_figure": "Erstat figur", + "replace_from_another_project": "Erstat fra andet projekt", + "replace_from_computer": "Erstat fra computer", + "replace_from_project_files": "Erstat fra projektfiler", + "replace_from_url": "Erstat fra URL", + "reply": "Svar", + "repository_name": "Repository navn", + "republish": "Genudgiv", + "request_new_password_reset_email": "Anmod om en ny nulstilling af kodeord", + "request_password_reset": "Anmod om nulstilling af kodeord", + "request_password_reset_to_reconfirm": "Anmod om nulstilling af kodeord for at genbekræfte", + "request_reconfirmation_email": "Anmod om en genbekræftelsesmail", + "request_sent_thank_you": "Besked sendt! Vores hold kigger på det, og svarer via e-mail.", + "requesting_password_reset": "Anmoder om nulstilling af kodeord", + "required": "Nødvendig", + "resend": "Gensend", + "resend_confirmation_email": "Gensend bekræftelsesmail", + "resending_confirmation_email": "Gensender bekræftelsesmail", + "reset_password": "Nulstil dit kodeord", + "reset_your_password": "Nulstil dit kodeord", + "resolve": "Løs", + "resolved_comments": "Løste kommentarer", + "restore": "Gendan", + "restore_file": "Gendan fil", + "restoring": "Gendanner", + "restricted": "Begrænset", + "restricted_no_permission": "Begrænset adgang, du har desværre ikke tilladelser til at se denne side.", + "return_to_login_page": "Tilbage til log ind siden", + "reverse_x_sort_order": "Omvendt __x__ sortering", + "revert_pending_plan_change": "Fortryd planlagte abonnementsændring", + "review": "Review", + "review_your_peers_work": "Gennemgå dine samarbejdspartneres arbejde", + "revoke": "Tilbagekald", + "revoke_invite": "Tilbagekald invitation", + "ro": "Romænsk", + "role": "Rolle", + "ru": "Russisk", + "saml": "SAML", + "saml_create_admin_instructions": "Vælg en e-mailadresse for den første __appName__ admin konto. Denne skal svare til en konto i SAML systemet. Du vil derefter blive bedt om at logge på med denne konto.", + "save": "Gem", + "save_20_percent_by_paying_annually": "Spar 20% ved at betale årligt", + "save_30_percent_or_more": "Spar 30% eller mere", + "save_or_cancel-cancel": "Annuller", + "save_or_cancel-or": "eller", + "save_or_cancel-save": "Gem", + "save_x_percent_or_more": "Spar __percent__% eller mere", + "saving": "Gemmer", + "saving_20_percent": "Sparer 20%!", + "saving_notification_with_seconds": "Gemmer __docname__... (Ændringerne har ikke været gemt i __seconds__ sekunder)", + "search": "Søg", + "search_bib_files": "Søg efter forfatter, titel, år", + "search_command_find": "Find", + "search_command_replace": "Erstat", + "search_in_all_projects": "Søg i alle projekter", + "search_in_archived_projects": "Søg i arkiverede projekter", + "search_in_shared_projects": "Søg i delte projekter", + "search_in_trashed_projects": "Søg i kassérede projekter", + "search_in_your_projects": "Søg i dine projekter", + "search_match_case": "Match store/små bogstaver", + "search_next": "næste", + "search_previous": "forrige", + "search_projects": "Søg efter projekter", + "search_references": "Søg i .bib filerne fra dette projekt", + "search_regexp": "Regulært udtryk", + "search_replace": "Erstat", + "search_replace_all": "Erstat alle", + "search_replace_with": "Erstat med", + "search_search_for": "Søg efter", + "search_whole_word": "Helt ord", + "search_within_selection": "Søg i markeret tekst", + "secondary_email_password_reset": "Den e-mailaddresse er registreret som en sekundær e-mailaddresse. Du kan kun logges ind, hvis du skriver din kontos primære e-mailaddresse.", + "security": "Sikkerhed", + "see_changes_in_your_documents_live": "Se ændringer i dokumentet live", + "select_a_file": "Vælg en fil", + "select_a_file_figure_modal": "Vælg en fil", + "select_a_payment_method": "Vælg en betalingsform", + "select_a_project": "Vælg et projekt", + "select_a_project_figure_modal": "Vælg et projekt", + "select_all": "Vælg alt", + "select_all_projects": "Vælg alle projekter", + "select_an_output_file": "Vælg en outputfil", + "select_an_output_file_figure_modal": "Vælg en outputfil", + "select_folder_from_project": "Vælg mappe fra projekt", + "select_from_output_files": "vælg fra outputfiler", + "select_from_project_files": "vælg fra projektfiler", + "select_from_source_files": "vælg fra kildefiler", + "select_from_your_computer": "vælg fra din computer", + "select_github_repository": "Vælg et GitHub repository som skal importeres til __appName__.", + "select_image_from_project_files": "Vælg billede fra projektfiler", + "select_project": "Vælg __project__", + "select_projects": "Vælg projekter", + "select_tag": "Vælg tag __tagName__", + "select_user": "Vælg bruger", + "selected": "Valgt", + "selection_deleted": "Markering slettet", + "send": "Send", + "send_first_message": "Send din første besked til dine samarbejdspartnere", + "send_test_email": "Send en test e-mail", + "sending": "Sender", + "september": "September", + "server_error": "Serverfejl", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro licens", + "server_pro_license_entitlement_line_2": "I har i øjeblikket <0>__count__ aktive brugere. Hvis I har brug for at forøge antallet af licenser, <1>kontakt da venligst Overleaf.", + "server_pro_license_entitlement_line_3": "En aktiv bruger er en som har åbnet et projekt i denne Server Pro instans i de seneste 12 måneder.", + "services": "Tjenester", + "session_created_at": "Session oprettet på", + "session_error": "Sessionsfejl. Tjek venligst at du har cookies slået til. Hvis problem fortsætter kan du tømme din cache og cookies.", + "session_expired_redirecting_to_login": "Session udløbet. Du omdirigeres til login siden om __seconds__ sekunder", + "sessions": "Sessioner", + "set_new_password": "Sæt nyt kodeord", + "set_password": "Kodeord", + "settings": "Indstillinger", + "share": "Del", + "share_project": "Del projekt", + "share_with_your_collabs": "Del med dine samarbejdspartnere", + "shared_with_you": "Delt med dig", + "sharelatex_beta_program": "__appName__ betaprogram", + "show_all": "vis alle", + "show_all_projects": "Vis alle projekter", + "show_document_preamble": "Vis dokumentets præambel", + "show_hotkeys": "Vis genveje", + "show_in_code": "Vis i koden", + "show_in_pdf": "Vis i PDFen", + "show_less": "vis færre", + "show_outline": "Vis disposition", + "show_x_more_projects": "Vis __x__ flere projekter", + "show_your_support": "Vis din støtte", + "showing_1_result": "Viser 1 resultat", + "showing_1_result_of_total": "Viser 1 resultat ud af __total__", + "showing_x_out_of_n_projects": "Viser __x__ af __n__ projekter.", + "showing_x_results": "Viser __x__ resultater", + "showing_x_results_of_total": "Viser __x__ resultater ud af __total__", + "site_description": "Et online LaTeX-skriveprogram, der er let at bruge. Ingen installation, live samarbejde, versionskontrol, flere hundrede LaTeX-skabeloner, og meget mere.", + "sitewide_option_available": "Organisationsdækkende licens tilgængelig", + "sitewide_option_available_info": "Brugere bliver automatisk opgraderet når de opretter sig eller tilføjer deres e-mailaddresse til Overleaf (domæne-baseret tilmelding eller SSO)", + "skip": "Spring over", + "skip_to_content": "Spring til indhold", + "something_went_wrong_canceling_your_subscription": "Der gik noget galt med annulleringen af dit abonnement. Du bliver nødt til at kontakte supporten.", + "something_went_wrong_loading_pdf_viewer": "Noget gik galt under indlæsningen af PDF viseren. Dette kan være forårsaget af problemer som <0>midlertidige netværksproblemer eller en <0>forældet web browser. Følg venligst <1>fejlsøgningskridtene for adgang, indlæsning, og visningsproblemer. Hvis problemet fortsætter <2>fortæl os om det.", + "something_went_wrong_processing_the_request": "Noget gik galt under behandlingen af forespørgslen", + "something_went_wrong_rendering_pdf": "Noget gik galt i oversættelsen af denne PDF", + "something_went_wrong_rendering_pdf_expected": "Der opstod et problem under visningen af PDFen. <0>Genkompiler", + "something_went_wrong_server": "Noget gik galt. Prøv venligst igen.", + "somthing_went_wrong_compiling": "Beklager, noget gik galt og dit projekt kunne ikke kompiléres. Vent lidt og prøv igen.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Beklager, der skete en uventet fejl i forsøget på at åbne dette indhold i Overleaf. Prøv venligst igen.", + "sorry_your_token_expired": "Beklager, din nøgle er udløbet", + "sort_by": "Sortér efter", + "sort_by_x": "Sortér efter __x__", + "source": "Kilde", + "spell_check": "Stavekontrol", + "sso_account_already_linked": "Konto allerede tilknyttet en anden __appName__ bruger", + "sso_integration": "SSO-integration", + "sso_integration_info": "Overleaf tilbyder en standard SAML-baseret Single Sign On integration.", + "sso_link_error": "Fejl i kontosammenkædningen", + "sso_not_linked": "Du har ikke forbundet din konto til __provider__. Du bliver nødt til først at logge ind med en anden metode, og forbinde din __provider__-konto i dine kontoindstillinger.", + "sso_user_denied_access": "Kan ikke logge ind da __appName__ ikke blev tildelt adgang til din __provider__ konto. Prøv venligst igen.", + "standard": "Standard", + "start_by_adding_your_email": "Begynd ved at tilføje din e-mailadresse.", + "start_free_trial": "Start gratis prøve!", + "state": "Stat", + "status_checks": "Status tjek", + "still_have_questions": "Har du stadig spørgsmål?", + "stop_compile": "Stop kompilering", + "stop_on_first_error": "Stop ved første fejl", + "stop_on_first_error_enabled_description": "<0>“Stop ved første fejl” er slået til. Ved at slå det fra kan kompileren muligvis producere en PDF (men dit projekt har stadig fejl).", + "stop_on_first_error_enabled_title": "Ingen PDF: Stop ved første fejl er slået til", + "stop_on_validation_error": "Syntaks tjek før kompilering", + "store_your_work": "Gem jeres arbejde på jeres egen infrastruktur", + "student": "Studerende", + "student_and_faculty_support_make_difference": "Støtte fra studerende og fakultet gør en forskel! Vi kan dele denne information med vores kontakter på jeres universitet når vi diskuterer om en Overleaf institutionel konto.", + "student_disclaimer": "Studierabatten er gælder for alle studerende ved gymnasier og videregående uddannelsesinstitutioner. Vi kontakter dig muligvis for at bekræfte at du kvalificerer dig til denne rabat. ", + "student_plans": "Studieabonnementer", + "subject": "Emne", + "subject_to_additional_vat": "Priser kan skulle pålægges yderligere afgifter, afhængigt af hvor du er.", + "submit": "indsend", + "submit_title": "Indsend", + "subscribe": "Tilmeld", + "subscription": "Abonnement", + "subscription_admin_panel": "Administrationspanel", + "subscription_admins_cannot_be_deleted": "Du kan ikke slette din konto med et abonnement. Du må annullere dit abonnement, før du kan fortsætte. Hvis du bliver ved med at se denne besked, så kontakt os.", + "subscription_canceled": "Abonnement annulleret", + "subscription_canceled_and_terminate_on_x": " Dit abonnement er blevet annulleret, og vil blive opsagt på <0>__terminateDate__. Ingen yderligere betalinger vil blive opkrævet.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Dit abonnement forbliver aktivt indtil slutningen af din faktureringsperiode, <0>__terminationDate__.", + "suggestion": "Forslag", + "sure_you_want_to_cancel_plan_change": "Er du sikker på at du vil fortryde den planlagte abonnementsændring? Du vil forblive abonneret til <0>__planName__ abonnementet.", + "sure_you_want_to_change_plan": "Er du sikker på du vil skifte abonnement til <0>__planName__?", + "sure_you_want_to_delete": "Er du sikker på, at du ønsker at slette følgende filer permanent?", + "sure_you_want_to_leave_group": "Er du sikker på, at du ønsker, at forlade denne gruppe?", + "sv": "Svensk", + "switch_to_editor": "Skift til skrivevindue", + "switch_to_pdf": "Skift til PDF", + "symbol_palette": "Symbolpalet", + "symbol_palette_highlighted": "<0>Symbolpalet", + "symbol_palette_info": "En hurtig og bekvemt måde at indsætte matematiske symboler ind i dit dokument.", + "sync": "Synkroniser", + "sync_dropbox_github": "Synkroniser med Dropbox og GitHub", + "sync_project_to_github_explanation": "Ændringer som du har lavet i __appName__ vil blive committed og flettet sammen med opdateringer i GitHub", + "sync_to_dropbox": "Synkroniser til Dropbox", + "sync_to_github": "Synkroniser til GitHub", + "synctex_failed": "Kunne ikke finde den tilhørende kildefil", + "syntax_validation": "Kode tjek", + "tab_connecting": "Forbinder til skriveprogrammet", + "tab_no_longer_connected": "Denne fane har ikke længere forbindelse til skriveprogrammet.", + "tag_color": "Tag farve", + "tag_name_cannot_exceed_characters": "Tag-navn kan være længere end __maxLength__ tegn", + "tag_name_is_already_used": "Tagget “__tagName__” findes allerede.", + "tags": "Tags", + "take_me_home": "Tag mig hjem!", + "take_short_survey": "Besvar et kort spørgeskema", + "tc_everyone": "Alle", + "tc_guests": "Gæster", + "tc_switch_everyone_tip": "Slå “Følg ændringer” til/fra for alle", + "tc_switch_guests_tip": "Slå “Følg ændringer” til/fra for alle link-deling gæster", + "tc_switch_user_tip": "Slå “Følg ændringer” til/fra for denne bruger", + "template": "Skabelon", + "template_approved_by_publisher": "Denne skabelon er blevet godkendt af forlaget", + "template_description": "Skabelonsbeskrivelse", + "template_gallery": "Skabelonsgalleri", + "template_not_found_description": "Denne vej til at lave nye projekter ud fra skabeloner er blevet fjernet. Du kan kigge i vores skabelonsgalleri efter flere skabeloner.", + "template_title_taken_from_project_title": "Skabelonstitlen bliver automatisk taget fra projekttitlen", + "template_top_pick_by_overleaf": "Denne skabelon er blevet håndplukket af Overleaf for dens høje kvalitet", + "templates": "Skabeloner", + "templates_page_summary": "Start dine projekter med LaTeX kvalitets-skabeloner for journaler, CV’er, artikler, præsentationer, opgaver, projektrapporter og flere. Søg eller gennemse herunder.", + "templates_page_title": "Skabeloner - Journaler, CV’er, præsentationer, rapporter og mere", + "terminated": "Kompilation annulleret", + "terms": "Vilkår", + "tex_live_version": "TeX Live-version", + "thank_you": "Tak!", + "thank_you_email_confirmed": "Tak, din e-mailaddresse er nu bekræftet", + "thank_you_exclamation": "Tak!", + "thank_you_for_being_part_of_our_beta_program": "Mange tak fordi du deltager i vores betaprogram, hvor du kan få <0>tidlig adgang til nye funktioner, og hjælpe os med bedre at forstå dine behov", + "thanks": "Tak", + "thanks_for_subscribing": "Tak fordi du abonnerer!", + "thanks_for_subscribing_you_help_sl": "Tak fordi du abonnerer på __planName__ planen. Det er støtte fra folk som dig, der giver __appName__ mulighed for at vokse og blive bedre.", + "thanks_settings_updated": "Tak, dine indstillinger er blevet opdateret.", + "the_file_supplied_is_of_an_unsupported_type ": "Linket til at åbne dette indhold i Overleaf pegede på den forkerte type fil. Gyldige filtyper er .tex-dokumenter og .zip-arkiver. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "the_following_files_already_exist_in_this_project": "De følgende filer eksisterer allerede i dette projekt:", + "the_project_that_contains_this_file_is_not_shared_with_you": "Projektet som indeholder denne fil er ikke delt med dig", + "the_requested_conversion_job_was_not_found": "Linket til at åbne dette indhold i Overleaf specificerede en konverteringsopgave, som ikke kunne findes. Det kan skyldes, at det job er udløbet, og skal køres igen. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_requested_publisher_was_not_found": "Linket til at åbne dette indhold i Overleaf angiver en udgiver, som ikke kan findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_required_parameters_were_not_supplied": "Linket til at åbne dette indhold i Overleaf manglede nogle af de nødvendige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_supplied_parameters_were_invalid": "Linket til at åbne dette indhold i Overleaf havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_supplied_uri_is_invalid": "Linket til at åbne dette indhold i Overleaf indeholdt en ugyldig URI. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "Bredden du vælger her er baseret på bredden af teksten i dit dokument. Alternativt kan du ændre billedestørrelsen direkte i LaTeX koden.", + "theme": "Tema", + "then_x_price_per_month": "Derefter __price__ per måned", + "then_x_price_per_year": "Derefter __price__ per år", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "Der er mange indstillinger til at redigere og tilpasse dine figurer, såsom tekstombrydning, roration af billedet, eller flere billeder i en enkelt figur. For dette bliver du nødt til at redigere LaTeX koden. <0>Find ud hvordan", + "there_was_an_error_opening_your_content": "Der var en fejl i oprettelsen af dit projekt", + "thesis": "Speciale", + "this_action_cannot_be_undone": "Denne handling kan ikke fortrydes.", + "this_address_will_be_shown_on_the_invoice": "Denne adresse vil blive vist på fakturaen", + "this_field_is_required": "Dette fejl er påkrævet", + "this_grants_access_to_features_2": "Dette giver dig adgang til <0>__appName__s <0>__featureType__ funktioner.", + "this_is_your_template": "Dette er din skabelon fra dit projekt", + "this_project_is_public": "Dette projekt er offentligt og kan redigeres af enhver med URL’en.", + "this_project_is_public_read_only": "Dette projekt er offentligt og kan ses, men ikke redigeres, af alle med linket", + "this_project_will_appear_in_your_dropbox_folder_at": "Projektet kan findes i din Dropbox i ", + "this_tool_helps_you_insert_figures": "Dette værktøj hjælper dig med at indsætte figurer i dit projekt uden du bliver nødt til at skrive LaTeX kode. De følgende information forklarer mere om indstillingerne i værktøjet og hvordan du kan videre tilpasse dine figurer.", + "thousands_templates": "Flere tusinde skabeloner", + "thousands_templates_info": "Producér smuke dokumenter startende fra vores galleri af LaTeX skabeloner for journaler, konferencer, afhandlinger, rapporter, CV’er og meget mere.", + "three_free_collab": "Tre gratis samarbejdspartnere", + "timedout": "Timed out", + "tip": "Tip", + "title": "Titel", + "to_add_email_accounts_need_to_be_linked_2": "For at tilføje denne e-mailaddresse er det nødvendigt, at dine kontoer fra <0>__appName__ og <0>__institutionName__ bliver kædet sammen.", + "to_add_more_collaborators": "For at få tilføjet flere samarbejdspartnere eller aktiveret linkdeling, skal du bede projektejeren om at gøre det", + "to_change_access_permissions": "Hvis du vil ændre adgangstilladelser må du bede ejeren af projektet om det", + "to_many_login_requests_2_mins": "Der er forsøgt at logge ind på denne konto for mange gange. Vent venligst 2 minutter før du prøver at logge ind igen", + "to_modify_your_subscription_go_to": "For at administrere dit abonnement, gå til", + "toggle_compile_options_menu": "Kompiléringsindstillingsmenu", + "token": "nøgle", + "token_access_failure": "Kan ikke tildele adgang; kontakt projektejeren for hjælp", + "token_limit_reached": "Du har nået grænsen for 10 nøgler. For at generere en ny autentificeringsnøgle skal du slette en eksisterende nøgle.", + "token_read_only": "nøgle skrivebeskyttet", + "token_read_write": "nøgle skrive-læse", + "too_many_attempts": "For mange forsøg. Vent lidt og prøv igen.", + "too_many_files_uploaded_throttled_short_period": "For mange filer uploadet; dine uploads er blevet begrænset i en kort periode. Vent helst 15 minutter, før du prøver igen.", + "too_many_requests": "Der kom for mange forespørgsler inden for et kort tidsrum. Det kan hjælpe, hvis du venter lidt før du prøver igen.", + "too_many_search_results": "Der var mere end 100 resultater. Indskrænk venligst din søgning.", + "too_recently_compiled": "Dette projekt er lige blevet kompileret, hvorfor denne kompilering er blevet udsat.", + "toolbar_bullet_list": "Punktliste", + "toolbar_choose_section_heading_level": "Vælg overskriftsniveau", + "toolbar_decrease_indent": "Formindsk indryk", + "toolbar_format_bold": "Fed skrift", + "toolbar_format_italic": "Kursiv skrift", + "toolbar_increase_indent": "Forøg indryk", + "toolbar_insert_citation": "Indsæt citation", + "toolbar_insert_cross_reference": "Indsæt henvisning", + "toolbar_insert_display_math": "Indsæt formel", + "toolbar_insert_figure": "Indsæt figur", + "toolbar_insert_inline_math": "Indsæt tekst-formel", + "toolbar_insert_link": "Indsæt link", + "toolbar_insert_table": "Indsæt tabel", + "toolbar_numbered_list": "Nummereret liste", + "toolbar_redo": "Gentag", + "toolbar_toggle_symbol_palette": "Vis/Skjul symbolpalet", + "toolbar_undo": "Fortryd", + "tooltip_hide_filetree": "Tryk for at skjule fil-træet", + "tooltip_hide_pdf": "Tryk for at skjule PDF’en", + "tooltip_show_filetree": "Tryk for at vise fil-træet", + "tooltip_show_pdf": "Tryk for at vise PDF’en", + "top_pick": "Bedste valg", + "total": "Total", + "total_per_month": "Total per måned", + "total_per_year": "Total per år", + "total_per_year_for_x_users": "total per år for __licenseSize__ brugere", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ moms) per år", + "total_words": "Totalt antal ord", + "tr": "Tyrkisk", + "track_any_change_in_real_time": "Følg alle ændringer i realtid", + "track_changes": "Følg ændringer", + "track_changes_is_off": "“Følg ændringer” er slået fra", + "track_changes_is_on": "“Følg ændringer” er slået til", + "tracked_change_added": "Tilføjet", + "tracked_change_deleted": "Slettet", + "trash": "Kassér", + "trash_projects": "Kassér projekter", + "trashed": "Kasséret", + "trashed_projects": "Kassérede projekter", + "trashing_projects_wont_affect_collaborators": "Det har ingen virkning på dine samarbejdspartnere, at kassere projekter.", + "trial_last_day": "Dette er din sidste dag på Overleaf Premium prøveperioden", + "trial_remaining_days": "__days__ flere dage på din Overleaf Premium prøveperiode", + "tried_to_log_in_with_email": "Du har prøvet at logge ind med __email__.", + "tried_to_register_with_email": "Du har forsøgt at blive registreret som __email__, hvilken allerede er registreret hos __appName__ som en institutionel konto.", + "try_again": "Prøv venligst igen", + "try_for_free": "Prøv gratis", + "try_it_for_free": "Prøv det gratis", + "try_now": "Prøv nu", + "try_premium_for_free": "Prøv Premium gratis", + "try_recompile_project_or_troubleshoot": "Prøv venligst at genkompilere projektet fra bunden, og hvis det ikke hjælper, følg vores <0>fejlsøgningsguide.", + "try_to_compile_despite_errors": "Prøv at kompilere på trods af fejl", + "turn_off_link_sharing": "Slå linkdeling fra", + "turn_on_link_sharing": "Slå linkdeling til", + "tutorials": "Vejledninger", + "two_users": "2 brugere", + "uk": "Ukrainsk", + "unable_to_extract_the_supplied_zip_file": "Dette indhold kunne ikke åbnes i Overleaf, fordi zip-filen ikke kunne åbnes. Vær sikker på, at din zip-fil er gyldig. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "unarchive": "Gendan", + "uncategorized": "Ikke kategoriseret", + "unconfirmed": "Ikke bekræftet", + "undelete": "Gendan", + "undeleting": "Gendanner", + "understanding_labels": "At forstå labels", + "unfold_line": "Udfold linje", + "university": "Universitet", + "unknown": "Ukendt", + "unlimited": "Ubegrænset", + "unlimited_bold": "<0>Ubegrænset", + "unlimited_collaborators_in_each_project": "Ubegrænset antal samarbejdspartnere i hvert projekt", + "unlimited_collabs": "Ubegrænset antal samarbejdspartnere", + "unlimited_collabs_rt": "<0>Ubegrænset antal samarbejdspartnere", + "unlimited_projects": "Ubegrænset antal projekter", + "unlimited_projects_info": "Dine projekter er private som udgangspunkt. Det betyder at kun du kan se dem, og kun du kan tillade andre at tilgå dem.", + "unlink": "Fjern link", + "unlink_dropbox_folder": "Afkobl Dropbox konto", + "unlink_dropbox_warning": "Alle de projekter du har synkroniseret med Dropbox, afkobles og synkroniseres ikke længere med Dropbox. Er du sikker på at du vil afkoble din Dropbox konto?", + "unlink_github_repository": "Afkobl GitHub Repository", + "unlink_github_warning": "Alle de projekter, som du har synkroniseret med GitHub, afkobles og synkroniseres ikke længere med GitHub. Er du sikker på du vil afkoble din GitHub konto?", + "unlink_provider_account_title": "Afkobl __provider__ konto", + "unlink_provider_account_warning": "Advarsel: Når du afkobler din konto fra __provider__ kan du ikke længere logge ind igennem __provider__.", + "unlink_reference": "Fjern link til reference udbyder", + "unlink_warning_reference": "Advarsel: Når du fjerner linket til denne udbyder fra din konto, vil du ikke længere have mulighed for at importere referencer ind i dine projekter.", + "unlinking": "Fjerner forbindelse", + "unpublish": "Træk tilbage", + "unpublishing": "Annullerer udgivelsen", + "unsubscribe": "Afmeld", + "unsubscribed": "Afmeldt", + "unsubscribing": "Afmelder", + "untrash": "Gendan", + "up_to": "Op til", + "update": "Opdater", + "update_account_info": "Opdater kontoinformation", + "update_dropbox_settings": "Opdater Dropbox indstillinger", + "update_your_billing_details": "Opdater dine betalingsoplysninger", + "updating": "Opdaterer", + "updating_site": "Opdater side", + "upgrade": "Opgrader", + "upgrade_cc_btn": "Opgrader nu, betal efter 7 dage", + "upgrade_now": "Opgrader nu", + "upgrade_to_get_feature": "Opgrader for at få __feature__, plus:", + "upgrade_to_track_changes": "Opgrader til “Følg ændringer”", + "upload": "Upload", + "upload_failed": "Overførsel mislykkedes", + "upload_from_computer": "Upload fra computer", + "upload_project": "Overfør projekt", + "upload_zipped_project": "Upload komprimeret projekt", + "url_to_fetch_the_file_from": "URL som filen skal hentes fra", + "usage_metrics": "Brugsstatistik", + "usage_metrics_info": "Statistikker som viser hvor mange brugere der benytter licensen, hvor mange projekter der bliver lavet og arbejdet på og hvor meget samarbejde der foregår på Overleaf.", + "use_a_different_password": "Benyt et andet kodeord", + "use_your_own_machine": "Brug din egen maskine, med din egen opsætning", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Bliver brugt til at henvise til figuren fra andre steder i dokumentet", + "user_already_added": "Bruger allerede tilføjet", + "user_deletion_error": "Beklager, sletningen af din konto mislykkedes. Vær venlig at vente et minuts tid, og prøv så igen.", + "user_deletion_password_reset_tip": "Hvis du ikke kan huske dit kodeord, eller hvis du bruger en Single-Sign-On-løsning til at skrive dig ind (såsom ORCID eller Google), må du <0>nulstille dit kodeord, og derefter prøve igen.", + "user_management": "Brugeradminstration", + "user_management_info": "Gruppeadministratorer har adgang til et administrationspanel hvor brugere nemt kan tilføjes og fjernes. For organisationsdækkende abonnementer bliver brugere automatisk opgraderet når de registerer sig eller tilføjer deres e-mailaddresse til Overleaf (domæne-baseret tilmelding eller SSO).", + "user_not_found": "Bruger ikke fundet", + "user_sessions": "Brugersessioner", + "user_wants_you_to_see_project": "__username__ ønsker at du deltager i __projectname__", + "validation_issue_entry_description": "Et valideringsproblem, som forhindrede dette projekt i at kompilere", + "vat": "moms", + "vat_number": "CVR nummer", + "view_all": "Se alt", + "view_hub": "Se hub", + "view_in_template_gallery": "Se den i skabelongalleriet", + "view_logs": "Se log", + "view_metrics": "Se statistikker", + "view_pdf": "Se PDF", + "view_source": "Se kildekode", + "view_your_invoices": "Se dine fakturaer", + "viewing_x": "Ser <0>__endTime__", + "want_change_to_apply_before_plan_end": "Hvis du ønsker at denne ændring skal tage effekt før slutningen på din nuværende faktureringsperiode, kontakt os venligst.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Vi kan ikke finde nogen sektioner eller undersektioner i denne fil", + "we_logged_you_in": "Vi har logget dig ind.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>Vi kontakter måske også dig fra tid til anden via e-mail med et spørgeskema, eller for at se, om du har lyst til at deltage i andre brugerundersøgelsesinitiativer", + "webinars": "Webinarer", + "website_status": "Sidestatus", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Velkommen til __appName__", + "when_you_tick_the_include_caption_box": "Når du klikker “Inkludér billedtekst” vil billedet blive indsat i dokumentet med en standard billedetekst. For at redigere den skal du bare klikke på billedeteksten og skrive for at erstatte den med din egen.", + "wide": "Bred", + "will_need_to_log_out_from_and_in_with": "Du bliver nødt til at logge ud fra din konto for __email1__, og derefter logge ind med __email2__.", + "with_premium_subscription_you_also_get": "Med et Overleaf Premium abonnement får du også", + "word_count": "Ordoptælling", + "work_offline": "Arbejd offline", + "work_with_non_overleaf_users": "Arbejd sammen med ikke-Overleaf-brugere", + "would_you_like_to_see_a_university_subscription": "Vil du ønske der var en universitetsdækkende __appName__ abonnement på dit universitet?", + "x_changes_in": "__count__ ændring i", + "x_changes_in_plural": "__count__ ændringer i", + "x_collaborators_per_project": "__collaboratorsCount__ samarbejdspartnere per projekt", + "x_price_for_first_month": "<0>__price__ for din første måned", + "x_price_for_first_year": "<0>__price__ for dit første år", + "x_price_for_y_months": "<0>__price__ i de første __discountMonths__ måneder", + "x_price_per_user": "__price__ per bruger", + "x_price_per_year": "__price__ per år", + "year": "år", + "yes_move_me_to_personal_plan": "Ja, skift mig til et personligt abonnement", + "yes_that_is_correct": "Ja, det er korrekt", + "you": "Dig", + "you_already_have_a_subscription": "Du har allerede et abonnement", + "you_and_collaborators_get_access_to": "Dig og dine samarbejdspartnere får adgang til", + "you_and_collaborators_get_access_to_info": "Disse funktioner er tilgængelige for dig og dine samarbejdspartnere (andre Overleaf brugere som du har inviteret til dine projekter).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager og en <1>bruger af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_are_a_manager_of_commons_at_institution_x": "Du er en <0>manager af et Overleaf Commons abonnement hos <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "Du er en <0>manager hos <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "Du er på et __appName__ betalt abonnement. <0>Kontakt support for at lære mere.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "Du er på vores <0>__planName__ abonnement som et <1>bekræftet medlem af <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er på vores <0>__planName__ abonnement som et <1>medlem af gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_can_now_log_in_sso": "Du kan nu logge ind gennem din institution of hvis du er kvalificeret får du <0>__appName__ Professionel-funktioner.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kan på denne side til enhver tid <0>til- og framelde dig programmet", + "you_dont_have_any_repositories": "Du har ingen arkiver", + "you_get_access_to": "Du får adgang til", + "you_get_access_to_info": "Disse funktioner er kun tilgængelige for dig (abonnenten).", + "you_have_added_x_of_group_size_y": "Du har tilføjet <0>__addedUsersSize__ af <1>__groupSize__ tilgængelige medlemmer", + "you_plus_1": "Dig + 1", + "you_plus_10": "Dig + 10", + "you_plus_6": "Dig + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>Du vil kunne kontakte os når som helst, for at give din feedback", + "your_affiliation_is_confirmed": "Din tilknytning til <0>__institutionName__ er bekræftet", + "your_browser_does_not_support_this_feature": "Beklager, din browser understøtter ikke denne funktion. Opdater venligst din browser til den seneste version.", + "your_git_access_info": "Din Git autentificeringsnøgler skal indtastes når du bliver spurgt om et kodeord.", + "your_git_access_info_bullet_1": "Du kan have op til 10 nøgler.", + "your_git_access_info_bullet_2": "Hvis du når grænsen for antal nøgler bliver du nødt til at slette en nøgle før du kan generere en ny.", + "your_git_access_info_bullet_3": "Du kan generere en nøgle ved at trykke på knappen <0>Generér nøgle", + "your_git_access_info_bullet_4": "Du kan ikke se nøglen igen efter den første gang du genererer den. Skriv den venligst ned og hold den sikker", + "your_git_access_info_bullet_5": "Tidligere genererede nøgle vises her.", + "your_git_access_tokens": "Dine Git autentificeringsnøgler", + "your_message_to_collaborators": "Send en besked til dine samarbejdspartnere", + "your_new_plan": "Dit nye abonnement", + "your_password_has_been_successfully_changed": "Dit kodeord er blevet ændret", + "your_plan": "Dit abonnement", + "your_plan_is_changing_at_term_end": "Dit abonnement ændres til <0>__pendingPlanName__ ved slutningen af den nuværende faktureringsperiode.", + "your_projects": "Dine projekter", + "your_sessions": "Dine sessioner", + "your_subscription": "Dit abonnement", + "your_subscription_has_expired": "Dit abonnement er udløbet.", + "youre_on_free_trial_which_ends_on": "Du er på en gratis prøveperiode som slutter d. <0>__date__.", + "zh-CN": "Kinesisk", + "zip_contents_too_large": "For stort indhold i zip-fil", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero- og <0>Mendeley-integrationer", + "zotero_groups_loading_error": "Der opstod en fejl under indlæsning af grupper fra Zotero", + "zotero_groups_relink": "Der opstod en fejl under tilgangen af dit Zotero data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-integration", + "zotero_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Zotero og forbind det direkte til .bib filer i Overleaf, så du nemt kan henvise til alt i dine biblioteker.", + "zotero_is_premium": "Integration af Zotero er en Premium-funktion", + "zotero_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Zotero", + "zotero_reference_loading_error_expired": "Zotero nøgle udløbet, genforbind venligst din konto", + "zotero_reference_loading_error_forbidden": "Kunne ikke indlæse referencer fra Zotero, genforbind venligst din konto og prøv igen", + "zotero_sync_description": "Via Zotero-integrationen kan du importere dine referencer fra Zotero ind i dine __appName__-projekter." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/de.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/de.json new file mode 100644 index 0000000..3a20304 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/de.json @@ -0,0 +1,1508 @@ +{ + "1_2_width": "½ Breite", + "1_4_width": "¼ Breite", + "3_4_width": "¾ Breite", + "About": "Über uns", + "Account": "Konto", + "Account Settings": "Kontoeinstellungen", + "Documentation": "Dokumentation", + "Projects": "Projekte", + "Security": "Sicherheit", + "Subscription": "Abonnement", + "Terms": "Nutzungsbedingungen", + "Universities": "Universitäten", + "a_custom_size_has_been_used_in_the_latex_code": "Es wurde eine benutzerdefinierte Größe im LaTeX Code verwendet.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Eine Datei mit diesem Name existiert bereits. Die Datei wird überschrieben.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Eine vollständige Liste der Tastaturbelegung befindet sich in <0>dieser __appName__ Projekt Vorlage", + "about": "Über uns", + "about_to_archive_projects": "Du bist im Begriff, die folgenden Projekte zu archivieren:", + "about_to_delete_projects": "Du bist kurz davor folgende Projekte zu löschen:", + "about_to_delete_tag": "Du bist dabei, das folgende Stichwort zu löschen (darin enthaltene Projekte werden nicht gelöscht):", + "about_to_delete_the_following_project": "Du bist dabei, das folgende Projekt zu löschen", + "about_to_delete_the_following_projects": "Du bist dabei, die folgenden Projekte zu löschen", + "about_to_leave_projects": "Du bist kurz davor folgende Projekte zu verlassen:", + "about_to_trash_projects": "Du bist dabei, die folgenden Projekte zu löschen:", + "abstract": "Abstrakt", + "accept": "Akzeptieren", + "accept_all": "Alle akzeptieren", + "accept_invitation": "Einladung annehmen", + "accept_or_reject_each_changes_individually": "Akzeptiere oder Verwerfe jede Änderung individuell", + "accepted_invite": "Einladung angenommen", + "accepting_invite_as": "Du akzeptierst die Einladung als", + "access_denied": "Zugriff verweigert", + "account": "Konto", + "account_has_been_link_to_institution_account": "Dein __appName__-Konto auf __email__ wurde mit deinem institutionellen Konto __institutionName__ verknüpft.", + "account_has_past_due_invoice_change_plan_warning": "Dein Konto weist derzeit eine überfällige Rechnung auf. Du kannst dein Abonnement nicht ändern, bis dies behoben ist.", + "account_linking": "Kontoverknüpfung", + "account_not_linked_to_dropbox": "Dein Konto ist nicht mit Dropbox verknüpft", + "account_settings": "Kontoeinstellungen", + "account_with_email_exists": "Anscheinend existiert bereits ein __appName__-Konto mit der E-Mail-Adresse __email__.", + "acct_linked_to_institution_acct_2": "Du kannst dich <0>log in über dein institutionelles Konto <0>__institutionName__ bei Overleaf anmelden.", + "actions": "Aktionen", + "activate": "Aktivieren", + "activate_account": "Deaktiviere dein Konto", + "activating": "Aktivierung", + "activation_token_expired": "Dein Aktivierungs-Token ist abgelaufen, bitte fordere einen neuen an.", + "add": "Hinzufügen", + "add_affiliation": "Mitgliedschaft hinzufügen", + "add_another_address_line": "Füge eine weitere Addresszeile hinzu", + "add_another_email": "Füge eine weitere E-Mail-Adresse hinzu", + "add_another_token": "Füge einen weiteren Token hinzu", + "add_comma_separated_emails_help": "Trenne mehrere E-Mail-Adressen mit einem Komma (,).", + "add_comment": "Füge Kommentar hinzu", + "add_company_details": "Firmendetails hinzufügen", + "add_email": "E-Mail-Adresse hinzufügen", + "add_email_to_claim_features": "Füge eine institutionelle E-Mail-Adresse hinzu, um deine Funktionen zu freizuschalten.", + "add_files": "Dateien hinzufügen", + "add_more_members": "Mehr Mitglieder hinzufügen", + "add_new_email": "Neue E-Mail-Adresse hinzufügen", + "add_or_remove_project_from_tag": "Füge Projekt zu Stichwort __tagName__ hinzu oder entferne es davon", + "add_role_and_department": "Rolle und Abteilung hinzufügen", + "add_to_tag": "Zu Stichwort hinzufügen", + "add_your_comment_here": "Füge hier einen Kommentar hinzu", + "add_your_first_group_member_now": "Füge jetzt dein erstes Gruppenmitglied hinzu", + "added": "hinzugefügt", + "added_by_on": "Hinzugefügt von __name__ am __date__", + "adding": "Hinzufügen", + "additional_licenses": "Dein Abonnement umfasst <0>__additionalLicenses__ zusätzliche Lizenz(en) für insgesamt <1>__totalLicenses__ Lizenzen.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Addresszeile zwei (optional)", + "admin": "Admin", + "admin_user_created_message": "Admin-Nutzer erstellt, einloggen um fortzufahren", + "advanced_reference_search": "Erweiterte <0>Referenzen Suche", + "advanced_search": "Erweiterte Suche", + "aggregate_changed": "Geändert", + "aggregate_to": "zu", + "all": "Alle", + "all_our_group_plans_offer_educational_discount": "Alle unsere <0>Gruppen-Abonnements bieten einen <1>Bildungsrabatt für Studenten und Lehrkräfte", + "all_premium_features": "Alle Premiumfunktionen", + "all_premium_features_including": "Alle Premiumfunktionen, darunter:", + "all_prices_displayed_are_in_currency": "Alle Preise sind in __recommendedCurrency__ angezeigt.", + "all_projects": "Alle Projekte", + "all_templates": "Alle Vorlagen", + "already_have_sl_account": "Hast du bereits ein __appName__-Konto?", + "also": "Ebenfalls", + "also_available_as_on_premises": "Auch On-Premises verfügbar", + "alternatively_create_new_institution_account": "Alternativ kannst du ein neues Konto mit deiner institutionellen E-Mail-Adresse (__email__) erstellen, indem du auf „__clickText__“ klickst.", + "an_error_occurred_when_verifying_the_coupon_code": "Beim Überprüfen des Gutscheincodes ist ein Fehler aufgetreten", + "and": "und", + "annual": "Jährlich", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Jeder mit diesem Link kann dieses Projekt bearbeiten", + "anyone_with_link_can_view": "Jeder mit diesem Link kann dieses Projekt anzeigen", + "app_on_x": "__appName__ bei __social__", + "apply_educational_discount": "Bildungsrabatt anwenden", + "apply_educational_discount_info": "Overleaf bietet 40 % Bildungsrabatt für Gruppen ab 10 Personen. Dies gilt für Studenten oder Lehrkräfte, die Overleaf im Unterricht verwenden.", + "april": "April", + "archive": "Archiv", + "archive_projects": "Projekte archivieren", + "archived": "Archiviert", + "archived_projects": "Archivierte Projekte", + "archiving_projects_wont_affect_collaborators": "Das Archivieren von Projekten wirkt sich nicht auf deine Mitarbeiter aus.", + "are_you_affiliated_with_an_institution": "Bist Du einer Institution angehörig?", + "are_you_getting_an_undefined_control_sequence_error": "Bekommst Du einen Undefined Control Sequence Fehler angezeigt? Falls ja, stelle sicher dass das graphicx Paket —<0>\\usepackage{graphicx}— in der Präambel (erster Code Abschnitt) deines Dokuments geladen wird. <1>Mehr erfahren", + "are_you_still_at": "Bist du immer noch bei <0>__institutionName__?", + "are_you_sure": "Bist du sicher?", + "article": "Artikel", + "articles": "Artikel", + "as_a_member_of_sso_required": "Als Mitglied von __institutionName__ musst du dich über dein institutionelles Portal bei __appName__ anmelden.", + "ascending": "Aufsteigend", + "ask_proj_owner_to_upgrade_for_full_history": "Bitte den Projektinhaber um ein Abonnement-Upgrade, um auf den vollständigen Verlauf dieses Projekts zugreifen zu können.", + "ask_proj_owner_to_upgrade_for_references_search": "Bitte den Projekteigentümer um ein Abonnement-Upgrade, damit du die Referenz-Suchfunktion verwenden kannst.", + "august": "August", + "author": "Autor", + "auto_close_brackets": "Klammern automatisch schließen", + "auto_compile": "Automatisch kompilieren", + "auto_complete": "Auto-Vervollständigen", + "autocompile_disabled": "Automatisches Kompilieren deaktiviert", + "autocompile_disabled_reason": "Aufgrund der hohen Serverlast wurde das Neukompilieren im Hintergrund vorübergehend deaktiviert. Bitte neu kompilieren, indem du auf die Schaltfläche oben klickst.", + "autocomplete": "Autovervollständigung", + "autocomplete_references": "Referenzautovervollständigung (in einem \\cite{}-Block)", + "automatic_user_registration": "Automatische Nutzerregistrierung", + "back": "Zurück", + "back_to_account_settings": "Zurück zu den Kontoeinstellungen", + "back_to_editor": "Zurück zum Editor", + "back_to_log_in": "Zurück zur Anmeldung", + "back_to_subscription": "Zurück zum Abonnement", + "back_to_your_projects": "Zurück zu deinen Projekten", + "become_an_advisor": "Werde ein __appName__-Berater", + "best_choices_companies_universities_non_profits": "Die beste Wahl für Unternehmen, Universitäten und gemeinnützige Organisationen", + "beta": "Beta", + "beta_feature_badge": "Betafunktionsmerkmal", + "beta_program_already_participating": "Du bist dem Beta-Programm beigetreten", + "beta_program_badge_description": "Während der Nutzung von __appName__ werden Beta-Funktionen durch diesen Badge markiert:", + "beta_program_benefits": "Wir verbessern __appName__ stetig. Indem du dem Beta-Programm beitrittst, hast du früheren Zugriff auf neue Funktionen und hilfst uns, deine Bedürfnisse besser zu verstehen.", + "beta_program_not_participating": "Du nimmst nicht am Beta Programm teil", + "beta_program_opt_in_action": "Beta-Programm beitreten", + "beta_program_opt_out_action": "Beta-Programm verlassen", + "bibliographies": "Literaturverzeichnisse", + "binary_history_error": "Für diesen Datei-Typ ist keine Vorschau verfügbar", + "blank_project": "Leeres Projekt", + "blocked_filename": "Dieser Dateiname ist gesperrt.", + "blog": "Blog", + "browser": "Browser", + "built_in": "Eigener", + "bulk_accept_confirm": "Möchtest du die ausgewählten __nChanges__-Änderungen wirklich akzeptieren?", + "bulk_reject_confirm": "Möchtest du die ausgewählten __nChanges__-Änderungen wirklich ablehnen?", + "buy_now_no_exclamation_mark": "Jetzt kaufen", + "by": "von", + "by_subscribing_you_agree_to_our_terms_of_service": "Mit der Anmeldung stimmst du unseren <0>Nutzungsbedingungen zu.", + "can_edit": "Darf bearbeiten", + "can_link_institution_email_acct_to_institution_acct": "Du kannst jetzt dein __email__ __appName__-Konto mit deinem institutionellen __institutionName__-Konto verknüpfen.", + "can_link_institution_email_by_clicking": "Du kannst dein __email__ __appName__-Konto mit deinem __institutionName__-Konto verknüpfen, indem du auf „__clickText__“ klickst.", + "can_link_institution_email_to_login": "Du kannst dein __email__ __appName__-Konto mit deinem __institutionName__-Konto verknüpfen, wodurch du dich bei __appName__ über dein institutionelles Portal anmelden und deine institutionelle E-Mail-Adresse erneut bestätigen kannst.", + "can_link_your_institution_acct_2": "Du kannst jetzt dein <0>__appName__-Konto mit deinem institutionellen <0>__institutionName__-Konto <0>verknüpfen.", + "can_now_relink_dropbox": "Du kannst jetzt <0>dein Dropbox-Konto erneut verknüpfen.", + "cancel": "Abbrechen", + "cancel_anytime": "Wir sind zuversichtlich, dass du __appName__ lieben wirst, falls nicht, kannst du jederzeit kündigen. Wir geben dir dein Geld zurück, ohne weitere Fragen zu stellen, wenn du uns dies innerhalb von 30 Tagen mitteilst.", + "cancel_my_account": "Mein Abo stornieren", + "cancel_personal_subscription_first": "Du hast bereits ein persönliches Abonnement. Möchtest du dieses zuerst zu beenden, bevor du der Gruppenlizenz beitrittst?", + "cancel_your_subscription": "Beende dein Abo", + "cannot_invite_non_user": "Einladung konnte nicht gesendet werden. Empfänger muss bereits ein __appName__-Konto besitzen.", + "cannot_invite_self": "Du kannst dich nicht selbst einladen", + "cannot_verify_user_not_robot": "Leider konnten wir nicht bestätigen, dass du kein Roboter bist. Bitte vergewissere dich, dass Google reCAPTCHA nicht von einem Werbeblocker oder einer Firewall blockiert wird.", + "cant_find_email": "Diese E-Mail-Adresse ist leider nicht registriert.", + "cant_find_page": "Entschuldigung, wir können die Seite, die du suchst, nicht finden.", + "cant_see_what_youre_looking_for_question": "Du kannst nicht finden, wonach du suchst?", + "card_details": "Kartendaten", + "card_details_are_not_valid": "Die Kartendaten sind nicht gültig", + "card_must_be_authenticated_by_3dsecure": "Deine Karte muss mit 3D Secure authentifiziert werden, bevor du fortfahren kannst", + "card_payment": "Kartenzahlung", + "careers": "Karriere", + "category_arrows": "Pfeile", + "category_greek": "Griechisch", + "category_misc": "Sonstiges", + "category_operators": "Betreiber", + "category_relations": "Beziehungen", + "change": "Änderung", + "change_currency": "Währung wechseln", + "change_or_cancel-cancel": "Abbrechen", + "change_or_cancel-change": "Ändern", + "change_or_cancel-or": "oder", + "change_owner": "Besitzer ändern", + "change_password": "Passwort ändern", + "change_plan": "Abonnement ändern", + "change_primary_email_address_instructions": "Um deine primäre E-Mail-Adresse zu ändern, füge bitte zuerst deine neue primäre E-Mail-Adresse hinzu (indem du auf <0>„E-Mail-Adresse hinzufügen“ klickst) und bestätige diese. Klicke dann auf die Schaltfläche <0>Als primär festlegen. <1>Erfahre mehr über das Verwalten deiner __appName__ E-Mails.", + "change_project_owner": "Projektinhaber ändern", + "change_to_group_plan": "Wechsle zu einem Gruppen-Abonnement", + "change_to_this_plan": "Auf dieses Abonnement wechseln", + "changing_the_position_of_your_figure": "Position der Abbildung verändern", + "chat": "Chat", + "chat_error": "Chatnachrichten konnten nicht geladen werden, versuche es erneut.", + "check_your_email": "Bitte prüfe deinen E-Mail-Posteingang.", + "checking": "Überprüfe", + "checking_dropbox_status": "Dropbox-Status prüfen", + "checking_project_github_status": "Status auf GitHub abfragen", + "choose_a_custom_color": "Wähle eine eigene Farbe", + "choose_your_plan": "Wähle deinen Kontotyp", + "city": "Stadt", + "clear_cached_files": "Zwischengespeicherte Dateien löschen", + "clear_search": "Suche löschen", + "clear_sessions": "Sessions löschen", + "clear_sessions_description": "Dies ist eine Liste anderer Sessions (Logins), die auf deinem Konto aktiv sind, exklusive deiner aktuellen Session. Klicke auf „Sessions löschen“, um sie auszuloggen.", + "clear_sessions_success": "Sessions gelöscht", + "clearing": "Aufräumen", + "click_here_to_view_sl_in_lng": "Klicke hier, um __appName__ in <0>__lngName__ zu nutzen", + "click_link_to_proceed": "Klicke auf „__clickText__“, um fortzufahren.", + "clone_with_git": "Mit Git klonen", + "close": "Schließen", + "clsi_maintenance": "Die Kompilierserver wurden für Wartungsarbeiten heruntergefahren und werden in Kürze zurück sein.", + "clsi_unavailable": "Entschuldigung, der Kompilierserver für dein Projekt war vorübergehend nicht verfügbar. Versuche es in einigen Augenblicken erneut.", + "cn": "Chinesisch (vereinfacht)", + "code_check_failed": "Codeprüfung fehlgeschlagen", + "code_check_failed_explanation": "Dein Code enthält Fehler, die behoben werden müssen, bevor das automatische Kompilieren fortgefahren werden kann", + "collaborate_online_and_offline": "Zusammenarbeit online und offline mit deinem eigenen Workflow", + "collaboration": "Zusammenarbeit", + "collaborator": "Mitarbeiter", + "collabratec_account_not_registered": "IEEE-Collabratec™-Konto nicht registriert. Bitte verbinde dich mit Overleaf von IEEE Collabratec™ oder melde dich mit einem anderen Konto an.", + "collabs_per_proj": "__collabcount__ Mitarbeiter pro Projekt", + "collabs_per_proj_single": "__collabcount__ Mitarbeiter pro Projekt", + "collapse": "Einklappen", + "comment": "Kommentar", + "commit": "Commit", + "common": "Häufige", + "commons_plan_tooltip": "Du hast Zugriff auf ein __plan__ Abonnement über deine Angehörigkeit bei __institution__. Klicke hier um herauszufinden was die Overleaf Premiumfunktionen Dir ermöglichen.", + "compact": "Kompakt", + "company_name": "Name der Firma", + "comparing_from_x_to_y": "Vergleich zwischen <0>__startTime__ und <0>__endTime__", + "compile_error_entry_description": "Ein Fehler, der das Kompilieren dieses Projekts verhindert hat", + "compile_error_handling": "Fehlerbehandlung beim Kompilieren", + "compile_larger_projects": "Größere Projekte kompilieren", + "compile_mode": "Kompiliermodus", + "compile_terminated_by_user": "Der Kompiliervorgang wurde durch Klick auf den Button „Kompiliervorgang stoppen“ abgebrochen. Du kannst dir die Logs anschauen, um zu sehen, wo der Kompiliervorgang gestoppt hat.", + "compile_timeout_short": "Zeitlimit beim Kompilieren", + "compiler": "Compiler", + "compiling": "Kompilieren", + "complete": "Fertig", + "confirm": "Bestätigen", + "confirm_affiliation": "Zugehörigkeit bestätigen", + "confirm_affiliation_to_relink_dropbox": "Bitte bestätige, dass du noch immer bei der Institution bist und über deren Lizenz verfügst, oder aktualisiere dein Konto, um dein Dropbox-Konto erneut zu verknüpfen.", + "confirm_email": "Bestätigungs-E-Mail", + "confirm_new_password": "Bestätige das neue Passwort", + "confirm_primary_email_change": "Bestätige die Änderung deiner primären E-Mail-Adresse", + "confirmation_link_broken": "Leider stimmt etwas mit deinem Bestätigungslink nicht. Versuche, den Link unten in deiner Bestätigungs-E-Mail zu kopieren und einzufügen.", + "confirmation_token_invalid": "Entschuldigung, dein Bestätigungstoken ist ungültig oder abgelaufen. Bitte fordere einen neuen E-Mail-Bestätigungslink an.", + "confirming": "Bestätigung", + "conflicting_paths_found": "Dateipfadkonflikte gefunden", + "connected_users": "Verbundene Nutzer", + "connecting": "Verbinden", + "contact": "Kontakt", + "contact_message_label": "Nachricht", + "contact_sales": "Vertrieb kontaktieren", + "contact_support_to_change_group_subscription": "Bitte wende dich an den Support, wenn du dein Gruppenabonnement ändern möchtest.", + "contact_us": "Kontaktiere uns", + "contact_us_lowercase": "Kontaktiere uns", + "continue": "Fortfahren", + "continue_github_merge": "Ich habe es von Hand gemerget, fortsetzen", + "continue_to": "Weiter zu __appName__", + "continue_with_free_plan": "Mit der kostenlosen Version fortfahren", + "copied": "Kopiert", + "copy": "Kopieren", + "copy_project": "Projekt kopieren", + "copying": "kopieren", + "country": "Land", + "country_flag": "Landesflagge von __country__", + "coupon_code": "Gutscheincode", + "coupon_code_is_not_valid_for_selected_plan": "Der Gutscheincode ist nicht gültig für das gewählte Abonnement", + "coupons_not_included": "Dies beinhaltet nicht deine aktuellen Rabatte, die automatisch vor deiner nächsten Zahlung angewandt werden", + "create": "Erstellen", + "create_a_new_password_for_your_account": "Erstelle ein neues Passwort für dein Konto", + "create_a_new_project": "Erstelle ein neues Projekt", + "create_first_admin_account": "Erstelle das erste Admin-Konto", + "create_new_account": "Neues Konto erstellen", + "create_new_subscription": "Neues Abonnement erstellen", + "create_new_tag": "Neues Stichwort erstellen", + "create_project_in_github": "Ein GitHub Repository erstellen", + "created_at": "Erstellt am", + "creating": "Erstellung läuft", + "credit_card": "Kreditkarte", + "cs": "Tschechisch", + "currency": "Währung", + "current_file": "Aktuelle Datei", + "current_password": "Aktuelles Passwort", + "current_session": "Aktuelle Sitzung", + "currently_seeing_only_24_hrs_history": "Du siehst derzeit die Änderungen der letzten 24 Stunden in diesem Projekt.", + "currently_subscribed_to_plan": "Du hast im Moment das <0>__planName__ Produkt abonniert.", + "custom_resource_portal": "Benutzerdefiniertes Ressourcenportal", + "custom_resource_portal_info": "Du kannst deine eigene benutzerdefinierte Portalseite auf Overleaf haben. Dies ist ein großartiger Ort für die Nutzer, um mehr über Overleaf zu erfahren, auf Vorlagen, FAQs und Hilferessourcen zuzugreifen und sich bei Overleaf anzumelden.", + "customize": "Anpassen", + "customize_your_group_subscription": "Dein Gruppenabonnement anpassen", + "customize_your_plan": "Abonnement anpassen", + "customizing_figures": "Abbildung anpassen", + "da": "Dänisch", + "date": "Datum", + "date_and_owner": "Datum und Inhaber", + "de": "Deutsch", + "dealing_with_errors": "Umgang mit Fehlern", + "december": "Dezember", + "dedicated_account_manager": "Dedizierter Kontomanager", + "dedicated_account_manager_info": "Unser Account-Management-Team wird dir bei Wünschen und Fragen behilflich sein und dir dabei helfen, Overleaf mittels Werbematerialien, Schulungsressourcen und Webinaren bekannt zu machen.", + "default": "Standard", + "delete": "Löschen", + "delete_account": "Konto löschen", + "delete_account_confirmation_label": "Ich verstehe, dass dadurch alle Projekte in meinem __appName__-Konto mit der E-Mail-Adresse <0>__userDefaultEmail__ gelöscht werden", + "delete_account_warning_message_3": "Du bist dabei, alle Kontodaten permanent zu löschen, inklusive Projekte und Einstellungen. Bitte gib die E-Mail-Adresse und das Passwort deines Kontos in die Felder ein um fortzufahren.", + "delete_acct_no_existing_pw": "Bitte verwende das Formular zum Zurücksetzen des Passworts, um ein Passwort festzulegen, bevor du dein Konto löschst", + "delete_and_leave": "Löschen/Verlassen", + "delete_and_leave_projects": "Projekte löschen und verlassen", + "delete_authentication_token": "Zugangstoken löschen", + "delete_authentication_token_info": "Du bist dabei einen Git Zugangstoken zu löschen. Sobald dieser gelöscht ist, verliert er seine Gültigkeit und er kann nicht mehr für Git Aktionen verwendet werden.", + "delete_figure": "Abbildung löschen", + "delete_projects": "Projekte archivieren", + "delete_tag": "Stichwort löschen", + "delete_token": "Token löschen", + "delete_user": "Nutzer löschen", + "delete_your_account": "Lösche dein Konto", + "deleted_at": "Gelöscht am", + "deleted_by_on": "Gelöscht von __name__ am __date__", + "deleting": "Löschen", + "demonstrating_git_integration": "Demonstration der Git-Integration", + "department": "Abteilung", + "descending": "Absteigend", + "description": "Beschreibung", + "dictionary": "Wörterbuch", + "did_you_know_institution_providing_professional": "Wusstest du, dass __institutionName__ allen bei __institutionName__ <0>kostenlose __appName__ „Professionell“-Funktionen zur Verfügung stellt?", + "disable_stop_on_first_error": "„Anhalten beim ersten Fehler“ deaktivieren", + "disconnected": "Nicht verbunden", + "discount_of": "__amount__ Rabatt", + "dismiss_error_popup": "Erste Fehlermeldung schließen", + "do_not_have_acct_or_do_not_want_to_link": "Wenn du kein __appName__-Konto hast oder nicht mit deinem __institutionName__-Konto verknüpfen möchtest, klicke auf „__clickText__“.", + "do_not_link_accounts": "Konten nicht verknüpfen", + "do_you_want_to_change_your_primary_email_address_to": "Willst Du deine primäre E-Mail-Adresse in __email__ ändern?", + "do_you_want_to_overwrite_them": "Willst Du sie überschreiben?", + "documentation": "Dokumentation", + "does_not_contain_or_significantly_match_your_email": "nicht mit Teilen deiner E-Mail-Adresse übereinstimmt", + "doesnt_match": "Stimmt nicht überein", + "doing_this_allow_log_in_through_institution": "Dadurch kannst du dich über dein institutionelles Portal bei __appName__ anmelden und deine institutionelle E-Mail-Adresse bestätigen.", + "doing_this_allow_log_in_through_institution_2": "Dadurch kannst du dich über dein institutionelles Portal bei <0>__appName__ anmelden und deine institutionelle E-Mail-Adresse bestätigen.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Dadurch wird deine Zugehörigkeit zu <0>__institutionName__ bestätigt und du kannst dich über deine Institution bei <0>__appName__ anmelden.", + "done": "Fertig", + "dont_have_account": "Du hast kein Konto?", + "download": "Herunterladen", + "download_pdf": "PDF herunterladen", + "download_zip_file": ".zip-Datei herunterladen", + "drag_here": "hierher ziehen", + "drag_here_paste_an_image_or": "Datei hierher verschieben, Bild einfügen, oder", + "drop_files_here_to_upload": "Ziehe die Dateien hier hin, um sie hochzuladen", + "dropbox_already_linked_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen Overleaf-Konto verknüpft ist.", + "dropbox_already_linked_error_with_email": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen Overleaf-Konto über die E-Mail-Adresse __otherUsersEmail__ verknüpft ist.", + "dropbox_checking_sync_status": "Dropbox auf Updates überprüfen", + "dropbox_duplicate_names_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da du mehr als ein Projekt mit demselben Namen hast:", + "dropbox_duplicate_project_names": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil du mehr als ein Projekt mit dem Namen <0>„__projectName__“ hast.", + "dropbox_duplicate_project_names_suggestion": "Bitte verwende eindeutige Projektnamen für alle deine <0>aktiven, archivierten und gelöschten Projekte und verknüpfe dann dein Dropbox-Konto erneut.", + "dropbox_email_not_verified": "Wir konnten keine Updates von deinem Dropbox-Konto abrufen. Dropbox hat gemeldet, dass deine E-Mail-Adresse unbestätigt ist. Bitte bestätige die E-Mail-Adresse in deinem Dropbox-Konto, um dieses Problem zu lösen.", + "dropbox_for_link_share_projs": "Auf dieses Projekt wurde über Linkfreigabe zugegriffen und es wird nicht mit deiner Dropbox synchronisiert, es sei denn, du wirst vom Projektinhaber per E-Mail eingeladen.", + "dropbox_integration_info": "Arbeite nahtlos online und offline mit der bidirektionalen Dropbox-Synchronisierung. Änderungen, die du lokal vornimmst, werden automatisch an die Version auf Overleaf gesendet und umgekehrt.", + "dropbox_integration_lowercase": "Dropbox-Integration", + "dropbox_successfully_linked_description": "Vielen Dank, wir haben dein Dropbox-Konto erfolgreich mit __appName__ verknüpft.", + "dropbox_sync": "Dropbox-Synchronisation", + "dropbox_sync_both": "Senden und Empfangen von Updates", + "dropbox_sync_description": "Halte deine __appName__-Projekte synchron mit deinem Dropboxkonto. Änderungen in __appName__ werden automatisch an deine Dropbox gesendet und umgekehrt.", + "dropbox_sync_error": "Entschuldigung, beim Überprüfen unseres Dropbox-Dienstes ist ein Problem aufgetreten. Bitte versuche es in einigen Augenblicken erneut.", + "dropbox_sync_in": "Updates von Dropbox empfangen", + "dropbox_sync_now_rate_limited": "Manuelles Synchronisieren ist auf einmal pro Minute limitiert. Bitte warte einen Moment und versuche es erneut.", + "dropbox_sync_now_running": "Ein manueller Sync wurde für dieses Projekt im Hintergrund gestartet. Bitte gib dem Vorgang ein paar Minuten Zeit um abzuschließen.", + "dropbox_sync_out": "Updates an Dropbox senden", + "dropbox_sync_troubleshoot": "Fehlen Änderungen in deiner Dropbox? Bitte warte ein paar Minuten. Wenn Änderungen noch immer nicht ankommen, kannst Du <0>das Projekt manuell synchronisieren lassen.", + "dropbox_synced": "Overleaf und Dropbox haben alle Updates verarbeitet. Beachte, dass deine lokale Dropbox möglicherweise noch synchronisiert wird", + "dropbox_unlinked_because_access_denied": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da der Dropbox-Dienst deine gespeicherten Anmeldeinformationen abgelehnt hat. Bitte verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit Overleaf zu verwenden.", + "dropbox_unlinked_because_full": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da es voll ist und wir an es keine Updates mehr senden können. Bitte gib Speicherplatz frei und verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit Overleaf zu verwenden.", + "dropbox_unlinked_premium_feature": "<0>Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil Dropbox Sync eine Premiumfunktion ist, die du über eine institutionelle Lizenz hattest.", + "duplicate_file": "Datei duplizieren", + "duplicate_projects": "Dieser Nutzer hat Projekte mit doppeltem Namen", + "each_user_will_have_access_to": "Jeder Nutzer hat Zugriff auf", + "easily_manage_your_project_files_everywhere": "Verwalte deine Projektdateien einfach und überall", + "edit": "Bearbeiten", + "edit_dictionary": "Wörterbuch bearbeiten", + "edit_dictionary_empty": "Dein benutzerdefiniertes Wörterbuch ist leer.", + "edit_dictionary_remove": "Aus Wörterbuch entfernen", + "edit_figure": "Abbildung bearbeiten", + "edit_tag": "Schlagwort bearbeiten", + "editing": "Bearbeitung", + "editing_captions": "Beschriftungen bearbeiten", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor wurde getrennt", + "editor_only_hide_pdf": "Nur Editor <0>(PDF ausblenden)", + "editor_theme": "Editor-Thema", + "educational_discount_applied": "40% Bildungsrabatt angewendet!", + "educational_discount_available_for_groups_of_ten_or_more": "Der Bildungsrabatt ist verfügbar für Gruppen ab 10 Personen", + "educational_discount_disclaimer": "Dieses Abonnement ist nur für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die Overleaf im Unterricht verwenden)", + "educational_discount_for_groups_of_ten_or_more": "Overleaf bietet 40% Bildungsrabatt für Gruppen ab 10 Personen.", + "educational_discount_for_groups_of_x_or_more": "Der Bildungsrabatt ist für Gruppen mit __size__ oder mehr Nutzern verfügbar", + "educational_percent_discount_applied": "__percent__% Bildungsrabatt angewandt!", + "email": "E-Mail", + "email_already_associated_with": "Die E-Mail-Adresse __email1__ ist bereits mit dem Konto __email2__ __appName__ verknüpft.", + "email_already_registered": "Diese E-Mail-Adresse ist bereits registriert.", + "email_already_registered_secondary": "Diese E-Mail-Adresse ist bereits als sekundäre E-Mail-Adresse registriert", + "email_already_registered_sso": "Diese E-Mail-Adresse wurde bereits registriert. Bitte logge dich auf einem anderen Weg in dein Konto ein und verknüpfe dein Konto über deine Kontoeinstellungen mit dem neuen Anbieter.", + "email_does_not_belong_to_university": "Wir erkennen diese Domain nicht als mit deiner Universität verbunden an. Bitte kontaktiere uns, um die Zugehörigkeit hinzuzufügen.", + "email_limit_reached": "Du kannst maximal <0>__emailAddressLimit__ E-Mail-Adressen pro Konto hinzufügen. Um eine andere E-Mail-Adresse hinzuzufügen, lösche bitte zuerst eine bestehende.", + "email_link_expired": "E-Mail-Link ist abgelaufen, bitte fordere einen neuen an.", + "email_or_password_wrong_try_again": "Deine E-Mail-Adresse oder Passwort waren falsch. Bitte versuche es erneut.", + "email_or_password_wrong_try_again_or_reset": "Deine E-Mail-Adresse oder dein Passwort ist falsch. Bitte versuche es erneut oder <0>setze dein Password zurück.", + "email_required": "E-Mail-Adresse erforderlich", + "email_sent": "E-Mail versendet", + "emails": "E-Mails", + "emails_and_affiliations_explanation": "Füge deinem Konto zusätzliche E-Mail-Adressen hinzu, um auf Upgrades deiner Universität oder Institution zuzugreifen, um es Mitarbeitern zu erleichtern, dich zu finden, und um sicherzustellen, dass du dein Konto wiederherstellen kannst.", + "emails_and_affiliations_title": "E-Mails-Adressen und Zugehörigkeiten", + "empty_zip_file": "ZIP enthält keine Datei", + "en": "Englisch", + "enabling": "Wird aktiviert", + "end_of_document": "Ende des Dokuments", + "enter_image_url": "Bild-URL eingeben", + "enter_your_email_address": "Gib deine E-Mail-Adresse ein", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Gib deine E-Mail-Adresse unten ein, und wir senden Dir einen Link zum Zurücksetzen deines Passworts", + "enter_your_new_password": "Gib dein Passwort ein", + "error": "Fehler", + "error_performing_request": "Bei der Ausführung deiner Anfrage ist ein Fehler aufgetreten.", + "es": "Spanisch", + "every": "pro", + "example": "Beispiel", + "example_project": "Beispielprojekt", + "examples": "Beispiele", + "existing_plan_active_until_term_end": "Dein bestehendes Abonnement und dessen Funktionen bleiben bis zum Ende des aktuellen Abrechnungszeitraums aktiv.", + "expand": "Ausklappen", + "expires": "Läuft ab", + "expiry": "Ablaufdatum", + "export_csv": "CSV-Datei exportieren", + "export_project_to_github": "Projekt nach GitHub exportieren", + "faq_change_plans_or_cancel_answer": "Ja, du kannst dies jederzeit über deine Abonnementeinstellungen tun. Du kannst Abonnements ändern, zwischen monatlichen und jährlichen Abrechnungsoptionen wechseln oder kündigen, um ein Downgrade auf die kostenlose Version durchzuführen. Wenn du kündigst, läuft dein Abonnement bis zum Ende des Abrechnungszeitraums. Wenn dein Konto vorübergehend kein Abonnement hat, ändern sich nur die dir zur Verfügung stehenden Funktionen. Deine Projekte sind immer in deinem Konto verfügbar.", + "faq_change_plans_or_cancel_question": "Kann ich Abonnements ändern oder später stornieren?", + "faq_do_collab_need_on_paid_plan_answer": "Nein, sie können in jedem Abonnement enthalten sein, einschließlich der kostenlosen Version. Wenn du einen Premium-Abonnement hast, stehen deinen Mitarbeitern in Projekten, die du erstellt hast, einige Premiumfunktionen zur Verfügung, auch wenn diese Mitarbeiter ein kostenloses Abonnement haben. Weitere Informationen findest du unter <0>Konto und Abonnements und <1>Funktionsweise der Premiumfunktionen.", + "faq_do_collab_need_on_paid_plan_question": "Müssen meine Mitarbeiter auch ein bezahltes Abonnement haben?", + "faq_how_does_a_group_plan_work_answer": "Gruppenabonnements sind eine Möglichkeit, mehr als ein Overleaf-Konto zu aktualisieren. Sie sind einfach zu verwalten, helfen Papierkram zu sparen, und reduzieren die Kosten für den separaten Kauf mehrerer Abonnements. Um mehr zu erfahren, lies über <0>Beitritt zu einem Gruppenabonnement und <1>Verwalten eines Gruppenabonnements. Du kannst Gruppenabonnements oben erwerben oder indem du <2>uns kontaktierst.", + "faq_how_does_a_group_plan_work_question": "Wie funktioniert ein Gruppen-Abonnement? Wie kann ich Personen zum Abonnement hinzufügen?", + "faq_how_does_free_trial_works_answer": "Während deines __len__-tägigen Probe-Abonnements erhältst du vollen Zugriff auf die Funktionen des von dir gewählten __appName__-Abonnements. Es besteht keine Verpflichtung, über die Testperiode hinaus fortzufahren. Deine Karte wird am Ende des __len__-tägigen Testzeitraums belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto.", + "faq_how_free_trial_works_answer_v2": "Du erhältst vollen Zugriff auf das von dir gewählte Premium-Abonnement während deines __len__-tägigen kostenlosen Testzeitraums, und es besteht keine Verpflichtung zur Nutzung über die Testzeit hinaus. Deine Karte wird am Ende deiner Testphase belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto (der Testzeitraum endet erst nach den vollen __len__ Tagen).", + "faq_how_free_trial_works_question": "Wie funktioniert das kostenlose Probe-Abonnement?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In Overleaf erstellt und verwaltet jeder Nutzer sein eigenes Overleaf-Konto. Die meisten Nutzer beginnen mit der kostenlosen Version, können aber ein Upgrade durchführen und die Premiumfunktionen nutzen, indem sie ein Abonnement abschließen, einem Gruppen-Abonnement oder einer <0>standortweiten Abonnement beitreten. Wenn du ein Abonnement kaufst, einem Abonnement beitrittst oder ein Abonnement verlässt, kannst du immer dasselbe Overleaf-Konto behalten.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Um mehr zu erfahren, lies <0>wie Konten und Abonnements in Overleaf zusammenarbeiten.", + "faq_i_have_free_account_want_subscription_how_question": "Ich habe ein kostenloses Konto und möchte einem Abonnement beitreten, wie mache ich das?", + "faq_pay_by_invoice_answer_v2": "Ja, wenn du ein Gruppenabonnement für fünf oder mehr Personen oder eine Standortlizenz erwerben möchtest. Für Einzelabonnements können wir nur Online-Zahlungen per Kredit- oder Debitkarte oder PayPal akzeptieren.", + "faq_pay_by_invoice_question": "Kann ich per Rechnung / Bestellung bezahlen?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nein. Nur das Konto des Abonnenten wird aktualisiert. Mit einem individuellen Standard-Abonnement kannst du 10 Mitarbeiter zu jedem Projekt einladen, das dir gehört.", + "faq_the_individual_standard_plan_10_collab_question": "Das individuelle Standard-Abonnement hat 10 Projektmitarbeiter. Bedeutet das, dass 10 Personen ein Upgrade erhalten?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Während der Arbeit an einem Projekt, das du als Abonnent mit ihnen teilst, können deine Mitarbeiter auf einige Premiumfunktionen wie den vollständigen Dokumentverlauf und die verlängerte Kompilierzeit für dieses bestimmte Projekt zugreifen. Wenn du sie zu einem bestimmten Projekt einlädst, wird für ihre Konten jedoch nicht insgesamt ein Upgrade durchgeführt. Lies <0>welche Funktionen pro Projekt und welche pro Konto gelten.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In Overleaf erstellt jeder Nutzer sein eigenes Konto. Du kannst Projekte erstellen, an denen nur du arbeitest, und du kannst auch andere dazu einladen, Projekte anzusehen oder mit dir an Projekten zu arbeiten, die dir gehören. Nutzer, mit denen du dein Projekt teilst, werden <0>Mitarbeiter genannt. Wir bezeichnen sie auch als Projektmitarbeiter.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Mit anderen Worten, Mitarbeiter sind nur andere Overleaf-Nutzer, mit denen du an einem deiner Projekte arbeitest.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Was ist der Unterschied zwischen Nutzern und Mitarbeitern?", + "fast": "Schnell", + "feature_included": "Funktion enthalten", + "feature_not_included": "Funktion nicht enthalten", + "featured": "Vorgestellt", + "featured_latex_templates": "Ausgewählte LaTeX-Vorlagen", + "features": "Features", + "features_and_benefits": "Features & Vorteile", + "february": "Februar", + "file_action_created": "Erstellt", + "file_action_deleted": "Gelöscht", + "file_action_edited": "Bearbeitet", + "file_action_renamed": "Umbenannt", + "file_already_exists": "Eine Datei oder ein Ordner mit diesem Namen existiert bereits", + "file_already_exists_in_this_location": "An diesem Speicherort ist bereits ein Element mit dem Namen <0>__fileName__ vorhanden. Wenn du diese Datei verschieben möchtest, benenne die in Konflikt stehende Datei um oder entferne sie und versuche es erneut.", + "file_name": "Dateiname", + "file_name_figure_modal": "Dateiname", + "file_name_in_this_project": "Dateiname in diesem Projekt", + "file_name_in_this_project_figure_modal": "Dateiname in diesem Projekt", + "file_outline": "Gliederung", + "file_size": "Dateigröße", + "file_too_large": "Datei zu groß", + "files_cannot_include_invalid_characters": "Der Dateiname ist leer oder enthält ungültige Zeichen", + "files_selected": "Dateien ausgewählt.", + "filters": "Filter", + "find_out_more": "Finde mehr heraus", + "find_out_more_about_institution_login": "Erfahre mehr über den institutionellen Login", + "find_out_more_about_the_file_outline": "Erfahre mehr über die Gliederung", + "find_out_more_nt": "Finde mehr heraus.", + "first_name": "Vorname", + "fold_line": "Zeile einklappen", + "folder_location": "Ordnerplatzierung", + "folders": "Ordner", + "following_paths_conflict": "Die folgenden Dateien und Ordner weisen Konflikte mit dem gleichen Pfad auf", + "font_family": "Schriftfamilie", + "font_size": "Schriftgröße", + "footer_about_us": "Über uns", + "footer_contact_us": "Kontaktiere uns", + "footer_plans_and_pricing": "Abos & Preise", + "for_enterprise": "Für Unternehmen", + "for_groups_or_site_wide": "Für Gruppen oder standortweit", + "for_individuals_and_groups": "Für Einzelpersonen & Gruppen", + "for_publishers": "Für Verlage", + "for_students": "Für Studierende", + "for_students_only": "Nur für Studierende", + "for_teaching": "Für die Lehre", + "for_universities": "Für Universitäten", + "forgot_your_password": "Passwort vergessen", + "four_minutes": "4 Minuten", + "fr": "Französisch", + "free": "Kostenlos", + "free_dropbox_and_history": "Kostenloser Dropbox und Dateiversionsverlauf", + "free_plan_label": "Du nutzt die kostenlose Version", + "free_plan_tooltip": "Klicke hier, um herauszufinden, was Dir die Overleaf-Premiumfunktionen ermöglichen.", + "from_another_project": "Von einem anderen Projekt", + "from_external_url": "Von externer URL", + "from_provider": "Von __provider__", + "full_doc_history": "Vollständiger Versionsverlauf", + "full_doc_history_info_v2": "Du kannst alle Bearbeitungen in deinem Projekt sehen und, wer jede Änderung vorgenommen hat. Füge Labels hinzu, um schnell auf bestimmte Versionen zuzugreifen.", + "full_document_history": "Gesamter Dokumenten-<0>Änderungsverlauf", + "full_width": "Volle Breite", + "gallery": "Gallerie", + "gallery_find_more": "Mehr __itemPlural__ anzeigen", + "gallery_items_tagged": "__itemPlural__ in der Kategorie __title__", + "gallery_page_items": "Galerieelemente", + "gallery_page_summary": "Ein Gallerie mit aktuellen und stilvollen LaTeX-Vorlagen, Beispielen, die beim Lernen von LaTeX unterstützen, und Papers und Präsentationen, veröffentlicht von unseren Nutzern. Suchen oder unten durchblättern.", + "gallery_page_title": "Gallerie – Vorlagen, Beispiele und Artikel verfasst in LaTeX", + "gallery_show_all": "Zeige alle __itemPlural__", + "generate_token": "Token generieren", + "generic_if_problem_continues_contact_us": "Wenn das Problem weiterhin besteht, kontaktiere uns bitte", + "generic_linked_file_compile_error": "Die Ausgabedateien dieses Projekts sind nicht verfügbar, da sie nicht kompiliert werden konnten. Öffne das Projekt, um die Fehlerdetails des Kompiliervorgangs anzuzeigen.", + "generic_something_went_wrong": "Sorry, irgendetwas ist schief gelaufen", + "get_collaborative_benefits": "Profitiere von den kollaborativen Vorteilen von __appName__, auch wenn du lieber offline arbeitest", + "get_discounted_plan": "Erhalte ein heruntergesetztes Abonnement", + "get_in_touch": "Kontaktiere uns", + "get_in_touch_having_problems": "Wende dich an den Support, wenn du Probleme hast", + "get_involved": "Mach mit", + "get_most_subscription_by_checking_features": "Hole das meiste aus deinem __appName__-Abonnement heraus, indem Du dir die <0>__appName__-Funktionen ansiehst.", + "get_the_most_out_headline": "Hole das meiste aus __appName__ mit Funktionen wie:", + "git": "Git", + "git_authentication_token": "Git Anmeldungs-Token", + "git_authentication_token_create_modal_info_1": "Das ist dein Git Anmeldungs-Token. Verwende ihn wenn Du nach einem Passwort gefragt wirst.", + "git_authentication_token_create_modal_info_2": "<0>Du bekommst diesen Anmelde-Token nur einmal angezeigt, bitte kopiere ihn und bewahre ihn sicher auf. Für weitere Anweisungen zur Verwendung von Anmelde-Tokens, besuche unsere <1>Hilfe-Seite.", + "git_bridge_modal_click_generate": "Klicke jetzt auf Token generieren um deinen ersten Anmeldungs-Token zu erstellen. Oder erstelle ihn später in deinen Kontoeinstellungen.", + "git_bridge_modal_enter_authentication_token": "Wenn Du nach einem Passwort gefragt wirst, gib deinen neuen Anmeldungs-Token ein:", + "git_bridge_modal_see_once": "Du siehst diesen Token nur einmal. Um ihn zu löschen oder einen weiteren zu generieren, besuche die Kontoeinstellungen. Für detaillierte Anweisungen und Problembehebung, besuche unsere <0>Hilfe-Seite.", + "git_bridge_modal_use_previous_token": "Wenn Du nach einem Passwort gefragt wirst, kannst Du einen zuvor generierten Git-Anmeldungs-Token verwenden. Oder Du kannst einen Neuen in den Kontoeinstellungen generieren. Für mehr Hilfe, besuche unsere <0>Hilfe-Seite.", + "git_integration": "Git-Integration", + "git_integration_info": "Mit der Git-Integration kannst Du Overleaf-Projekte Git-clonen. Für weitere Anweisungen hierfür, besuche <0>unsere Hilfe-Seite.", + "git_integration_lowercase": "Git-Integration", + "git_integration_lowercase_info": "Du kannst dein Overleaf-Projekt in ein lokales Repository klonen und dein Overleaf-Projekt als entferntes Repository behandeln, in das Änderungen verschoben und aus dem diese abgerufen werden können.", + "github_commit_message_placeholder": "Commit-Meldung für Änderungen die in __appName__ gemacht wurden", + "github_credentials_expired": "Deine GitHub-Autorisierungsschlüssel sind abgelaufen", + "github_empty_repository_error": "Es sieht so aus, als sei dein GitHub-Repository leer oder noch nicht verfügbar. Erstelle eine neue Datei auf GitHub.com und versuche es erneut.", + "github_file_name_error": "Dein Projekt kann nicht importiert werden, da es eine oder mehrere Dateien mit ungültigen Dateinamen enthält:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- und <0>Dropbox-Integrationen", + "github_git_folder_error": "Dieses Projekt enthält auf der obersten Ebene einen .git-Ordner, was darauf hinweist, dass es sich bereits um ein Git-Repository handelt. Der GitHub-Synchronisierungsdienst von Overleaf kann keine Git-Verläufe synchronisieren. Bitte entferne den .git-Ordner and versuche es erneut.", + "github_integration_lowercase": "Git- und GitHub-Integration", + "github_is_premium": "GitHub-Sync ist eine Premiumfunktion", + "github_large_files_error": "Zusammenführung fehlgeschlagen: Dein GitHub-Repository enthält Dateien mit einer Dateigröße von mehr als 50 MB", + "github_merge_failed": "Deine Änderungen in __appName__ und GitHub konnten nicht automatisch zusammengeführt werden. Bitte führe den <0>__sharelatex_branch__ mit dem Standard-Branch in Git zusammen. Klicke unten um fortzufahren, nachdem du manuell zusammengeführt hast.", + "github_no_master_branch_error": "Dieses Repository kann nicht importiert werden, da ihm ein Standard-Branch fehlt. Stell sicher, dass das Projekt einen Standard-Branch hat", + "github_only_integration_lowercase": "GitHub-Integration", + "github_only_integration_lowercase_info": "Verknüpfe deine Overleaf-Projekte direkt mit einem GitHub-Repository, das als Remote-Repository für dein Overleaf-Projekt fungiert. Dies ermöglicht dir die gemeinsame Nutzung mit Mitarbeitern außerhalb von Overleaf und die Integration von Overleaf in komplexere Arbeitsabläufe.", + "github_private_description": "Du wählst, wer dieses Repository sehen und etwas übergeben kann.", + "github_public_description": "Jeder kann dieses Repository sehen. Du entscheidest wer committen darf.", + "github_repository_diverged": "Der Standard-Branch des verknüpften Repositorys wurde forciert gepusht. Das Pullen von GitHub-Änderungen nach einem forciertem Push kann dazu führen, dass Overleaf und GitHub nicht mehr synchron sind. Möglicherweise musst du Änderungen nach dem Pullen erneut Pushen um wieder synchron zu sein", + "github_successfully_linked_description": "Danke, wir haben dein GitHub-Nutzerkonto erfolgreich mit __appName__ verknüpft. Du kannst die __appName__-Projekte jetzt in GitHub exportieren oder Projekte aus deinen GitHub-Repositories importieren.", + "github_symlink_error": "Dein GitHub-Repository enthält Dateien mit symbolischen Links, was derzeit von Overleaf nicht unterstützt wird. Entferne diese und versuche es erneut.", + "github_sync": "GitHub Synchronisierung", + "github_sync_description": "Mit GitHub-Synchronisierung kannst du deine __appName__-Projekte mit GitHub-Repositories verlinken. Erstelle neue Commits aus __appName__ und führe sie mit Commits in GitHub zusammen.", + "github_sync_error": "Entschuldigung, es gab ein Problem mit unserem GitHub-Dienst. Bitte versuche es später erneut.", + "github_sync_repository_not_found_description": "Das verknüpfte Repository wurde entweder entfernt oder du hast keinen Zugriff mehr darauf. Du kannst die Synchronisierung mit einem neuen Repository einrichten, indem du das Projekt klonst und den Menüpunkt „GitHub“ verwendest. Du kannst das Repository auch von diesem Projekt trennen.", + "github_timeout_error": "Zeitüberschreitung beim Synchronisieren deines Overleaf-Projekts mit GitHub. Dies kann daran liegen, dass die Gesamtgröße deines Projekts oder die Anzahl der zu synchronisierenden Dateien/Änderungen zu groß ist.", + "github_too_many_files_error": "Dieses Repository kann nicht importiert werden, da es die maximal zulässige Anzahl von Dateien überschreitet", + "github_validation_check": "Bitte prüfe ob der Repository-Name gültig ist und ob du die Rechte hast ein Git-Repository zu erstellen.", + "github_workflow_authorize": "Autorisiere GitHub-Workflow-Dateien", + "github_workflow_files_delete_github_repo": "Das Repository wurde auf GitHub erstellt, aber die Verknüpfung war nicht erfolgreich. Lösche das GitHub-Repository oder wähle einen neuen Namen.", + "github_workflow_files_error": "Der GitHub-Synchronisierungsdienst __appName__ konnte GitHub-Workflow-Dateien (in .github/workflows/) nicht synchronisieren. Autorisiere __appName__ zum Bearbeiten deiner GitHub-Workflow-Dateien und versuche es erneut.", + "give_feedback": "Feedback geben", + "global": "global", + "go_back_and_link_accts": "Gehe zurück und verknüpfe deine Konten", + "go_next_page": "Gehe zur nächsten Seite", + "go_page": "Gehe zu Seite __page__", + "go_prev_page": "Zurück zur vorigen Seite", + "go_to_account_settings": "Gehe zu den Kontoeinstellungen", + "go_to_code_location_in_pdf": "Gehe ins PDF an der Code-Position", + "go_to_pdf_location_in_code": "Gehe zum Code an der PDF-Position", + "go_to_settings": "Zu den Kontoeinstellungen", + "group_admin": "Gruppenadministrator", + "group_admins_get_access_to": "Gruppenadministratoren erhalten darauf Zugriff", + "group_admins_get_access_to_info": "Spezielle Funktionen, die nur bei Gruppen-Abonnements verfügbar sind.", + "group_full": "Diese Gruppe ist bereits voll", + "group_members_and_collaborators_get_access_to": "Gruppenmitglieder und ihre Projektmitarbeiter erhalten darauf Zugriff", + "group_members_get_access_to": "Gruppenmitglieder erhalten darauf Zugriff", + "group_members_get_access_to_info": "Diese Funktionen stehen nur Gruppenmitgliedern (Abonnenten) zur Verfügung.", + "group_plan_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied eines Gruppen-Abonnements. Klicke hier um herauszufinden, was Dir die Overleaf-Premiumfunktionen ermöglichen.", + "group_plan_with_name_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied des Gruppen-Abonnements __groupName__. Klicke hier um herauszufinden, was Dir die Overleaf Premiumfunktionen ermöglichen.", + "group_plans": "Gruppen-Abonnements", + "group_professional": "Gruppe Professionell", + "group_standard": "Gruppe Standard", + "group_subscription": "Gruppen-Abonnement", + "groups": "Gruppen", + "have_an_extra_backup": "Zusätzliche Sicherung vorhanden", + "have_more_days_to_try": "Hol dir weitere __days__ Tage auf deiner Testversion!", + "headers": "Überschriften", + "help": "Hilfe", + "help_articles_matching": "Hilfeartikel passend zu deinem Thema", + "help_improve_overleaf_fill_out_this_survey": "Wenn du uns helfen möchtest, Overleaf zu verbessern, nimm dir bitte einen Moment Zeit, um <0>diese Umfrage auszufüllen.", + "hide_document_preamble": "Dokumentenpräambel verstecken", + "hide_outline": "Gliederung ausblenden", + "history": "Verlauf", + "history_add_label": "Label hinzufügen", + "history_adding_label": "Label hinzufügen", + "history_are_you_sure_delete_label": "Soll das folgende Label wirklich gelöscht werden?", + "history_compare_from_this_version": "Ab dieser Version vergleichen", + "history_compare_up_to_this_version": "Bis zu dieser Version vergleichen", + "history_delete_label": "Label löschen", + "history_deleting_label": "Label löschen", + "history_download_this_version": "Diese Version herunterladen", + "history_entry_origin_dropbox": "über Dropbox", + "history_entry_origin_git": "über Git", + "history_entry_origin_github": "über GitHub", + "history_entry_origin_upload": "hochgeladen", + "history_label_created_by": "Erstellt von", + "history_label_project_current_state": "Aktueller Status", + "history_label_this_version": "Label dieser Version", + "history_new_label_name": "Neuer Labelname", + "history_view_a11y_description": "Zeige den gesamten Projektverlauf oder nur gelabelte Versionen an.", + "history_view_all": "Gesamte Historie", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Enter drücken, um zu antworten", + "home": "Home", + "hotkey_add_a_comment": "Kommentar hinzufügen", + "hotkey_autocomplete_menu": "Menü automatische Vervollständigung", + "hotkey_beginning_of_document": "Beginn des Dokuments", + "hotkey_bold_text": "Fetter Text", + "hotkey_compile": "Kompilieren", + "hotkey_delete_current_line": "Aktuelle Zeile löschen", + "hotkey_end_of_document": "Ende des Dokuments", + "hotkey_find_and_replace": "Suchen und Ersetzen", + "hotkey_go_to_line": "Gehe zu Zeile", + "hotkey_indent_selection": "Auswahl einrücken", + "hotkey_insert_candidate": "Kandidat einfügen", + "hotkey_italic_text": "Kursiver Text", + "hotkey_redo": "Wiederholen", + "hotkey_search_references": "Referenzen suchen", + "hotkey_select_all": "Alles auswählen", + "hotkey_select_candidate": "Kandidat auswählen", + "hotkey_to_lowercase": "In Kleinbuchstaben", + "hotkey_to_uppercase": "In Großbuchstaben", + "hotkey_toggle_comment": "Kommentar umschalten", + "hotkey_toggle_review_panel": "Überprüfungsbereich umschalten", + "hotkey_toggle_track_changes": "Änderungen nachverfolgen umschalten", + "hotkey_undo": "Rückgängig machen", + "hotkeys": "Hotkeys", + "how_to_create_tables": "So erstellst du Tabellen", + "how_to_insert_images": "So fügst du Bilder ein", + "hundreds_templates_info": "Erstelle schöne Dokumente ausgehend von unserer Galerie mit LaTeX-Vorlagen für Zeitschriften, Konferenzen, Abschlussarbeiten, Berichte, Lebensläufe und vieles mehr.", + "i_want_to_stay": "Ich möchte bleiben", + "if_have_existing_can_link": "Wenn du ein vorhandenes __appName__-Konto mit einer anderen E-Mail-Adresse hast, kannst du es mit deinem __institutionName__-Konto verknüpfen, indem du auf „__clickText__“ klickst.", + "if_owner_can_link": "Wenn du das __appName__ Konto mit __email__ besitzt, kannst du es mit deinem institutionellen Konto __institutionName__ verknüpfen.", + "ignore_and_continue_institution_linking": "Du kannst dies auch ignorieren und weiter zu __appName__ mit deinem __email__-Konto gehen.", + "ignore_validation_errors": "Syntaxüberprüfung deaktivieren", + "ill_take_it": "Ich nehme es!", + "image_file": "Bild-Datei", + "image_url": "Bild-URL", + "image_width": "Bildbreite", + "import_from_github": "Von GitHub importieren", + "import_to_sharelatex": "In __appName__ importieren", + "imported_from_another_project_at_date": "Importiert aus <0>einem anderen Projekt /__sourceEntityPathHTML__, am __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importiert aus <0>__shortenedUrlHTML__ am __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importiert von Mendeley am __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importiert aus der Ausgabe von <0>einem anderen Projekt: __sourceOutputFilePathHTML__, am __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importiert von Zotero at __formattedDate__ __relativeDate__", + "importing": "Importieren", + "importing_and_merging_changes_in_github": "Änderungen werden in GitHub importiert und zusammengeführt.", + "in_good_company": "Du bist in guter Gesellschaft", + "in_order_to_have_a_secure_account_make_sure_your_password": "Um dein Konto abzusichern, stelle sicher, dass dein Passwort", + "in_order_to_match_institutional_metadata_2": "Um deine institutionellen Metadaten abzugleichen, haben wir dein Konto mit <0>__email__ verknüpft.", + "in_order_to_match_institutional_metadata_associated": "Um deine institutionellen Metadaten abzugleichen, wird dein Konto mit der E-Mail-Adresse __email__ verknüpft.", + "include_caption": "Beschriftung anzeigen", + "include_label": "Label anzeigen", + "increased_compile_timeout": "Zeitlimit beim Kompilieren erhöhen", + "indvidual_plans": "Einzelnutzer-Abonnements", + "info": "Info", + "insert_figure": "Abbildung einfügen", + "insert_from_another_project": "Von einem anderen Projekt einfügen", + "insert_from_project_files": "Von Projektdateien einfügen", + "insert_from_url": "Von URL einfügen", + "insert_image": "Bild einfügen", + "institution": "Institution", + "institution_account": "Institutionelles Konto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Diese E-Mail-Adresse ist deinem Konto bereits verknüpft, aber einer anderen Institution zugeordnet.", + "institution_account_tried_to_add_already_linked": "Diese Institution ist über eine andere E-Mail-Adresse bereits mit deinem Konto verknüpft.", + "institution_account_tried_to_add_already_registered": "Die E-Mail-Adresse oder das institutionelle Konto, das du hinzufügen möchtest, ist bei __appName__ bereits registriert.", + "institution_account_tried_to_add_not_affiliated": "Diese E-Mail-Adresse ist bereits mit deinem Konto verknüpft, aber nicht mit dieser Institution verbunden.", + "institution_account_tried_to_confirm_saml": "Diese E-Mail-Adresse kann nicht bestätigt werden. Bitte entferne die E-Mail-Adresse aus deinem Konto und versuche sie erneut hinzuzufügen.", + "institution_acct_successfully_linked_2": "Dein Konto <0>__appName__ wurde erfolgreich mit deinem institutionellen Konto <0>__institutionName__ verknüpft.", + "institution_and_role": "Institution und Rolle", + "institution_email_new_to_app": "Deine __institutionName__-E-Mail-Adresse (__email__) ist neu bei __appName__.", + "institution_templates": "Institutionsvorlagen", + "institutional": "Institutionell", + "institutional_leavers_survey_notification": "Gib ein kurzes Feedback, um 25 % Rabatt auf ein Jahresabonnement zu erhalten!", + "institutional_login_not_supported": "Deine Universität unterstützt noch keinen institutionellen Login, aber du kannst dich trotzdem mit deiner institutionellen E-Mail-Adresse registrieren.", + "institutional_login_unknown": "Leider wissen wir nicht, welche Institution diese E-Mail-Adresse ausgegeben hat. Du kannst unsere Liste der Institutionen durchsuchen, um deine zu finden, oder du kannst eine der anderen Optionen nutzen.", + "integrations": "Integrationen", + "interested_in_cheaper_personal_plan": "Hast Du Interesse, am günstigeren <0>__price__ Persönlich-Abonnement?", + "invalid_email": "Eine E-Mail-Adresse ist ungültig", + "invalid_file_name": "Ungültiger Dateiname", + "invalid_filename": "Hochladen fehlgeschlagen: Überprüfe, ob der Dateiname keine Sonderzeichen, nachfolgende/vorangehende Leerzeichen oder mehr als __nameLimit__ Zeichen enthält", + "invalid_institutional_email": "Der SSO-Dienst deiner Institution hat deine E-Mail-Adresse als __email__ zurückgegeben, welche sich in einer unerwarteten Domäne befindet, die wir nicht als zugehörig erkennen. Möglicherweise kannst du deine primäre E-Mail-Adresse über dein Benutzerprofil ändern.", + "invalid_password": "Falsches Passwort", + "invalid_password_contains_email": "Das Passwort darf nicht Teile deiner E-Mail-Adresse enthalten", + "invalid_password_invalid_character": "Das Passwort enthält ein ungültiges Zeichen", + "invalid_password_not_set": "Passwort wird benötigt", + "invalid_password_too_long": "Maximale Passwortlänge __maxLength__ überschritten", + "invalid_password_too_short": "Passwort zu kurz, mindestens __minLength__", + "invalid_password_too_similar": "Passwort ist zu ähnlich zu Teilen deiner E-Mail-Adresse", + "invalid_request": "Ungültige Anfrage. Bitte korrigiere die Daten und versuche es erneut.", + "invalid_zip_file": "Ungültige ZIP-Datei", + "invite_more_collabs": "Lade weitere Mitarbeiter ein", + "invite_not_accepted": "Einladung noch nicht angenommen", + "invite_not_valid": "Dies ist keine gültige Projekteinladung", + "invite_not_valid_description": "Die Einladung ist wahrscheinlich abgelaufen. Bitte kontaktiere den Projektbesitzer", + "invited_to_group": "<0>__inviterName__ hat dich eingeladen, einem Team auf __appName__ beizutreten", + "invited_to_group_login": "Um diese Einladung anzunehmen, melde dich als __emailAddress__ an.", + "invited_to_group_login_benefits": "Als Mitglied dieser Gruppe hast Du Zugriff auf __appName__-Premiumfunktionen wie zusätzliche Mitarbeiter, ein höheres Zeitlimit beim Kompilieren und die Nachverfolgung von Änderungen in Echtzeit.", + "invited_to_group_register": "Um die Einladung von __inviterName__ anzunehmen, erstelle zunächst ein Konto.", + "invited_to_group_register_benefits": "__appName__ ist ein kollaborativer Online-LaTeX-Editor, mit tausenden an sofort verfügbaren Vorlagen und einer großen Auswahl an Lernmaterial für den Einstieg in LaTeX.", + "invited_to_join": "Du wurdest zu einem Projekt eingeladen", + "ip_address": "IP-Adresse", + "is_email_affiliated": "Ist deine E-Mail-Adresse mit einer Institution verbunden?", + "is_longer_than_n_characters": "mindestens __n__ Zeichen lang ist", + "is_not_used_on_any_other_website": "nicht bereits bei einer anderen Webseite verwendet wird", + "it": "Italienisch", + "ja": "Japanisch", + "january": "Januar", + "join_beta_program": "Nimm am Beta-Programm teil", + "join_project": "Projekt beitreten", + "join_sl_to_view_project": "Registriere dich für __appName__, um dieses Projekt zu sehen", + "join_team_explanation": "Bitte klicke auf die Schaltfläche unten, um dem Team beizutreten und die Vorteile eines hochgestuften __appName__-Kontos zu genießen", + "joined_team": "Du bist dem von __inviterName__ verwalteten Team beigetreten", + "joining": "Trete bei", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Hast du dir schon <0>__kbLink__ angeschaut?", + "keep_current_plan": "Behalte mein aktuelles Abonnement", + "keep_your_account_safe": "Schütze dein Konto", + "keep_your_email_updated": "Halte deine E-Mail-Adresse auf dem aktuellen Stand, damit du den Zugriff auf dein Konto und deine Daten nicht verlierst.", + "keybindings": "Tastenkombinationen", + "knowledge_base": "Wissensdatenbank", + "ko": "Koreanisch", + "labels_help_you_to_easily_reference_your_figures": "Labels helfen Dir dabei, Referenzen zu deinen Abbildungen in deinem Dokument zu platzieren. Um eine Referenz zu einer Abbildung zu erstellen, nutze das Label mit dem Kommando <0>\\ref{...}. Das macht es einfach, Abbildungen zu referenzieren, ohne sich ihre Nummer merken zu müssen. <1>Mehr erfahren", + "labs_program_benefits": "__appName__ sucht stetig nach neuen Möglichkeiten, das Arbeiten seiner Nutzer zu erleichtern. Indem Du dem Overleaf-Labs-Programm beitrittst, kannst Du an Experimenten teilnehmen, die innovative Ideen im Bereich des kollaborativen Schreibens und Veröffentlichens umsetzen.", + "language": "Sprache", + "last_active": "Letzte Aktivität", + "last_active_description": "Letzter Zugriff auf ein Projekt", + "last_modified": "Zuletzt bearbeitet", + "last_name": "Nachname", + "last_resort_trouble_shooting_guide": "Wenn das nicht hilft, folge unserem <0>Troubleshooting-Guide.", + "last_updated": "Letzte Aktualisierung", + "last_updated_date_by_x": "__lastUpdatedDate__ von __person__", + "last_used": "Zuletzt verwendet", + "latex_articles_page_summary": "Papers, Präsentationen, Berichte und mehr, verfasst in LaTeX und veröffentlicht von unseren Nutzern. Suchen oder unten durchblättern.", + "latex_articles_page_title": "Artikel – Papers, Präsentationen, Berichte und mehr", + "latex_examples_page_summary": "Beispiele für mächtigen LaTeX Paketen and Anwendung von Techniken — eine tolle Möglichkeit an Hand von Beispielen LaTeX zu lernen. Suchen oder unten durchblättern.", + "latex_examples_page_title": "Beispiele - Gleichungen, Formatierung, TikZ, Pakete und mehr", + "latex_in_thirty_minutes": "LaTeX in 30 Minuten", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX platziert Abbildungen nach einem speziellen Algorithmus. Du kannst mit sogenannten ‘placement parameters’ die Position deiner Abbildungen beeinflussen. <0>Finde heraus wie", + "latex_templates": "LaTeX-Vorlagen", + "layout": "Layout", + "layout_processing": "Layout wird angewandt", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Wähle eine E-Mail-Adresse für das erste __appName__-Admin-Konto. Dieser sollte bereits im SAML-System vorhanden sein. Du wirst dann aufgefordert, dich mit diesem Konto einzuloggen.", + "learn": "Lernen", + "learn_more": "Erfahre mehr", + "learn_more_about_emails": "<0>Weitere Informationen zur Verwaltung deiner __appName__-E-Mails.", + "learn_more_about_link_sharing": "Erfahre mehr über die Linkfreigabe", + "learn_more_lowercase": "erfahre mehr", + "leave": "Verlassen", + "leave_group": "Gruppe verlassen", + "leave_now": "Jetzt verlassen", + "leave_projects": "Projekte verlassen", + "let_us_know": "Lass uns wissen", + "let_us_know_what_you_think": "Teile uns deine Meinung mit", + "license": "Lizenz", + "license_for_educational_purposes": "Dieses Abonnement ist für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die __appName__ im Unterricht verwenden)", + "limited_offer": "Limitiertes Angebot", + "line_height": "Zeilenhöhe", + "link": "Verknüpfen", + "link_account": "Konto verknüpfen", + "link_accounts": "Konten verknüpfen", + "link_accounts_and_add_email": "Konten verknüpfen und E-Mail-Adresse hinzufügen", + "link_institutional_email_get_started": "Verknüpfe eine institutionelle E-Mail-Adresse mit deinem Konto, um anzufangen.", + "link_sharing": "Linkfreigabe", + "link_sharing_is_off": "Die Linkfreigabe ist deaktiviert, nur eingeladene Nutzer können dieses Projekt anzeigen.", + "link_sharing_is_on": "Linkfreigabe ist aktiviert", + "link_to_github": "Verbinde mit deinem GitHub-Nutzerkonto", + "link_to_github_description": "Du musst __appName__ erlauben, auf dein GitHub-Nutzerkonto zuzugreifen und deine Projekte zu synchronisieren.", + "link_to_mendeley": "Link zu Mendeley", + "link_to_zotero": "Link zu Zotero", + "link_your_accounts": "Verknüpfe deine Konten", + "linked_accounts": "Verbundene Konten", + "linked_accounts_explained": "Du kannst dein __appName__-Konto mit anderen Diensten verknüpfen, um die unten beschriebenen Funktionen zu aktivieren.", + "linked_collabratec_description": "Verwende Collabratec, um deine __appName__-Projekte zu verwalten.", + "linked_file": "Importierte Datei", + "links": "Links", + "loading": "Laden", + "loading_content": "Erstelle Projekt", + "loading_github_repositories": "Deine GitHub-Repositories werden geladen", + "loading_prices": "Preise werden geladen", + "loading_recent_github_commits": "Neueste Commits werden geladen", + "log_entry_description": "Protokolleintrag mit Level: __level__", + "log_entry_maximum_entries": "Maximale Anzahl an Protokolleinträgen erreicht", + "log_entry_maximum_entries_enable_stop_on_first_error": "Versuche, den ersten Fehler zu beheben und neu zu kompilieren. Oft führt der erste Fehler zu vielen Fehlermeldungen im weiteren Verlauf. Du kannst <0>„Beim ersten Fehler anhalten“ aktivieren, um dich auf das Beheben von Fehlern zu fokussieren. Wir empfehlen, Fehler direkt zu beheben; wenn sich viele Fehler ansammeln, wird es schwerer sie zu beheben. <1>Mehr erfahren", + "log_entry_maximum_entries_title": "__total__ Protokollmeldungen insgesamt, zeige die ersten __displayed__", + "log_hint_extra_info": "Erfahre mehr", + "log_in": "Anmelden", + "log_in_and_link": "Anmelden und verknüpfen", + "log_in_and_link_accounts": "Anmelden und Konten verknüpfen", + "log_in_first_to_proceed": "Du musst dich zuerst anmelden, um fortzufahren.", + "log_in_with": "Einloggen mit __provider__", + "log_in_with_email": "Melde dich mit __email__ an", + "log_in_with_existing_institution_email": "Bitte melde dich mit deinem bestehenden __appName__-Konto an, um deine institutionellen Konten __appName__ und __institutionName__ zu verknüpfen.", + "log_out": "Abmelden", + "log_out_from": "Von __email__ abmelden", + "log_viewer_error": "Beim Anzeigen der Kompilierfehler und -protokolle dieses Projekts ist ein Problem aufgetreten.", + "logged_in_with_email": "Du bist derzeit mit der E-Mail-Adresse __email__ bei __appName__ angemeldet.", + "logging_in": "Anmeldung", + "login": "Anmelden", + "login_error": "Login-Fehler", + "login_failed": "Login fehlgeschlagen", + "login_here": "Hier anmelden", + "login_or_password_wrong_try_again": "Deine E-Mail-Adresse oder Passwort ist nicht korrekt. Bitte versuche es erneut", + "login_register_or": "oder", + "login_to_overleaf": "Bei Overleaf anmelden", + "login_with_service": "Mit __service__ anmelden", + "logs_and_output_files": "Logs und Ausgabedateien", + "looking_multiple_licenses": "Suchst du mehrere Lizenzen?", + "looks_like_logged_in_with_email": "Anscheinend bist du bereits mit der E-Mail-Adresse __email__ bei __appName__ angemeldet.", + "looks_like_youre_at": "Anscheinend bist du bei <0>__institutionName__!", + "lost_connection": "Verbindung verloren", + "main_document": "Hauptdokument", + "main_file_not_found": "Unbekanntes Hauptdokument", + "maintenance": "Wartungsarbeiten", + "make_email_primary_description": "Mache diese zur primären E-Mail-Adresse, die zum Anmelden verwendet wird", + "make_primary": "Als primär festlegen", + "make_private": "Privat machen", + "manage_beta_program_membership": "Beta-Programm-Mitgliedschaft verwalten", + "manage_files_from_your_dropbox_folder": "Verwalte Dateien aus deinem Dropbox-Ordner", + "manage_newsletter": "Verwalte deine Newsletter-Einstellungen", + "manage_sessions": "Sessions verwalten", + "manage_subscription": "Abo verwalten", + "managers_cannot_remove_admin": "Administratoren können nicht entfernt werden", + "managers_cannot_remove_self": "Manager können sich nicht selbst entfernen", + "managers_management": "Managerverwaltung", + "march": "März", + "mark_as_resolved": "Als gelöst markieren", + "math_display": "Formeln im abgesetzten Modus", + "math_inline": "Formeln im Zeilenmodus", + "max_collab_per_project": "Maximale Mitarbeiter pro Projekt", + "max_collab_per_project_info": "Anzahl der Personen, die du zur Arbeit an jedem Projekt einladen kannst, sie müssen lediglich ein Overleaf-Konto haben. Es können in jedem Projekt unterschiedliche Personen sein.", + "maximum_files_uploaded_together": "Maximal __max__ Dateien zusammen hochgeladen", + "may": "Mai", + "members_management": "Mitgliederverwaltung", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Beim Laden von Gruppen von Mendeley ist ein Fehler aufgetreten", + "mendeley_groups_relink": "Beim Zugriff auf die Mendeley-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "mendeley_integration": "Mendeley-Integration", + "mendeley_integration_lowercase": "Mendeley-Integration", + "mendeley_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Mendeley und verknüpfe sie direkt mit .bib-Dateien in Overleaf, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "mendeley_is_premium": "Mendeley-Integration ist eine Premiumfunktion", + "mendeley_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "mendeley_reference_loading_error_expired": "Mendeley-Token abgelaufen, bitte verknüpfe dein Konto neu", + "mendeley_reference_loading_error_forbidden": "Referenzen konnten nicht von Mendeley geladen werden. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "mendeley_sync_description": "Mit der Mendeley-Integration kannst du deine Referenzen von Mendeley in deine __appName__-Projekte importieren.", + "menu": "Menü", + "merge": "Mergen", + "merging": "Mergen", + "month": "Monat", + "monthly": "Monatlich", + "more": "Mehr", + "more_info": "Mehr Infos", + "more_than_one_kind_of_snippet_was_requested": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "most_popular": "am beliebtesten", + "must_be_email_address": "Es muss eine E-Mail-Adresse sein!", + "n_items": "__count__ Artikel", + "n_items_plural": "__count__ Artikel", + "name": "Name", + "native": "nativ", + "navigate_log_source": "Navigiere zur Protokollposition im Quellcode: __location__", + "navigation": "Navigation", + "nearly_activated": "Du bist einen Schritt davon entfernt, dein __appName__-Konto zu aktivieren!", + "need_anything_contact_us_at": "Wenn du irgendetwas benötigst, kannst du uns gern direkt kontaktieren über", + "need_more_than_to_licenses_get_in_touch": "Brauchst Du mehr Lizenzen? Bitte kontaktiere uns", + "need_to_add_new_primary_before_remove": "Du musst eine neue primäre E-Mail-Adresse hinzufügen, bevor du diese entfernen kannst.", + "need_to_leave": "Du musst gehen?", + "need_to_upgrade_for_more_collabs": "Du musst dein Konto upgraden um mehr Mitarbeiter hinzuzufügen", + "new_file": "Neue Datei", + "new_folder": "Neuer Ordner", + "new_name": "Neuer Name", + "new_password": "Neues Passwort", + "new_project": "Neues Projekt", + "new_snippet_project": "Ohne Titel", + "new_subscription_will_be_billed_immediately": "Dein neues Abonnement wird umgehend mit deiner aktuellen Zahlungsmethode abgerechnet.", + "newsletter": "Newsletter", + "newsletter_info_note": "Bitte beachte: Du erhältst weiterhin wichtige E-Mails wie Projekteinladungen und Sicherheitsbenachrichtigungen (Passwortzurücksetzung, Kontoverknüpfung usw.).", + "newsletter_info_subscribed": "Du hast den __appName__-Newsletter <0>abonniert. Wenn du diese E-Mails lieber nicht erhalten möchtest, kannst du dich jederzeit abmelden.", + "newsletter_info_summary": "Alle paar Monate versenden wir einen Newsletter mit einer Zusammenfassung der neu verfügbaren Funktionen.", + "newsletter_info_title": "Newsletter-Einstellungen", + "newsletter_info_unsubscribed": "Du bist derzeit vom __appName__-Newsletter <0>abgemeldet.", + "next_payment_of_x_collectected_on_y": "Die nächste Zahlung von <0>__paymentAmmount__ wird am <1>__collectionDate__ abgebucht.", + "nl": "Niederländisch", + "no": "Norwegisch", + "no_articles_matching_your_tags": "Keine Einträge passen zu deinen Filtern", + "no_comments": "Keine Kommentare", + "no_existing_password": "Bitte verwende das Formular zum Zurücksetzen des Passworts, um dein Passwort festzulegen", + "no_featured_templates": "Keine Vorlagen ausgewählt", + "no_members": "Keine Mitglieder", + "no_messages": "Keine Nachrichten", + "no_new_commits_in_github": "Es gibt bei GitHub keine neuen Commits seit dem letzten Merge", + "no_other_projects_found": "Keine anderen Projekte gefunden, bitte erstelle zuerst ein anderes Projekt", + "no_other_sessions": "Keine andere Session aktiv", + "no_pdf_error_explanation": "Dieser Kompiliervorgang hat kein PDF erzeugt. Das kann passieren, wenn:", + "no_pdf_error_reason_no_content": "Die Umgebung document enthält keinen Inhalt. Wenn sie leer ist, füge Inhalt hinzu und kompiliere erneut.", + "no_pdf_error_reason_output_pdf_already_exists": "Dieses Projekt enthält eine Datei output.pdf. Wenn diese Datei existiert, benenne sie um und kompiliere erneut.", + "no_pdf_error_reason_unrecoverable_error": "Es liegt ein nicht behebbarer LaTeX-Fehler vor. Wenn LaTeX-Fehler unten oder in den Raw-Logs angezeigt werden, versuche diese zu beheben und erneut zu kompilieren.", + "no_pdf_error_title": "Kein PDF", + "no_planned_maintenance": "Aktuell sind keine Wartungsarbeiten geplant", + "no_preview_available": "Entschuldigung, es ist keine Vorschau verfügbar.", + "no_projects": "Keine Projekte", + "no_resolved_threads": "Keine gelösten Threads", + "no_search_results": "Keine Suchergebnisse", + "no_selection_select_file": "Derzeit ist keine Datei ausgewählt. Bitte wähle eine Datei aus dem Dateibaum aus.", + "no_symbols_found": "Keine Symbole gefunden", + "no_thanks_cancel_now": "Nein, danke - Ich möchte nach wie vor jetzt stornieren", + "no_update_email": "Nein, E-Mail-Adresse aktualisieren", + "normal": "Normal", + "normally_x_price_per_month": "Normalerweise __price__ pro Monat", + "normally_x_price_per_year": "Normalerweise __price__ pro Jahr", + "not_found_error_from_the_supplied_url": "Der Link zum Öffnen dieses Inhalts auf Overleaf verwies auf eine Datei, die nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "not_now": "Nicht jetzt", + "not_registered": "Nicht registriert", + "notification_features_upgraded_by_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit Overleaf und du hast jetzt Zugriff auf alle „Professionell“-Funktionen von Overleaf.", + "notification_personal_subscription_not_required_due_to_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit Overleaf und du hast jetzt über deine Zugehörigkeit Zugriff auf die „Professionell“-Funktionen von Overleaf. Du kannst dein persönliches Abonnement kündigen, o", + "notification_project_invite": "__userName__ möchte, dass du __projectName__ beitrittst. Trete Projekt bei", + "notification_project_invite_accepted_message": "Du bist __projectName__ beigetreten", + "notification_project_invite_message": "__userName__ möchte, dass du __projectName__ beitrittst", + "november": "November", + "number_collab": "Anzahl der Mitarbeiter", + "number_of_users": "Nutzeranzahl", + "number_of_users_info": "Die Anzahl der Nutzer, die ihr Overleaf-Konto upgraden können, wenn du dieses Abonnement abschließt.", + "number_of_users_with_colon": "Anzahl der Nutzer:", + "oauth_orcid_description": "Deine Identität sicherstellen durch Verknüpfung deiner ORCID-iD mit deinem __appName__-Konto. Einreichungen bei teilnehmenden Verlagen enthalten automatisch deine ORCID-iD für verbesserten Workflow und bessere Sichtbarkeit.", + "october": "Oktober", + "off": "Aus", + "official": "Offiziell", + "ok": "OK", + "on": "An", + "one_collaborator": "Nur ein Mitarbeiter", + "one_free_collab": "Ein kostenloser Mitarbeiter", + "one_user": "1 Nutzer", + "online_latex_editor": "Online-LaTeX-Editor", + "open_a_file_on_the_left": "Öffne eine Datei auf der linken Seite", + "open_as_template": "Als Vorlage öffnen", + "open_project": "Öffne Projekt", + "opted_out_linking": "Du hast dich gegen die Verknüpfung deines __email__ __appName__-Kontos mit deinem institutionellen Konto entschieden.", + "optional": "Freiwillig", + "or": "oder", + "organization": "Organisation", + "other_actions": "Weitere Aktionen", + "other_logs_and_files": "Andere Protokolle und Dateien", + "other_output_files": "Lade andere Ausgabedateien herunter", + "other_sessions": "Andere Sitzungen", + "our_values": "Unsere Werte", + "over": "über", + "overall_theme": "Gesamtthema", + "overleaf_history_system": "Overleaf-Historie", + "overview": "Überblick", + "owner": "Besitzer", + "page_current": "Seite __page__, Aktuelle Seite", + "page_not_found": "Seite nicht gefunden", + "pagination_navigation": "Seitenumbruch-Navigation", + "password": "Passwort", + "password_change_old_password_wrong": "Dein altes Passwort ist falsch", + "password_change_passwords_do_not_match": "Passwörter stimmen nicht überein", + "password_change_successful": "Passwort geändert", + "password_managed_externally": "Passworteinstellungen werden extern verwaltet", + "password_reset": "Passwort zurücksetzen", + "password_reset_email_sent": "Dir wurde eine E-Mail gesendet, um dein Passwort zurückzusetzen.", + "password_reset_token_expired": "Dein Passwortzurücksetz-Token ist nicht mehr gültig. Bitte fordere eine neue Passwortzurücksetz-Mail an und folge dem darin enthaltenen Link.", + "password_too_long_please_reset": "Maximale Passwortlänge überschritten. Bitte setze dein Passwort zurück.", + "payment_method_accepted": "__paymentMethod__ akzeptiert", + "payment_provider_unreachable_error": "Entschuldigung, bei der Kommunikation mit unserem Zahlungsanbieter ist ein Fehler aufgetreten. Versuche es in einigen Augenblicken erneut. Wenn du Erweiterungen zum Blockieren von Werbung oder Skripten in deinem Browser verwendest, musst du diese möglicherweise kurzzeitig deaktivieren.", + "payment_summary": "Zahlungsübersicht", + "pdf_compile_in_progress_error": "Kompiliervorgang läuft bereits in einem anderen Fenster", + "pdf_compile_rate_limit_hit": "Limit der Kompiliervorgänge überschritten", + "pdf_compile_try_again": "Bitte warte auf deinen anderen Kompiliervorgang, bevor du es erneut versuchst.", + "pdf_in_separate_tab": "PDF in separatem Tab", + "pdf_only_hide_editor": "Nur PDF <0>(Editor ausblenden)", + "pdf_preview_error": "Beim Anzeigen der Kompilierergebnisse für dieses Projekt ist ein Problem aufgetreten.", + "pdf_rendering_error": "PDF-Wiedergabe-Fehler", + "pdf_viewer": "PDF-Betrachter", + "pdf_viewer_error": "Beim Anzeigen dieses Projekt-PDFs ist ein Problem aufgetreten.", + "pending": "Ausstehend", + "pending_additional_licenses": "Dein Abonnement wird geändert, um <0>__pendingAdditionalLicenses__ zusätzliche Lizenz(en) für insgesamt <1>__pendingTotalLicenses__ Lizenzen einzuschließen.", + "per_month": "pro Monat", + "per_user": "pro Nutzer", + "per_user_year": "pro Nutzer / Jahr", + "per_year": "pro Jahr", + "personal": "Persönlich", + "personalized_onboarding": "Personalisiertes Onboarding", + "personalized_onboarding_info": "Wir helfen Dir alles einzurichten und dann stehen wir deinen Mitarbeitern bei Fragen zur Plattform, Vorlagen oder LaTeX zur Verfügung!", + "pl": "Polnisch", + "plan": "Abonnement", + "planned_maintenance": "Geplante Wartungsarbeiten", + "plans_amper_pricing": "Produkte und Preise", + "plans_and_pricing": "Produkte und Preise", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Bitte den Projekteigentümer um ein Upgrade, um Änderungen verfolgen zu können", + "please_change_primary_to_remove": "Bitte ändere deine primäre E-Mail-Adresse, um sie zu entfernen", + "please_check_your_inbox": "Bitte prüfe dein E-Mail-Postfach", + "please_check_your_inbox_to_confirm": "Bitte überprüfe deinen E-Mail-Postfach, um deine Zugehörigkeit zu <0>__institutionName__ zu bestätigen.", + "please_compile_pdf_before_download": "Bitte kompiliere dein Projekt, bevor du das PDF herunterlädst", + "please_compile_pdf_before_word_count": "Bitte kompiliere dein Projekt, bevor du eine Wortzählung durchführst.", + "please_confirm_email": "Bitte bestätige deine E-Mail-Adresse __emailAddress__, indem du auf den Link in der Bestätigungs-E-Mail klickst", + "please_confirm_your_email_before_making_it_default": "Bitte bestätige deine E-Mail-Adresse, bevor du sie zur primären machst.", + "please_enter_email": "Bitte gib deine E-Mail-Adresse ein", + "please_link_before_making_primary": "Bitte bestätige deine E-Mail-Adresse, indem du sie mit deinem institutionellen Konto verknüpfst, bevor du sie zur primären E-Mail-Adresse machst.", + "please_reconfirm_institutional_email": "Bitte nimm dir einen Moment Zeit, um deine institutionelle E-Mail-Adresse zu bestätigen oder <0>sie aus deinem Konto zu entfernen.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Bitte bestätige deine Zugehörigkeit, bevor du diese zur primären machst.", + "please_refresh": "Bitte aktualisiere die Seite, um fortzufahren", + "please_select_a_file": "Bitte wähle eine Datei aus", + "please_select_a_project": "Bitte wähle ein Projekt aus", + "please_select_an_output_file": "Bitte wähle eine Ausgabedatei aus", + "please_set_a_password": "Bitte ein Passwort einrichten", + "please_set_main_file": "Bitte wähle im Projektmenü die Hauptdatei für dieses Projekt aus.", + "popular_tags": "Beliebte Stichwörter", + "portal_add_affiliation_to_join": "Es sieht so aus, als wärst du bereits bei __appName__ angemeldet! Wenn du eine __portalTitle__-E-Mail-Adresse hast, kannst du diese jetzt hinzufügen.", + "position": "Beruf", + "postal_code": "PLZ", + "powerful_latex_editor_and_realtime_collaboration": "Leistungsstarker LaTeX-Editor und Zusammenarbeit in Echtzeit", + "powerful_latex_editor_and_realtime_collaboration_info": "Rechtschreibprüfung, intelligente Autovervollständigung, Syntaxhervorhebung, Dutzende von Farbthemen, Vim- und Emacs-Anbindung, Hilfe bei LaTeX-Warnungen und -Fehlermeldungen und mehr. Jeder hat immer die neueste Version, und du kannst die Textpositionen deiner Mitarbeiter und Änderungen in Echtzeit sehen.", + "premium_feature": "Premiumfunktion", + "premium_features": "Premiumfunktionen", + "presentation": "Präsentation", + "press_and_awards": "Presse & Auszeichnungen", + "price": "Preis", + "primary_email_check_question": "Ist <0>__email__ immer noch deine E-Mail-Adresse?", + "priority_support": "Vorrangiger Kundensupport", + "priority_support_info": "Unser hilfsbereites Support-Team priorisiert und eskaliert deine Support-Anfragen bei Bedarf.", + "privacy": "Datenschutz", + "privacy_and_terms": "Datenschutz und Nutzungsbedingungen", + "privacy_policy": "Datenschutz", + "private": "Privat", + "problem_changing_email_address": "Es gab ein Problem beim Ändern deiner E-Mail-Adresse. Bitte versuche es in ein paar Minuten erneut. Wenn das Problem bestehen bleibt, kontaktiere uns bitte.", + "problem_talking_to_publishing_service": "Es gibt ein Problem mit unserem Veröffentlichungsservice. Bitte versuche es in einigen Minuten noch einmal", + "problem_with_subscription_contact_us": "Es gibt ein Problem mit deinem Abonnement. Bitte kontaktiere uns für mehr Informationen.", + "processing": "in Bearbeitung", + "processing_your_request": "Bitte warte, während wir deine Anfrage bearbeiten.", + "professional": "Professionell", + "project_approaching_file_limit": "Dieses Projekt nähert sich dem Dateilimit", + "project_flagged_too_many_compiles": "Dieses Projekt wurde zu häufig zum Kompilieren vermerkt. Das Limit wird in Kürze aufgehoben.", + "project_has_too_many_files": "Dieses Projekt hat das Limit von 2000 Dateien erreicht", + "project_last_published_at": "Dein Projekt wurde zuletzt veröffentlicht am", + "project_layout_sharing_submission": "Projektlayout, Freigabe und Einreichung", + "project_name": "Projektname", + "project_not_linked_to_github": "Dieses Projekt ist nicht mit einem GitHub Repository verlinkt. Du kannst ein neues Repository in GitHub erstellen:", + "project_owner_plus_10": "Projektinhaber + 10", + "project_ownership_transfer_confirmation_1": "Möchtest du <0>__user__ wirklich zum Eigentümer von <1>__project__ machen?", + "project_ownership_transfer_confirmation_2": "Diese Aktion kann nicht rückgängig gemacht werden. Der neue Eigentümer wird benachrichtigt und kann die Zugriffseinstellungen für das Projekt ändern (einschließlich des Entfernens deines eigenen Zugriffs).", + "project_synced_with_git_repo_at": "Das Projekt ist mit dem GitHub Repository verlinkt", + "project_synchronisation": "Projektsynchronisation", + "project_too_large": "Projekt ist zu gross", + "project_too_large_please_reduce": "Dieses Projekt hat zu viel editierbaren Text, bitte versuche ihn zu reduzieren. Die größten Dateien sind:", + "project_too_much_editable_text": "Dieses Projekt hat zu viel bearbeitbaren Text, bitte versuche ihn zu reduzieren.", + "project_url": "Betroffene Projekt-URL", + "projects": "Projekte", + "pt": "Portugiesisch", + "public": "Öffentlich", + "publish": "Veröffentlichen", + "publish_as_template": "Als Vorlage veröffentlichen", + "publishing": "Veröffentlichen", + "pull_github_changes_into_sharelatex": "GitHub-Änderungen nach __appName__ ziehen", + "purchase_now": "Jetzt kaufen", + "push_sharelatex_changes_to_github": "__appName__-Änderungen an GitHub senden", + "quoted_text_in": "Zitierter Text in", + "raw_logs": "Raw Logs", + "raw_logs_description": "Raw Logs vom LaTeX-Compiler", + "read_only": "Nur Lesen", + "realtime_track_changes": "Änderungen in Echtzeit nachverfolgen", + "realtime_track_changes_info_v2": "Aktiviere die Nachverfolgung von Änderungen, um zu sehen, wer die Änderungen vorgenommen hat, nimm die Änderungen anderer Mitarbeiter an oder lehne sie ab und schreibe Kommentare.", + "reauthorize_github_account": "Autorisiere dein GitHub-Konto erneut", + "recaptcha_conditions": "Diese Website ist durch reCAPTCHA geschützt und es gelten die <1>Datenschutzerklärung und die <2>Nutzungsbedingungen von Google.", + "recent": "Kürzlich", + "recent_commits_in_github": "Neueste Commits auf GitHub", + "recompile": "Aktualisieren", + "recompile_from_scratch": "Von Grund auf neu kompilieren", + "recompile_pdf": "PDF erneut kompilieren", + "reconfirm": "erneut bestätigen", + "reconfirm_explained": "Wir müssen dein Konto erneut bestätigen. Bitte fordere über das unten stehende Formular einen Link zum Zurücksetzen des Passworts an, um dein Konto erneut zu bestätigen. Wenn du Probleme bei der erneuten Bestätigung deines Kontos hast, kontaktiere uns bitte über", + "reconnect": "Versuche es erneut", + "reconnecting": "Neu verbinden", + "reconnecting_in_x_secs": "Erneut verbinden in __seconds__ Sekunden", + "recurly_email_update_needed": "Deine Rechnungs-E-Mail-Adresse lautet derzeit <0>__recurlyEmail__. Bei Bedarf kannst du deine Rechnungs-E-Mail-Adresse auf <1>__userEmail__ aktualisieren.", + "recurly_email_updated": "Deine Rechnungs-E-Mail-Adresse wurde erfolgreich aktualisiert", + "redirect_to_editor": "Weiterleitung zum Editor", + "redirecting": "Weiterleitung", + "reduce_costs_group_licenses": "Mit unseren ermäßigten Gruppenlizenzen kannst du den Papierkram reduzieren und die Kosten senken.", + "reference_error_relink_hint": "Wenn dieser Fehler weiterhin auftritt, versuche dein Konto hier neu zu verlinken:", + "reference_managers": "Referenzmanager", + "reference_search": "Erweiterte Referenzsuche", + "reference_search_info_v2": "Es ist einfach, deine Referenzen zu finden - du kannst nach Autor, Titel, Jahr oder Zeitschrift suchen. Du kannst auch nach Zitationsschlüssel suchen.", + "reference_sync": "Referenzmanager synchronisieren", + "refresh": "Aktualisieren", + "refresh_page_after_linking_dropbox": "Bitte aktualisiere diese Seite, nachdem du dein Konto mit Dropbox verknüpft hast.", + "refresh_page_after_starting_free_trial": "Bitte aktualisiere diese Seite, nachdem du deinen kostenlosen Test gestartet hast.", + "refreshing": "Aktualisiere", + "regards": "Viele Grüße", + "register": "Registrieren", + "register_error": "Registrierungsfehler", + "register_intercept_sso": "Du kannst dein __authProviderName__-Konto nach der Anmeldung auf der Seite Kontoeinstellungen verknüpfen.", + "register_to_edit_template": "Bitte registriere dich um die __templateName__ Vorlage zu bearbeiten", + "register_with_another_email": "Registriere Dich bei __appName__ mit einer anderen E-Mail-Adresse.", + "registered": "Registriert", + "registering": "Registrieren", + "registration_error": "Registrierungs-Fehler", + "reject": "Verwerfen", + "reject_all": "Alle verwerfen", + "related_tags": "Ähnliche Stichwörter", + "relink_your_account": "Verknüpfe dein Konto neu", + "reload_editor": "Editor neu laden", + "remote_service_error": "Der Externe-Service hat einen Fehler erzeugt", + "remove": "Entfernen", + "remove_collaborator": "Mitarbeiter entfernen", + "remove_from_group": "Aus der Gruppe entfernen", + "remove_manager": "Manager entfernen", + "removed": "gelöscht", + "removing": "Entfernen", + "rename": "Umbenennen", + "rename_project": "Projekt umbenennen", + "renaming": "Umbenennung", + "reopen": "Erneut öffnen", + "reply": "Antworten", + "repository_name": "Repository Name", + "republish": "Erneut veröffentlichen", + "request_new_password_reset_email": "Fordere eine neue E-Mail zum Zurücksetzen des Passworts an", + "request_password_reset": "Forder die Zurücksetzung deines Passworts an", + "request_password_reset_to_reconfirm": "Fordere zur Bestätigung eine E-Mail zum Zurücksetzen des Passworts an", + "request_reconfirmation_email": "Fordere eine erneute Bestätigungs-E-Mail an", + "request_sent_thank_you": "Anforderung gesendet, danke.", + "requesting_password_reset": "Zurücksetzen des Passworts anfordern", + "required": "Erforderlich", + "resend": "Sende erneut", + "resend_confirmation_email": "Bestätigungs-E-Mail erneut senden", + "resending_confirmation_email": "Bestätigungs-E-Mail wird erneut gesendet", + "reset_password": "Passwort zurücksetzen", + "reset_your_password": "Dein Passwort zurücksetzen", + "resolve": "Lösen", + "resolved_comments": "Gelöste Kommentare", + "restore": "Wiederherstellen", + "restoring": "Wiederherstellen", + "restricted": "Geschützt", + "restricted_no_permission": "Entschuldigung, du hast nicht die Berechtigung, diese Seite anzuzeigen.", + "return_to_login_page": "Zurück zur Login-Seite", + "revert_pending_plan_change": "Abonnement-Änderung rückgängig machen", + "review": "Überprüfen", + "review_your_peers_work": "Überprüfe die Arbeit deiner Kollegen", + "revoke": "Zurückziehen", + "revoke_invite": "Einladung zurückziehen", + "ro": "Rumänisch", + "role": "Funktion", + "ru": "Russisch", + "saml": "SAML", + "saml_create_admin_instructions": "Wähle eine E-Mail-Adresse für den ersten __appName__-Admin-Konto. Dieses sollte bereits im SAML-System vorhanden sein. Du wirst dann aufgefordert, dich mit diesem Konto einzuloggen.", + "save_20_percent_by_paying_annually": "Spare 20 % bei jährlicher Zahlung", + "save_30_percent_or_more": "spare 30% oder mehr", + "save_30_percent_or_more_uppercase": "Spare 30% oder mehr", + "save_or_cancel-cancel": "Abbrechen", + "save_or_cancel-or": "oder", + "save_or_cancel-save": "Speichern", + "saving": "Speichern", + "saving_20_percent": "Du sparst 20 %!", + "saving_notification_with_seconds": "__docname__ speichern... (__seconds__ Sekunden ungespeicherter Änderungen)", + "search": "Suchen", + "search_bib_files": "Nach Autor, Titel, Jahr suchen", + "search_command_find": "Finden", + "search_command_replace": "Ersetzen", + "search_match_case": "Übereinstimmung", + "search_next": "Nächste", + "search_previous": "Vorherige", + "search_projects": "Projekte suchen", + "search_references": "Suche die .bib-Dateien in diesem Projekt", + "search_regexp": "Regulärer Ausdruck", + "search_replace": "Ersetzen", + "search_replace_all": "Alles Ersetzen", + "secondary_email_password_reset": "Diese E-Mail-Adresse ist als sekundäre E-Mail-Adresse hinterlegt. Bitte gib die primäre E-Mail-Adresse für dein Konto an.", + "security": "Sicherheit", + "see_changes_in_your_documents_live": "Verfolge Änderungen in deinen Dokumenten, live", + "select_a_file": "Datei auswählen", + "select_a_project": "Projekt auswählen", + "select_all_projects": "Alle Projekte auswählen", + "select_an_output_file": "Ausgabedatei auswählen", + "select_from_output_files": "aus Ausgabedateien auswählen", + "select_from_source_files": "aus Quelldateien auswählen", + "select_github_repository": "Wähle ein GitHub-Repository, das du in __appName__ importieren möchtest.", + "select_project": "__project__ auswählen", + "selected": "Ausgewählt", + "selected_by_overleaf_staff": "Ausgewählt von Overleaf-Mitarbeitern", + "selected_by_overleaf_staff_description": "Diese Vorlagen wurden von Overleaf-Mitarbeitern für ihre hohe Qualität und positiven Rückmeldungen von Overleaf-Nutzern in den letzten Jahren ausgewählt", + "send": "Absenden", + "send_first_message": "Sende deine erste Nachricht", + "send_test_email": "Test-Mail senden", + "sending": "Wird gesendet", + "september": "September", + "server_error": "Serverfehler", + "services": "Services", + "session_created_at": "Session erzeugt um", + "session_error": "Sitzungsfehler. Bitte überprüfe, ob Cookies aktiviert sind. Wenn das Problem weiterhin besteht, versuche, deinen Cache und deine Cookies zu löschen.", + "session_expired_redirecting_to_login": "Sitzung abgelaufen. Du wirst in __seconds__ Sekunden auf die Anmeldungsseite umgeleitet", + "sessions": "Sessions", + "set_new_password": "Neues Passwort eingeben", + "set_password": "Passwort setzen", + "settings": "Einstellungen", + "share": "Teilen", + "share_project": "Projekt teilen", + "share_with_your_collabs": "Mit deinen Mitarbeitern teilen", + "shared_with_you": "Mit dir geteilt", + "sharelatex_beta_program": "__appName__ Beta-Programm", + "show_all": "Alles anzeigen", + "show_hotkeys": "Zeige Hotkeys", + "show_in_code": "Im Code anzeigen", + "show_in_pdf": "Im PDF anzeigen", + "show_less": "Weniger anzeigen", + "show_outline": "Dateigliederung anzeigen", + "show_your_support": "Zeige deine Unterstützung", + "showing_1_result": "1 Ergebnis wird angezeigt", + "showing_1_result_of_total": "Zeige 1 Ergebnis von __total__", + "showing_x_results": "Es werden __x__ Ergebnisse angezeigt", + "showing_x_results_of_total": "Es werden __x__ Ergebnisse von __total__ angezeigt", + "site_description": "Ein einfach bedienbarer Online-LaTeX-Editor. Keine Installation notwendig, Zusammenarbeit in Echtzeit, Versionskontrolle, Hunderte von LaTeX-Vorlagen und mehr", + "sitewide_option_available": "Standortweite Option verfügbar", + "sitewide_option_available_info": "Nutzern werden automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu Overleaf hinzufügen (domänenbasierte Registrierung oder SSO).", + "skip_to_content": "Zum Inhalt springen", + "something_went_wrong_canceling_your_subscription": "Beim Kündigen deines Abonnements ist etwas schief gelaufen. Bitte wende dich an den Support.", + "something_went_wrong_loading_pdf_viewer": "Beim Laden des PDF-Betrachters ist ein Fehler aufgetreten. Dies kann durch Probleme wie <0>vorübergehende Netzwerkprobleme oder einen <0>veralteten Webbrowser verursacht werden. Bitte befolge die <1>Schritte zur Fehlerbehebung bei Zugriffs-, Lade- und Anzeigeproblemen. Wenn das Problem weiterhin besteht, <2>teile uns dies bitte mit.", + "something_went_wrong_rendering_pdf": "Etwas ist bei der Wiedergabe dieses PDFs schiefgelaufen.", + "something_went_wrong_server": "Es ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "somthing_went_wrong_compiling": "Entschuldigung, es ist etwas schief gegangen und dein Projekt konnte nicht kompiliert werden. Versuche es in ein paar Minuten erneut.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Entschuldigung, beim Versuch, diesen Inhalt auf Overleaf zu öffnen, ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.", + "source": "Quelldateien", + "spell_check": "Rechtschreibprüfung", + "sso_account_already_linked": "Das Konto ist bereits mit einem anderen __appName__-Nutzer verknüpft", + "sso_integration": "SSO-Integration", + "sso_integration_info": "Overleaf bietet eine standardmäßige SAML-basierte Single-Sign-On-Integration.", + "sso_link_error": "Fehler beim Verknüpfen des Kontos", + "sso_not_linked": "Du hast dein Konto nicht mit __provider__ verknüpft. Bitte melde dich auf einem anderen Weg mit deinem Konto an und verknüpfe dein __provider__-Konto über deine Kontoeinstellungen.", + "standard": "Standard", + "start_by_adding_your_email": "Beginne mit dem Hinzufügen deiner E-Mail-Adresse.", + "start_free_trial": "Starte einen kostenlosen Test!", + "state": "Status", + "status_checks": "Statusüberprüfungen", + "still_have_questions": "Hast du noch Fragen?", + "stop_compile": "Kompiliervorgang stoppen", + "stop_on_first_error": "Beim ersten Fehler anhalten", + "stop_on_first_error_enabled_description": "<0>„Anhalten beim ersten Fehler“ ist aktiviert. Durch Deaktivieren kann der Compiler möglicherweise eine PDF-Datei erstellen (Das Projekt wird aber weiterhin Fehler enthalten).", + "stop_on_first_error_enabled_title": "Kein PDF: Anhalten beim ersten Fehler aktiviert", + "stop_on_validation_error": "Überprüfe die Syntax vor dem Kompilieren", + "store_your_work": "Speichere deine Arbeit auf deiner eigenen Infrastruktur", + "student": "Student", + "student_and_faculty_support_make_difference": "Die Unterstützung von Studenten und Mitarbeitern kann den Unterschied machen! Gerne leiten wir deine Nachfrage an unsere Kontakte an deiner Universität weiter, wenn wir ein solches Abonnement mit deiner Universität besprechen.", + "student_disclaimer": "Der Bildungsrabatt gilt für alle Studierenden an weiterführenden und höheren Bildungseinrichtungen (Schulen und Universitäten). Wir können dich kontaktieren, damit du den Anspruch auf den Rabatt bestätigst.", + "student_plans": "Studenten-Abonnements", + "subject": "Betreff", + "subject_to_additional_vat": "Die Preise können je nach Land der zusätzlichen Mehrwertsteuer unterliegen.", + "submit": "Absenden", + "submit_title": "Einreichen", + "subscribe": "Abonnieren", + "subscription": "Abonnement", + "subscription_admin_panel": "Verwaltungsoberfläche", + "subscription_admins_cannot_be_deleted": "Du kannst dein Konto nicht löschen, während du ein Abonnement besitzt. Kündige dein Abonnement und versuche es erneut. Wenn diese Meldung weiterhin erscheint, kontaktiere uns bitte.", + "subscription_canceled": "Abonnement gekündigt", + "subscription_canceled_and_terminate_on_x": "Dein Abonnement wurde gekündigt und wird am <0>__terminateDate__ enden. Keine weiteren Zahlungen werden angenommen.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Dein Abonnement bleibt bis zum Ende deines Abrechnungszeitraums, <0>__terminationDate__, aktiv.", + "suggestion": "Vorschlag", + "sure_you_want_to_cancel_plan_change": "Möchtest du deine geplante Abonnement-Änderung wirklich rückgängig machen? Du behältst das Abonnement <0>__planName__.", + "sure_you_want_to_change_plan": "Bist du sicher, dass du zum Abonnement <0>__planName__ wechseln möchtest?", + "sure_you_want_to_delete": "Möchtest du die folgenden Dateien wirklich löschen?", + "sure_you_want_to_leave_group": "Bist du sicher, dass du diese Gruppe verlassen möchtest?", + "sv": "Schwedisch", + "symbol_palette": "Symbolpalette", + "symbol_palette_info": "Eine schnelle und bequeme Möglichkeit, mathematische Symbole in dein Dokument einzufügen.", + "sync": "Sync", + "sync_dropbox_github": "Mit Dropbox und GitHub synchronisieren", + "sync_project_to_github_explanation": "Alle Änderungen die du in __appName__ vornimmst werden in GitHub festgelegt und mit allen Updates in GitHub zusammengeführt.", + "sync_to_dropbox": "Synchronisierung mit Dropbox", + "sync_to_github": "Mit GitHub synchronisieren", + "synctex_failed": "Die entsprechende Quelldatei konnte nicht gefunden werden", + "syntax_validation": "Syntaxüberprüfung", + "tab_connecting": "Verbindung mit dem Editor with hergestellt", + "tab_no_longer_connected": "Dieser Browser Tab ist nicht mehr mit dem Editor verbunden", + "tags": "Stichworte", + "take_me_home": "Bring mich nach Hause!", + "take_short_survey": "Nimm an einer kurzen Umfrage teil", + "tc_everyone": "Jeder", + "tc_guests": "Gäste", + "tc_switch_everyone_tip": "Umschalten der Nachverfolgung von Änderungen für alle", + "tc_switch_guests_tip": "Umschalten der Nachverfolgung von Änderungen für alle Linkfreigabe-Gäste", + "tc_switch_user_tip": "Umschalten der Nachverfolgung von Änderungen für diesen Nutzer", + "template": "Vorlage", + "template_approved_by_publisher": "Diese Vorlage wurde vom Verlag genehmigt", + "template_description": "Vorlagenbeschreibung", + "template_gallery": "Vorlagengalerie", + "template_not_found_description": "Diese Methode zum Erstellen von Projekten aus Vorlagen wurde entfernt. Besuche unsere Vorlagengalerie, um weitere Vorlagen zu finden.", + "template_title_taken_from_project_title": "Der Vorlagentitel wird automatisch aus dem Projekttitel übernommen", + "template_top_pick_by_overleaf": "Diese Vorlage wurde von Overleaf-Mitarbeitern aufgrund ihrer hohen Qualität ausgewählt", + "templates": "Vorlagen", + "templates_admin_source_project": "Administration: Quellprojekt", + "templates_page_summary": "Starte deine Projekte mit hochwertigen LaTeX-Vorlagen für Zeitschriften, Lebensläufe, Zusammenfassungen, Papers, Präsentationen, Aufgaben, Briefe, Projektberichte und mehr. Suchen oder unten durchblättern.", + "templates_page_title": "Vorlagen - Zeitschriften, Lebensläufe, Präsentationen, Berichte und mehr", + "terminated": "Kompiliervorgang abgebrochen", + "terms": "Nutzungsbedingungen", + "tex_live_version": "TeX Live Version", + "thank_you": "Vielen Dank", + "thank_you_email_confirmed": "Vielen Dank, deine E-Mail-Adresse ist jetzt bestätigt", + "thank_you_exclamation": "Danke!", + "thank_you_for_being_part_of_our_beta_program": "Vielen Dank, dass du Teil unseres Beta-Programms bist, bei dem du <0>frühzeitig auf neue Funktionen zugreifen und uns dabei helfen kannst, deine Bedürfnisse besser zu verstehen", + "thanks": "Danke", + "thanks_for_subscribing": "Danke fürs Abonnieren!", + "thanks_for_subscribing_you_help_sl": "Danke, dass du den __planName__-Plan abonniert hast. Die Unterstützung von Menschen wie dir macht es __appName__ möglich, zu wachsen und besser zu werden.", + "thanks_settings_updated": "Danke, deine Einstellungen wurden aktualisiert.", + "the_requested_conversion_job_was_not_found": "Der Link zum Öffnen dieses Inhalts auf Overleaf gab einen Konvertierungsauftrag an, der nicht gefunden werden konnte. Es ist möglich, dass der Job abgelaufen ist und erneut ausgeführt werden muss. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_requested_publisher_was_not_found": "Der Link zum Öffnen dieses Inhalts auf Overleaf gab einen Verlag an, der nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_required_parameters_were_not_supplied": "Dem Link zum Öffnen dieses Inhalts auf Overleaf fehlten einige erforderliche Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_supplied_parameters_were_invalid": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_supplied_uri_is_invalid": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einen ungültigen URI. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "theme": "Design", + "then_x_price_per_month": "Danach __price__ pro Monat", + "then_x_price_per_year": "Danach __price__ pro Jahr", + "there_was_an_error_opening_your_content": "Beim Erstellen deines Projekts ist ein Fehler aufgetreten", + "thesis": "Doktorarbeit", + "this_action_cannot_be_undone": "Diese Aktion kann nicht rückgängig gemacht werden.", + "this_field_is_required": "Dieses Feld wird benötigt", + "this_grants_access_to_features_2": "Dadurch erhältst du Zugriff auf die <0>__featureType__ Funktionen von <0>__appName__.", + "this_is_your_template": "Dies ist eine Vorlage aus deinem Projekt.", + "this_project_is_public": "Dieses Projekt ist öffentlich und kann von jedem bearbeitet werden, der die URL dazu hat.", + "this_project_is_public_read_only": "Dieses Projekt ist öffentlich und kann von jedem, der die URL kennt, angesehen, aber nicht bearbeitet werden.", + "this_project_will_appear_in_your_dropbox_folder_at": "Diese Projekt wird in deiner Dropbox in folgendem Ordner erscheinen:", + "thousands_templates": "Tausende Vorlagen", + "thousands_templates_info": "Erstelle schöne Dokumente ausgehend von unserer Galerie mit LaTeX-Vorlagen für Zeitschriften, Konferenzen, Abschlussarbeiten, Berichte, Lebensläufe und vieles mehr.", + "three_free_collab": "Drei kostenlose Mitarbeiter", + "timedout": "Zeit abgelaufen", + "title": "Titel", + "to_add_email_accounts_need_to_be_linked_2": "Um diese E-Mail-Adresse hinzuzufügen, müssen deine Konten <0>__appName__ und <0>__institutionName__ verknüpft werden.", + "to_add_more_collaborators": "Um weitere Mitbearbeiter hinzuzufügen oder die Linkfreigabe zu aktivieren, wende dich bitte an den Projektinhaber", + "to_change_access_permissions": "Um Zugriffsberechtigungen zu ändern, wende dich bitte an den Projektinhaber", + "to_many_login_requests_2_mins": "In dieses Konto wurde sich zu häufig eingeloggt. Bitte warte 2 Minuten, bevor du es noch einmal versuchst.", + "to_modify_your_subscription_go_to": "Um dein Abo zu ändern, gehe zu", + "toggle_compile_options_menu": "Menü der Kompilieroptionen umschalten", + "token_access_failure": "Zugriff kann nicht gewährt werden", + "too_many_attempts": "Zu viele Versuche. Bitte warte eine Weile und versuche es erneut.", + "too_many_files_uploaded_throttled_short_period": "Zu viele Dateien hochgeladen, deine Uploads wurden für kurze Zeit gedrosselt.", + "too_many_requests": "Es gingen in kurzer Zeit zu viele Anfragen ein. Bitte warte einen Moment und versuche es erneut.", + "too_many_search_results": "Es gibt mehr als 100 Ergebnisse. Bitte verfeinere deine Suche.", + "too_recently_compiled": "Der Kompiliervorgang wurde übersprungen, da dieses Projekt gerade erst kompiliert wurde.", + "tooltip_hide_filetree": "Klicken, um den Dateibaum auszublenden", + "tooltip_hide_pdf": "Klicken, um das PDF auszublenden", + "tooltip_show_filetree": "Klicken, um den Dateibaum anzuzeigen", + "tooltip_show_pdf": "Klicken, um das PDF anzuzeigen", + "total": "Insgesamt", + "total_per_month": "Insgesamt pro Monat", + "total_per_year": "Insgesamt pro Jahr", + "total_per_year_for_x_users": "insgesamt pro Jahr für __licenseSize__ Nutzer", + "total_words": "Gesamtwortanzahl", + "tr": "Türkisch", + "track_any_change_in_real_time": "Verfolge jegliche Änderung, in Echtzeit", + "track_changes": "Änderungen verfolgen", + "track_changes_is_off": "Änderungen verfolgen ist aus", + "track_changes_is_on": "Änderungen verfolgen ist an", + "tracked_change_added": "Hinzugefügt", + "tracked_change_deleted": "Gelöscht", + "trash": "Löschen", + "trash_projects": "Lösche Projekte", + "trashed_projects": "Gelöschte Projekte", + "trashing_projects_wont_affect_collaborators": "Das Löschen von Projekten wirkt sich nicht auf deine Mitarbeiter aus.", + "tried_to_log_in_with_email": "Du hast versucht, dich mit __email__ anzumelden.", + "tried_to_register_with_email": "Du hast versucht, dich mit __email__ zu registrieren, das bereits bei __appName__ als institutionelles Konto registriert ist.", + "try_again": "Bitte versuche es erneut", + "try_for_free": "Kostenlos testen", + "try_it_for_free": "Probiere es kostenlos aus", + "try_now": "Jetzt versuchen", + "try_premium_for_free": "Teste Premium kostenlos", + "try_recompile_project_or_troubleshoot": "Versuche bitte, das Projekt von Grund auf neu zu kompilieren. Wenn das Problem weiterhin besteht, findest Du im <0>Troubleshooting Guide weitere Hilfe", + "try_to_compile_despite_errors": "Versuche, trotz Fehler zu kompilieren", + "turn_off_link_sharing": "Deaktiviere die Linkfreigabe", + "turn_on_link_sharing": "Aktiviere die Linkfreigabe", + "tutorials": "Tutorials", + "two_users": "2 Nutzer", + "uk": "Ukrainisch", + "unable_to_extract_the_supplied_zip_file": "Das Öffnen dieses Inhalts auf Overleaf ist fehlgeschlagen, da die ZIP-Datei nicht extrahiert werden konnte. Bitte stelle sicher, dass es sich um eine gültige ZIP-Datei handelt. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "unarchive": "Wiederherstellen", + "uncategorized": "Nicht kategorisiert", + "unconfirmed": "Unbestätigt", + "unfold_line": "Zeile ausklappen", + "university": "Universität", + "unlimited": "Unbegrenzt", + "unlimited_bold": "<0>Unbegrenzt", + "unlimited_collaborators_in_each_project": "Unbegrenzte Zahl von Mitarbeitern in jedem Projekt", + "unlimited_collabs": "Unbeschränkt viele Mitarbeiter", + "unlimited_collabs_rt": "<0>Unbeschränkt viele Mitarbeiter", + "unlimited_projects": "Unbegrenzte Projekte", + "unlimited_projects_info": "Deine Projekte sind standardmäßig privat. Das bedeutet, dass nur du sie sehen kannst und nur du anderen Personen den Zugriff darauf erlauben kannst.", + "unlink": "Link löschen", + "unlink_dropbox_folder": "Verknüpfung zum Dropbox-Konto aufheben", + "unlink_dropbox_warning": "Alle Projekte, die du mit Dropbox synchronisiert hast, werden getrennt und nicht mehr mit Dropbox synchronisiert. Möchtest du die Verknüpfung deines Dropbox-Kontos wirklich aufheben?", + "unlink_github_repository": "Verknüpfung zum GitHub-Repository aufheben", + "unlink_github_warning": "Bei allen Projekten, die mit GitHub synchronisiert sind, wird die Verlinkung entfernt und nicht länger mit GitHub synchronisiert. Bist du sicher, dass du die Verbindung zu deinem GitHub-Nutzerkonto lösen möchtest?", + "unlink_provider_account_title": "__provider__-Konto verknüpfen", + "unlink_provider_account_warning": "Warnung: Wenn du die Verknüpfung deines Kontos mit __provider__ aufhebst, kannst du dich nicht mehr mit __provider__ anmelden.", + "unlink_reference": "Link zum Referenzengeber entfernen", + "unlink_warning_reference": "Achtung: Wenn du dein Konto von diesem Anbieter entkoppelst, wirst du nicht in der Lage sein, Referenzen in deine Projekte zu importieren.", + "unlinking": "Verknüpfung wird aufgehoben", + "unpublish": "Veröffentlichung aufheben", + "unpublishing": "Veröffentlichung aufheben", + "unsubscribe": "Abbestellen", + "unsubscribed": "Abbestellt", + "unsubscribing": "Abbestellen läuft", + "untrash": "Wiederherstellen", + "up_to": "Bis zu", + "update": "Aktualisieren", + "update_account_info": "Kontoinformationen aktualisieren", + "update_dropbox_settings": "Dropbox-Einstellungen aktualisieren", + "update_your_billing_details": "Deine Zahlungsinformationen aktualisieren", + "updating_site": "Aktualisiere die Seite", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade jetzt, zahle nach sieben Tagen", + "upgrade_now": "Jetzt aktualisieren", + "upgrade_to_get_feature": "Upgrade nötig, um __feature__ zu bekommen, sowie zusätzlich:", + "upgrade_to_track_changes": "Upgrade, um Änderungen verfolgen zu können", + "upload": "Hochladen", + "upload_failed": "Hochladen fehlgeschlagen", + "upload_project": "Projekt hochladen", + "upload_zipped_project": "Projekt als ZIP hochladen", + "url_to_fetch_the_file_from": "URL, von der die Datei abgerufen werden soll", + "usage_metrics": "Nutzungsmetriken", + "usage_metrics_info": "Metriken, die zeigen, wie viele Nutzer auf die Lizenz zugreifen, wie viele Projekte erstellt und bearbeitet werden und wie viel in Overleaf zusammengearbeitet wird.", + "use_a_different_password": "Bitte verwende ein anderes Passwort", + "use_your_own_machine": "Verwende deine eigene Maschine mit deinem eigenen Setup", + "user_already_added": "Nutzer bereits hinzugefügt", + "user_deletion_error": "Entschuldigung, beim Löschen deines Kontos ist etwas schief gelaufen. Bitte versuche es in einer Minute erneut.", + "user_deletion_password_reset_tip": "Wenn du dich nicht mehr an dein Passwort erinnern kannst oder wenn du Single-Sign-On mit einem anderen Anbieter verwendest, um dich anzumelden (z.B. ORCID oder Google), <0>setze dein Passwort zurück und versuche es erneut.", + "user_management": "Nutzerverwaltung", + "user_management_info": "Gruppen-Abonnement-Administratoren haben Zugriff auf ein Admin-Panel, wo die Nutzer einfach hinzugefügt oder entfernt werden können. Bei standortweiten Abonnements werden die Nutzer automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu Overleaf hinzufügen (domänenbasierte Registrierung oder SSO).", + "user_not_found": "Nutzer wurde nicht gefunden", + "user_wants_you_to_see_project": "__username__ möchte, dass Du __projectname__ beitreten", + "validation_issue_entry_description": "Ein Validierungsproblem, das die Kompilierung dieses Projekts verhindert hat", + "vat": "MwSt.", + "vat_number": "Umsatzsteuernummer", + "view_all": "Alle anzeigen", + "view_in_template_gallery": "In der Vorlagengalerie anzeigen", + "view_logs": "Protokoll anzeigen", + "view_pdf": "PDF anzeigen", + "view_source": "Quelltext anzeigen", + "view_your_invoices": "Sieh dir deine Rechnungen an", + "want_change_to_apply_before_plan_end": "Wenn du möchtest, dass diese Änderung vor dem Ende deines aktuellen Abrechnungszeitraums angewendet wird, kontaktiere uns bitte.", + "we_cant_find_any_sections_or_subsections_in_this_file": "In dieser Datei können keine Abschnitte oder Unterabschnitte gefunden werden", + "we_logged_you_in": "Wir haben dich eingeloggt.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Wir können dich auch von Zeit zu Zeit per E-Mail kontaktieren für Umfragen oder Nachfragen, ob du an anderen Nutzerbefragungen teilnehmen möchtest", + "webinars": "Webinare", + "website_status": "Website-Status", + "wed_love_you_to_stay": "Wir würden uns freuen, wenn du bleibst", + "welcome_to_sl": "Willkommen bei __appName__", + "wide": "Weit", + "will_need_to_log_out_from_and_in_with": "Du musst dich von deinem __email1__-Konto abmelden und dich dann mit __email2__ anmelden.", + "with_premium_subscription_you_also_get": "Mit einem Overleaf-Premium-Abonnement erhältst du auch Zugriff auf", + "word_count": "Wortanzahl", + "work_offline": "Offline arbeiten", + "work_with_non_overleaf_users": "Arbeite mit Nicht-Overleaf-Nutzern", + "would_you_like_to_see_a_university_subscription": "Interessiert an einem Standortweiten __appName__ Abonnement für deine Universität?", + "x_collaborators_per_project": "__collaboratorsCount__ Mitarbeiter pro Projekt", + "x_price_for_first_month": "<0>__price__ für deinen ersten Monat", + "x_price_for_first_year": "<0>__price__ für dein erstes Jahr", + "x_price_for_y_months": "<0>__price__ für deine ersten __discountMonths__ Monate", + "x_price_per_year": "<0>__price__ pro Jahr", + "year": "Jahr", + "yes_that_is_correct": "Ja, das ist richtig", + "you_and_collaborators_get_access_to": "Du und deine Projektmitarbeiter erhalten darauf Zugriff", + "you_and_collaborators_get_access_to_info": "Diese Funktionen stehen dir und deinen Projektmitarbeitern (anderen Overleaf-Nutzern, die du zu deinen Projekten einlädst) zur Verfügung.", + "you_can_now_log_in_sso": "Du kannst dich jetzt über deine Institution anmelden und möglicherweise <0>kostenlose __appName__ „Professionell“-Funktionen erhalten!", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kannst dich jederzeit auf dieser Seite für das Beta-Programm an- und abmelden", + "you_get_access_to": "Du erhältst darauf Zugriff", + "you_get_access_to_info": "Diese Funktionen stehen nur dir (dem Abonnenten) zur Verfügung.", + "you_have_added_x_of_group_size_y": "Du hast <0>__addedUsersSize__ von <1>__groupSize__ verfügbaren Mitgliedern hinzugefügt", + "you_plus_1": "Du + 1", + "you_plus_10": "Du + 10", + "you_plus_6": "Du + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Du kannst uns jederzeit kontaktieren, um uns dein Feedback mitzuteilen", + "your_affiliation_is_confirmed": "Deine Zugehörigkeit zu <0>__institutionName__ ist bestätigt.", + "your_browser_does_not_support_this_feature": "Entschuldigung, dein Browser unterstützt diese Funktion nicht. Bitte aktualisiere deinen Browser auf die neueste Version.", + "your_new_plan": "Dein neues Abonnement", + "your_plan": "Dein Abo", + "your_plan_is_changing_at_term_end": "Dein Abonnement ändert sich am Ende des aktuellen Abrechnungszeitraums in <0>__pendingPlanName__.", + "your_projects": "Deine Projekte", + "your_sessions": "Deine Sessions", + "your_subscription": "Dein Abonnement", + "your_subscription_has_expired": "Dein Abonnement ist abgelaufen.", + "zh-CN": "Chinesisch", + "zip_contents_too_large": "ZIP-Inhalt zu groß", + "zotero": "Zotero", + "zotero_groups_loading_error": "Beim Laden von Gruppen von Zotero ist ein Fehler aufgetreten", + "zotero_groups_relink": "Beim Zugriff auf die Zotero-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-Integration", + "zotero_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Zotero und verknüpfe sie direkt mit .bib-Dateien in Overleaf, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "zotero_is_premium": "Zotero-Integration ist eine Premiumfunktion", + "zotero_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "zotero_reference_loading_error_expired": "Zotero-Token abgelaufen, bitte verknüpfe dein Konto neu", + "zotero_reference_loading_error_forbidden": "Referenzen konnten nicht von Zotero geladen werden. Bitte verlinke dein Zotero-Konto erneut und versuche es nochmal", + "zotero_sync_description": "Mit der Zotero-Integration kannst du deine Referenzen von Zotero in deine __appName__ Projekte importieren." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/en.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/en.json new file mode 100644 index 0000000..ec6aad2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/en.json @@ -0,0 +1,2550 @@ +{ + "12x_basic": "12x Basic", + "1_2_width": "½ width", + "1_4_width": "¼ width", + "3_4_width": "¾ width", + "About": "About", + "Account": "Account", + "Account Settings": "Account Settings", + "Documentation": "Documentation", + "Projects": "Projects", + "Security": "Security", + "Subscription": "Subscription", + "Terms": "Terms", + "Universities": "Universities", + "a_custom_size_has_been_used_in_the_latex_code": "A custom size has been used in the LaTeX code.", + "a_fatal_compile_error_that_completely_blocks_compilation": "A <0>fatal compile error that completely blocks the compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "A file with that name already exists. That file will be overwritten.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "A more comprehensive list of keyboard shortcuts can be found in <0>this __appName__ project template", + "about": "About", + "about_to_archive_projects": "You are about to archive the following projects:", + "about_to_delete_cert": "You are about to delete the following certificate:", + "about_to_delete_projects": "You are about to delete the following projects:", + "about_to_delete_tag": "You are about to delete the following tag (any projects in them will not be deleted):", + "about_to_delete_the_following_project": "You are about to delete the following project", + "about_to_delete_the_following_projects": "You are about to delete the following projects", + "about_to_delete_user_preamble": "You’re about to delete __userName__ (__userEmail__). Doing this will mean:", + "about_to_enable_managed_users": "By enabling the Managed Users feature, all existing members of your group subscription will be invited to become managed. This will give you admin rights over their account. You will also have the option to invite new members to join the subscription and become managed.", + "about_to_leave_project": "You are about to leave this project.", + "about_to_leave_projects": "You are about to leave the following projects:", + "about_to_trash_projects": "You are about to trash the following projects:", + "abstract": "Abstract", + "accept": "Accept", + "accept_all": "Accept all", + "accept_and_continue": "Accept and continue", + "accept_change": "Accept change", + "accept_change_error_description": "There was an error accepting a track change. Please try again in a few moments.", + "accept_change_error_title": "Accept Change Error", + "accept_invitation": "Accept invitation", + "accept_or_reject_each_changes_individually": "Accept or reject each change individually", + "accept_terms_and_conditions": "Accept terms and conditions", + "accepted_invite": "Accepted invite", + "accepting_invite_as": "You are accepting this invite as", + "access_denied": "Access Denied", + "access_levels_changed": "Access levels changed", + "account": "Account", + "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", + "account_has_past_due_invoice_change_plan_warning": "Your account currently has a past due invoice. You will not be able to change your plan until this is resolved.", + "account_linking": "Account Linking", + "account_managed_by_group_administrator": "Your account is managed by your group administrator (__admin__)", + "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", + "account_settings": "Account Settings", + "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", + "acct_linked_to_institution_acct_2": "You can <0>log in to Overleaf through your <0>__institutionName__ institutional login.", + "actions": "Actions", + "activate": "Activate", + "activate_account": "Activate your account", + "activating": "Activating", + "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", + "active": "Active", + "add": "Add", + "add_a_recovery_email_address": "Add a recovery email address", + "add_additional_certificate": "Add another certificate", + "add_affiliation": "Add Affiliation", + "add_another_address_line": "Add another address line", + "add_another_email": "Add another email", + "add_another_token": "Add another token", + "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", + "add_comment": "Add comment", + "add_comment_error_message": "There was an error adding your comment. Please try again in a few moments.", + "add_comment_error_title": "Add Comment Error", + "add_company_details": "Add Company Details", + "add_email": "Add Email", + "add_email_address": "Add email address", + "add_email_to_claim_features": "Add an institutional email address to claim your features.", + "add_files": "Add Files", + "add_more_collaborators": "Add more collaborators", + "add_more_editors": "Add more editors", + "add_more_managers": "Add more managers", + "add_more_members": "Add more members", + "add_new_email": "Add new email", + "add_or_remove_project_from_tag": "Add or remove project from tag __tagName__", + "add_people": "Add people", + "add_role_and_department": "Add role and department", + "add_to_dictionary": "Add to Dictionary", + "add_to_tag": "Add to tag", + "add_your_comment_here": "Add your comment here", + "add_your_first_group_member_now": "Add your first group members now", + "added": "added", + "added_by_on": "Added by __name__ on __date__", + "adding": "Adding", + "adding_a_bibliography": "Adding a bibliography?", + "additional_certificate": "Additional certificate", + "additional_licenses": "Your subscription includes <0>__additionalLicenses__ additional license(s) for a total of <1>__totalLicenses__ licenses.", + "address": "Address", + "address_line_1": "Address", + "address_second_line_optional": "Address second line (optional)", + "adjust_column_width": "Adjust column width", + "admin": "admin", + "admin_panel": "Admin panel", + "admin_user_created_message": "Created admin user, Log in here to continue", + "administration_and_security": "Administration and security", + "advanced_reference_search": "Advanced <0>reference search", + "advanced_reference_search_mode": "Advanced reference search", + "advanced_search": "Advanced Search", + "aggregate_changed": "Changed", + "aggregate_to": "to", + "agree_with_the_terms": "I agree with the Overleaf terms", + "ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "Do you have any thoughts or suggestions for improving this feature?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Tell us what was wrong so we can improve.", + "ai_feedback_the_answer_was_too_long": "The answer was too long", + "ai_feedback_the_answer_wasnt_detailed_enough": "The answer wasn’t detailed enough", + "ai_feedback_the_suggestion_didnt_fix_the_error": "The suggestion didn’t fix the error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "The suggestion wasn’t the best fix available", + "ai_feedback_there_was_no_code_fix_suggested": "There was no code fix suggested", + "alignment": "Alignment", + "all": "All", + "all_borders": "All borders", + "all_our_group_plans_offer_educational_discount": "All of our <0>group plans offer an <1>educational discount for students and faculty", + "all_premium_features": "All premium features", + "all_premium_features_including": "All premium features, including:", + "all_prices_displayed_are_in_currency": "All prices displayed are in __recommendedCurrency__.", + "all_projects": "All Projects", + "all_projects_will_be_transferred_immediately": "All projects will be transferred to the new owner immediately.", + "all_templates": "All Templates", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "All the pros of our standard plan, plus unlimited collaborators per project.", + "all_these_experiments_are_available_exclusively": "All these experiments are available exclusively to members of the Labs program. If you sign up, you can choose which experiments you want to try.", + "allows_to_search_by_author_title_etc_possible_to_pull_results_directly_from_your_reference_manager_if_connected": "Allows to search by author, title, etc. Possible to pull results directly from your reference manager (if connected).", + "already_have_an_account": "Already have an account?", + "already_have_sl_account": "Already have an __appName__ account?", + "already_subscribed_try_refreshing_the_page": "Already subscribed? Try refreshing the page.", + "also": "Also", + "also_available_as_on_premises": "Also available as On-Premises", + "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", + "an_email_has_already_been_sent_to": "An email has already been sent to <0>__email__. Please wait and try again later.", + "an_error_occured_while_restoring_project": "An error occured while restoring the project", + "an_error_occurred_when_verifying_the_coupon_code": "An error occurred when verifying the coupon code", + "and": "and", + "annual": "Annual", + "anonymous": "Anonymous", + "anyone_with_link_can_edit": "Anyone with this link can edit this project", + "anyone_with_link_can_view": "Anyone with this link can view this project", + "app_on_x": "__appName__ on __social__", + "apply_educational_discount": "Apply educational discount", + "apply_educational_discount_info": "Overleaf offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using Overleaf for teaching.", + "apply_educational_discount_info_new": "40% discount for groups of 10 or more using __appName__ for teaching", + "apply_suggestion": "Apply suggestion", + "april": "April", + "archive": "Archive", + "archive_projects": "Archive Projects", + "archived": "Archived", + "archived_projects": "Archived Projects", + "archiving_projects_wont_affect_collaborators": "Archiving projects won’t affect your collaborators.", + "are_you_affiliated_with_an_institution": "Are you affiliated with an institution?", + "are_you_getting_an_undefined_control_sequence_error": "Are you getting an Undefined Control Sequence error? If you are, make sure you’ve loaded the graphicx package—<0>\\usepackage{graphicx}—in the preamble (first section of code) in your document. <1>Learn more", + "are_you_still_at": "Are you still at <0>__institutionName__?", + "are_you_sure": "Are you sure?", + "article": "Article", + "articles": "Articles", + "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution.", + "as_email": "as __email__", + "ascending": "Ascending", + "ask_proj_owner_to_unlink_from_current_github": "Ask the owner of the project (<0>__projectOwnerEmail__) to unlink the project from the current GitHub repository and create a connection to a different repository.", + "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project’s full history.", + "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", + "ask_repo_owner_to_reconnect": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "ask_repo_owner_to_renew_overleaf_subscription": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "august": "August", + "author": "Author", + "auto_close_brackets": "Auto-close Brackets", + "auto_compile": "Auto Compile", + "auto_complete": "Auto-complete", + "autocompile_disabled": "Autocompile disabled", + "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", + "autocomplete": "Autocomplete", + "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", + "automatic_user_registration": "automatic user registration", + "automatic_user_registration_uppercase": "Automatic user registration", + "back": "Back", + "back_to_account_settings": "Back to account settings", + "back_to_all_posts": "Back to all posts", + "back_to_configuration": "Back to configuration", + "back_to_editor": "Back to editor", + "back_to_log_in": "Back to log in", + "back_to_subscription": "Back to Subscription", + "back_to_your_projects": "Back to your projects", + "basic": "Basic", + "basic_compile_timeout_on_fast_servers": "Basic compile timeout on fast servers", + "become_an_advisor": "Become an __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Before you use the AI error assistant", + "best_choices_companies_universities_non_profits": "Best choice for companies, universities and non-profits", + "beta": "Beta", + "beta_feature_badge": "Beta feature badge", + "beta_program_already_participating": "You are enrolled in the Beta Program", + "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", + "beta_program_benefits": "We’re always improving __appName__. By joining this program you can have <0>early access to new features and help us understand your needs better.", + "beta_program_not_participating": "You are not enrolled in the Beta Program", + "beta_program_opt_in_action": "Opt-In to Beta Program", + "beta_program_opt_out_action": "Opt-Out of Beta Program", + "better_bibliographies": "Better bibliographies", + "bibliographies": "Bibliographies", + "binary_history_error": "Preview not available for this file type", + "blank_project": "Blank Project", + "blocked_filename": "This file name is blocked.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 50% discount to premium plans on this page for our users in Brazil. Check out the new lower prices.", + "browser": "Browser", + "built_in": "Built-In", + "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", + "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", + "buy_now_no_exclamation_mark": "Buy now", + "buy_overleaf_assist": "Buy Overleaf Assist", + "by": "by", + "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from Overleaf—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", + "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.", + "by_subscribing_you_agree_to_our_terms_of_service": "By subscribing, you agree to our <0>terms of service.", + "can_edit": "Can edit", + "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", + "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", + "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "can_link_your_institution_acct_2": "You can now <0>link your <0>__appName__ account to your <0>__institutionName__ institutional account.", + "can_now_relink_dropbox": "You can now <0>relink your Dropbox account.", + "can_view": "Can view", + "cancel": "Cancel", + "cancel_anytime": "We’re confident that you’ll love __appName__, but if not you can cancel anytime. We’ll give you your money back, no questions asked, if you let us know within 30 days.", + "cancel_my_account": "Cancel my subscription", + "cancel_my_subscription": "Cancel my subscription", + "cancel_personal_subscription_first": "You already have an individual subscription, would you like us to cancel this first before joining the group licence?", + "cancel_your_subscription": "Cancel Your Subscription", + "cannot_invite_non_user": "Can’t send invite. Recipient must already have an __appName__ account", + "cannot_invite_self": "Can’t send invite to yourself", + "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", + "cant_find_email": "That email address is not registered, sorry.", + "cant_find_page": "Sorry, we can’t find the page you are looking for.", + "cant_see_what_youre_looking_for_question": "Can’t see what you’re looking for?", + "caption_above": "Caption above", + "caption_below": "Caption below", + "card_details": "Card details", + "card_details_are_not_valid": "Card details are not valid", + "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", + "card_payment": "Card payment", + "careers": "Careers", + "category_arrows": "Arrows", + "category_greek": "Greek", + "category_misc": "Misc", + "category_operators": "Operators", + "category_relations": "Relations", + "center": "Center", + "certificate": "Certificate", + "change": "Change", + "change_currency": "Change currency", + "change_or_cancel-cancel": "cancel", + "change_or_cancel-change": "Change", + "change_or_cancel-or": "or", + "change_owner": "Change owner", + "change_password": "Change Password", + "change_password_in_account_settings": "Change password in Account Settings", + "change_plan": "Change plan", + "change_primary_email_address_instructions": "To change your primary email, please add your new primary email address first (by clicking <0>Add another email) and confirm it. Then click the <0>Make Primary button. <1>Learn more about managing your __appName__ emails.", + "change_project_owner": "Change Project Owner", + "change_the_ownership_of_your_personal_projects": "Change the ownership of your personal projects to the new account. <0>Find out how to change project owner.", + "change_to_group_plan": "Change to a group plan", + "change_to_this_plan": "Change to this plan", + "changing_the_position_of_your_figure": "Changing the position of your figure", + "changing_the_position_of_your_table": "Changing the position of your table", + "chat": "Chat", + "chat_error": "Could not load chat messages, please try again.", + "check_your_email": "Check your email", + "checking": "Checking", + "checking_dropbox_status": "Checking Dropbox status", + "checking_project_github_status": "Checking project status in GitHub", + "choose_a_custom_color": "Choose a custom color", + "choose_from_group_members": "Choose from group members", + "choose_which_experiments": "Choose which experiments you’d like to try.", + "choose_your_plan": "Choose your plan", + "city": "City", + "clear_cached_files": "Clear cached files", + "clear_search": "clear search", + "clear_sessions": "Clear Sessions", + "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", + "clear_sessions_success": "Sessions Cleared", + "clearing": "Clearing", + "click_here_to_view_sl_in_lng": "Click here to use __appName__ in <0>__lngName__", + "click_link_to_proceed": "Click __clickText__ below to proceed.", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "Clicking <0>Delete will remove your SSO configuration and unlink all users. You can only do this when SSO is disabled in your Group settings.", + "clone_with_git": "Clone with Git", + "close": "Close", + "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", + "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", + "cn": "Chinese (Simplified)", + "code_check_failed": "Code check failed", + "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", + "code_editor": "Code Editor", + "code_editor_tooltip_message": "You can see the code behind your project (and make edits to it) in the Code Editor", + "code_editor_tooltip_title": "Want to view and edit the LaTeX code?", + "collaborate_easily_on_your_projects": "Collaborate easily on your projects. Work on longer or more complex docs.", + "collaborate_online_and_offline": "Collaborate online and offline, using your own workflow", + "collaboration": "Collaboration", + "collaborator": "Collaborator", + "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to Overleaf from IEEE Collabratec™ or log in with a different account.", + "collabs_per_proj": "__collabcount__ collaborators per project", + "collabs_per_proj_single": "__collabcount__ collaborator per project", + "collapse": "Collapse", + "column_width": "Column width", + "column_width_is_custom_click_to_resize": "Column width is custom. Click to resize", + "column_width_is_x_click_to_resize": "Column width is __width__. Click to resize", + "comment": "Comment", + "comment_submit_error": "Sorry, there was a problem submitting your comment", + "commit": "Commit", + "common": "Common", + "common_causes_of_compile_timeouts_include": "Common causes of compile timeouts include", + "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your Overleaf premium features.", + "community_articles": "Community articles", + "compact": "Compact", + "company_name": "Company Name", + "compare": "Compare", + "compare_features": "Compare features", + "comparing_from_x_to_y": "Comparing from <0>__startTime__ to <0>__endTime__", + "compile_error_entry_description": "An error which prevented this project from compiling", + "compile_error_handling": "Compile Error Handling", + "compile_larger_projects": "Compile larger projects", + "compile_mode": "Compile Mode", + "compile_servers": "Compile servers", + "compile_servers_info": "Compiles for users on premium plans always run on a dedicated pool of the fastest available servers.", + "compile_servers_info_new": "The servers used to compile your project. Compiles for users on paid plans always run on the fastest available servers.", + "compile_terminated_by_user": "The compile was cancelled using the ‘Stop Compilation’ button. You can download the raw logs to see where the compile stopped.", + "compile_timeout_short": "Compile timeout", + "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the Overleaf servers. You may need additional time for longer or more complex projects.", + "compile_timeout_short_info_new": "This is how much time you get to compile your project on Overleaf. You may need additional time for longer or more complex projects.", + "compiler": "Compiler", + "compiling": "Compiling", + "complete": "Complete", + "compliance": "Compliance", + "compromised_password": "Compromised Password", + "configure_sso": "Configure SSO", + "configured": "Configured", + "confirm": "Confirm", + "confirm_affiliation": "Confirm Affiliation", + "confirm_affiliation_to_relink_dropbox": "Please confirm you are still at the institution and on their license, or upgrade your account in order to relink your Dropbox account.", + "confirm_delete_user_type_email_address": "To confirm you want to delete __userName__ please type the email address associated with their account", + "confirm_email": "Confirm Email", + "confirm_new_password": "Confirm New Password", + "confirm_primary_email_change": "Confirm primary email change", + "confirm_remove_sso_config_enter_email": "To confirm you want to remove your SSO configuration, enter your email address:", + "confirm_your_email": "Confirm your email address", + "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", + "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", + "confirming": "Confirming", + "conflicting_paths_found": "Conflicting Paths Found", + "congratulations_youve_successfully_join_group": "Congratulations! You‘ve successfully joined the group subscription.", + "connected_users": "Connected Users", + "connecting": "Connecting", + "connection_lost": "Connection lost", + "contact": "Contact", + "contact_group_admin": "Please contact your group administrator.", + "contact_message_label": "Message", + "contact_sales": "Contact Sales", + "contact_support": "Contact Support", + "contact_support_to_change_group_subscription": "Please <0>contact support if you wish to change your group subscription.", + "contact_us": "Contact Us", + "contact_us_lowercase": "Contact us", + "contacting_the_sales_team": "Contacting the Sales team", + "continue": "Continue", + "continue_github_merge": "I have manually merged. Continue", + "continue_to": "Continue to __appName__", + "continue_with_free_plan": "Continue with free plan", + "continue_with_service": "Continue with __service__", + "copied": "Copied", + "copy": "Copy", + "copy_code": "Copy code", + "copy_project": "Copy Project", + "copy_response": "Copy response", + "copying": "Copying", + "could_not_connect_to_collaboration_server": "Could not connect to collaboration server", + "could_not_connect_to_websocket_server": "Could not connect to WebSocket server", + "could_not_load_translations": "Could not load translations", + "country": "Country", + "country_flag": "__country__ country flag", + "coupon_code": "Coupon code", + "coupon_code_is_not_valid_for_selected_plan": "Coupon code is not valid for selected plan", + "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", + "create": "Create", + "create_a_new_password_for_your_account": "Create a new password for your account", + "create_a_new_project": "Create a new project", + "create_account": "Create account", + "create_an_account": "Create an account", + "create_first_admin_account": "Create the first Admin account", + "create_new_account": "Create new account", + "create_new_subscription": "Create New Subscription", + "create_new_tag": "Create new tag", + "create_project_in_github": "Create a GitHub repository", + "created_at": "Created at", + "creating": "Creating", + "credit_card": "Credit Card", + "cs": "Czech", + "currency": "Currency", + "current_file": "Current file", + "current_page_page": "Current Page, Page __page__", + "current_password": "Current Password", + "current_price": "Current price", + "current_session": "Current Session", + "currently_seeing_only_24_hrs_history": "You’re currently seeing the last 24 hours of changes in this project.", + "currently_signed_in_as_x": "Currently signed in as <0>__userEmail__.", + "currently_subscribed_to_plan": "You are currently subscribed to the <0>__planName__ plan.", + "custom": "Custom", + "custom_borders": "Custom borders", + "custom_resource_portal": "Custom resource portal", + "custom_resource_portal_info": "You can have your own custom portal page on Overleaf. This is a great place for your users to find out more about Overleaf, access templates, FAQs and Help resources, and sign up to Overleaf.", + "customer_resource_portal": "Customer resource portal", + "customize": "Customize", + "customize_your_group_subscription": "Customize your group subscription", + "customize_your_plan": "Customize your plan", + "customizing_figures": "Customizing figures", + "customizing_tables": "Customizing tables", + "da": "Danish", + "date": "Date", + "date_and_owner": "Date and owner", + "de": "German", + "dealing_with_errors": "Dealing with errors", + "december": "December", + "dedicated_account_manager": "Dedicated account manager", + "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about Overleaf with promotional materials, training resources and webinars.", + "default": "Default", + "delete": "Delete", + "delete_account": "Delete Account", + "delete_account_confirmation_label": "I understand this will delete all projects in my __appName__ account with email address <0>__userDefaultEmail__", + "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", + "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", + "delete_and_leave": "Delete / Leave", + "delete_and_leave_projects": "Delete and Leave Projects", + "delete_authentication_token": "Delete Authentication token", + "delete_authentication_token_info": "You’re about to delete a Git authentication token. If you do, it can no longer be used to authenticate your identity when performing Git operations.", + "delete_certificate": "Delete certificate", + "delete_comment": "Delete comment", + "delete_comment_error_message": "There was an error deleting your comment. Please try again in a few moments.", + "delete_comment_error_title": "Delete Comment Error", + "delete_comment_message": "You cannot undo this action.", + "delete_comment_thread": "Delete comment thread", + "delete_comment_thread_message": "This will delete the whole comment thread. You cannot undo this action.", + "delete_figure": "Delete figure", + "delete_projects": "Delete Projects", + "delete_row_or_column": "Delete row or column", + "delete_sso_config": "Delete SSO configuration", + "delete_table": "Delete table", + "delete_tag": "Delete Tag", + "delete_token": "Delete token", + "delete_user": "Delete user", + "delete_your_account": "Delete your account", + "deleted_at": "Deleted At", + "deleted_by_email": "Deleted By email", + "deleted_by_id": "Deleted By ID", + "deleted_by_ip": "Deleted By IP", + "deleted_by_on": "Deleted by __name__ on __date__", + "deleting": "Deleting", + "demonstrating_git_integration": "Demonstrating Git integration", + "demonstrating_track_changes_feature": "Demonstrating Track Changes feature", + "department": "Department", + "descending": "Descending", + "description": "Description", + "details_provided_by_google_explanation": "Your details were provided by your Google account. Please check you’re happy with them.", + "dictionary": "Dictionary", + "did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features to everyone at __institutionName__?", + "disable_single_sign_on": "Disable single sign-on", + "disable_sso": "Disable SSO", + "disable_stop_on_first_error": "Disable “Stop on first error”", + "disabling": "Disabling", + "disconnected": "Disconnected", + "discount_of": "Discount of __amount__", + "discover_latex_templates_and_examples": "Discover LaTeX templates and examples to help with everything from writing a journal article to using a specific LaTeX package.", + "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust Overleaf with their work.", + "dismiss_error_popup": "Dismiss first error alert", + "display_deleted_user": "Display deleted users", + "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", + "do_not_link_accounts": "Don’t link accounts", + "do_you_need_edit_access": "Do you need edit access?", + "do_you_want_to_change_your_primary_email_address_to": "Do you want to change your primary email address to __email__?", + "do_you_want_to_overwrite_it": "Do you want to overwrite it?", + "do_you_want_to_overwrite_it_plural": "Do you want to overwrite them?", + "do_you_want_to_overwrite_them": "Do you want to overwrite them?", + "document_too_long": "Document Too Long", + "document_too_long_detail": "Sorry, this file is too long to be edited manually. Please try to split it into smaller files.", + "document_too_long_tracked_deletes": "You can also accept pending deletions to reduce the size of the file.", + "document_updated_externally": "Document Updated Externally", + "document_updated_externally_detail": "This document was just updated externally. Any recent changes you have made may have been overwritten. To see previous versions, please look in the history.", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "does not contain or significantly match your email", + "doesnt_match": "Doesn’t match", + "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_allow_log_in_through_institution_2": "Doing this will allow you to log in to <0>__appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Doing this will verify your affiliation with <0>__institutionName__ and will allow you to log in to <0>__appName__ through your institution.", + "done": "Done", + "dont_have_account": "Don’t have an account?", + "dont_have_account_without_question_mark": "Don’t have an account", + "download": "Download", + "download_all": "Download all", + "download_metadata": "Download Overleaf metadata", + "download_pdf": "Download PDF", + "download_zip_file": "Download .zip file", + "draft_sso_configuration": "Draft SSO configuration", + "drag_here": "drag here", + "drag_here_paste_an_image_or": "Drag here, paste an image, or ", + "drop_files_here_to_upload": "Drop files here to upload", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account.", + "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account using email address __otherUsersEmail__.", + "dropbox_checking_sync_status": "Checking Dropbox for updates", + "dropbox_duplicate_names_error": "Your Dropbox account can not be linked, because you have more than one project with the same name: ", + "dropbox_duplicate_project_names": "Your Dropbox account has been unlinked, because you have more than one project called <0>\"__projectName__\".", + "dropbox_duplicate_project_names_suggestion": "Please make your project names unique across all your <0>active, archived and trashed projects and then re-link your Dropbox account.", + "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", + "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won’t be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", + "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on Overleaf and vice versa.", + "dropbox_integration_lowercase": "Dropbox integration", + "dropbox_successfully_linked_description": "Thanks, we’ve successfully linked your Dropbox account to __appName__.", + "dropbox_sync": "Dropbox Sync", + "dropbox_sync_both": "Sending and receiving updates", + "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox account. Changes in __appName__ are automatically sent to your Dropbox account, and the other way around.", + "dropbox_sync_error": "Sorry, there was a problem checking our Dropbox service. Please try again in a few moments.", + "dropbox_sync_in": "Receiving updates from Dropbox", + "dropbox_sync_now_rate_limited": "Manual syncing is limited to one per minute. Please wait for a while and try again.", + "dropbox_sync_now_running": "A manual sync for this project has been started in the background. Please give it a few minutes to process.", + "dropbox_sync_out": "Sending updates to Dropbox", + "dropbox_sync_troubleshoot": "Changes not appearing in Dropbox? Please wait a few minutes. If changes still don’t appear, you can <0>sync this project now.", + "dropbox_synced": "Overleaf and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", + "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with Overleaf.", + "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with Overleaf.", + "dropbox_unlinked_premium_feature": "<0>Your Dropbox account has been unlinked because Dropbox Sync is a premium feature that you had through an institutional license.", + "due_date": "Due __date__", + "due_today": "Due today", + "duplicate_file": "Duplicate File", + "duplicate_projects": "This user has projects with duplicate names", + "each_user_will_have_access_to": "Each user will have access to", + "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your Overleaf plan.", + "easily_manage_your_project_files_everywhere": "Easily manage your project files, everywhere", + "easy_collaboration_for_students": "Easy collaboration for students. Supports longer or more complex projects.", + "edit": "Edit", + "edit_comment_error_message": "There was an error editing your comment. Please try again in a few moments.", + "edit_comment_error_title": "Edit Comment Error", + "edit_dictionary": "Edit Dictionary", + "edit_dictionary_empty": "Your custom dictionary is empty.", + "edit_dictionary_remove": "Remove from dictionary", + "edit_figure": "Edit figure", + "edit_sso_configuration": "Edit SSO Configuration", + "edit_tag": "Edit Tag", + "editing": "Editing", + "editing_and_collaboration": "Editing and collaboration", + "editing_captions": "Editing captions", + "editor": "Editor", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", + "editor_limit_exceeded_in_this_project": "Too many editors in this project", + "editor_only_hide_pdf": "Editor only <0>(hide PDF)", + "editor_theme": "Editor theme", + "educational_discount_applied": "40% educational discount applied!", + "educational_discount_available_for_groups_of_ten_or_more": "The educational discount is available for groups of 10 or more", + "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using Overleaf for teaching)", + "educational_discount_for_groups_of_ten_or_more": "Overleaf offers a 40% educational discount for groups of 10 or more.", + "educational_discount_for_groups_of_x_or_more": "The educational discount is available for groups of __size__ or more", + "educational_percent_discount_applied": "__percent__% educational discount applied!", + "email": "Email", + "email_address": "Email address", + "email_address_is_invalid": "Email address is invalid", + "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", + "email_already_registered": "This email is already registered", + "email_already_registered_secondary": "This email is already registered as a secondary email", + "email_already_registered_sso": "This email is already registered. Please log in to your account another way and link your account to the new provider via your account settings.", + "email_confirmed_onboarding": "Great! Let’s get you set up", + "email_confirmed_onboarding_message": "Your email address is confirmed. Click <0>Continue to finish your setup.", + "email_does_not_belong_to_university": "We don’t recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", + "email_limit_reached": "You can have a maximum of <0>__emailAddressLimit__ email addresses on this account. To add another email address, please delete an existing one.", + "email_link_expired": "Email link expired, please request a new one.", + "email_must_be_linked_to_institution": "As a member of __institutionName__, this email address can only be added via single sign-on on your <0>account settings page. Please add a different recovery email address.", + "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again.", + "email_or_password_wrong_try_again_or_reset": "Your email or password is incorrect. Please try again, or <0>set or reset your password.", + "email_required": "Email required", + "email_sent": "Email Sent", + "emails": "Emails", + "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", + "emails_and_affiliations_title": "Emails and Affiliations", + "empty": "Empty", + "empty_zip_file": "Zip doesn’t contain any file", + "en": "English", + "enable_managed_users": "Enable Managed Users", + "enable_single_sign_on": "Enable single sign-on", + "enable_sso": "Enable SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "Enable <0>“Stop on first error” under the <1>Recompile drop-down menu to help you find and fix errors right away.", + "enabled": "Enabled", + "enabling": "Enabling", + "end_of_document": "End of document", + "enter_6_digit_code": "Enter 6-digit code", + "enter_any_size_including_units_or_valid_latex_command": "Enter any size (including units) or valid LaTeX command", + "enter_image_url": "Enter image URL", + "enter_the_confirmation_code": "Enter the 6-digit confirmation code sent to __email__.", + "enter_your_email_address": "Enter your email address", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Enter your email address below, and we will send you a link to reset your password", + "enter_your_new_password": "Enter your new password", + "equation_preview": "Equation preview", + "error": "Error", + "error_opening_document": "Error opening document", + "error_opening_document_detail": "Sorry, something went wrong opening this document. Please try again.", + "error_performing_request": "An error has occurred while performing your request.", + "error_processing_file": "Sorry, something went wrong processing this file. Please try again.", + "error_submitting_comment": "Error submitting comment", + "es": "Spanish", + "estimated_number_of_overleaf_users": "Estimated number of __appName__ users", + "every": "per", + "everything_in_free_plus": "Everything in Free, plus…", + "everything_in_group_professional_plus": "Everything in Group Professional, plus…", + "everything_in_group_standard_plus": "Everything in Group Standard, plus…", + "everything_in_standard_plus": "Everything in Standard, plus…", + "example": "Example", + "example_project": "Example Project", + "examples": "Examples", + "examples_to_help_you_learn": "Examples to help you learn how to use powerful LaTeX packages and techniques.", + "exclusive_access_with_labs": "Exclusive access to early-stage experiments", + "existing_plan_active_until_term_end": "Your existing plan and its features will remain active until the end of the current billing period.", + "expand": "Expand", + "experiment_full": "Sorry, this experiment is full", + "expired": "Expired", + "expired_confirmation_code": "Your confirmation code has expired. Click <0>Resend confirmation code to get a new one.", + "expires": "Expires", + "expires_in_days": "Expires in __days__ days", + "expires_on": "Expires: __date__", + "expiry": "Expiry Date", + "explore_all_plans": "Explore all plans", + "export_csv": "Export CSV", + "export_project_to_github": "Export Project to GitHub", + "failed_to_send_group_invite_to_email": "Failed to send Group invite to <0>__email__. Please try again later.", + "failed_to_send_managed_user_invite_to_email": "Failed to send Managed User invite to <0>__email__. Please try again later.", + "failed_to_send_sso_link_invite_to_email": "Failed to send SSO invite reminder to <0>__email__. Please try again later.", + "faq_change_plans_or_cancel_answer": "Yes, you can do this at any time via your subscription settings. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When cancelling, your subscription will continue until the end of the billing period. If your account temporarily does not have a subscription, the only change will be to the features available to you. Your projects will always be available on your account.", + "faq_change_plans_or_cancel_question": "Can I change plans or cancel later?", + "faq_do_collab_need_on_paid_plan_answer": "No, they can be on any plan, including the free plan. If you are on a premium plan, some premium features will be available to your collaborators in projects that you have created, even if those collaborators are on the free plan. For more information, read about <0>account and subscriptions and <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Do my collaborators also need to be on a paid plan?", + "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one Overleaf account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", + "faq_how_does_a_group_plan_work_question": "How does a group plan work? How can I add people to the plan?", + "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", + "faq_how_free_trial_works_answer_v2": "You get full access to your chosen premium plan during your __len__ day free trial, and there is no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to your subscription settings in your account (the trial will continue for the full __len__ days).", + "faq_how_free_trial_works_question": "How does the free trial work?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In Overleaf, every user creates and manages their own Overleaf account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same Overleaf account.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in Overleaf.", + "faq_i_have_free_account_want_subscription_how_question": "I have a free account and want to join a subscription, how do I do that?", + "faq_pay_by_invoice_answer_v2": "Yes, if you’d like to purchase a group subscription for five or more people, or a site license. For individual subscriptions we can only accept payment online via credit card, debit card or PayPal.", + "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "No. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 collaborators to each project owned by you.", + "faq_the_individual_standard_plan_10_collab_question": "The individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "While working on a project that you, as a subscriber, share with them, your collaborators will be able to access some premium features such as the full document history and extended compile time for that particular project. Inviting them to a particular project does not upgrade their accounts overall, however. Read more about <0>which features are per project, and which are per account.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In Overleaf, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other Overleaf users that you are working with on one of your projects.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "What’s the difference between users and collaborators?", + "fast": "Fast", + "fastest": "Fastest", + "feature_included": "Feature included", + "feature_not_included": "Feature not included", + "featured": "Featured", + "featured_latex_templates": "Featured LaTeX Templates", + "features": "Features", + "features_and_benefits": "Features & Benefits", + "february": "February", + "file_action_created": "Created", + "file_action_deleted": "Deleted", + "file_action_edited": "Edited", + "file_action_renamed": "Renamed", + "file_action_restored": "Restored __fileName__ from: __date__", + "file_action_restored_project": "Restored project from __date__", + "file_already_exists": "A file or folder with this name already exists", + "file_already_exists_in_this_location": "An item named <0>__fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", + "file_name": "File Name", + "file_name_figure_modal": "File name", + "file_name_in_this_project": "File Name In This Project", + "file_name_in_this_project_figure_modal": "File name in this project", + "file_or_folder_name_already_exists": "A file or folder with this name already exists", + "file_outline": "File outline", + "file_size": "File size", + "file_too_large": "File too large", + "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", + "files_selected": "files selected.", + "fill_in_our_quick_survey": "Fill in our quick survey.", + "filter_projects": "Filter projects", + "filters": "Filters", + "find_out_more": "Find out More", + "find_out_more_about_institution_login": "Find out more about institutional login", + "find_out_more_about_the_file_outline": "Find out more about the file outline", + "find_out_more_nt": "Find out more.", + "finding_a_fix": "Finding a fix", + "first_name": "First Name", + "fit_to_height": "Fit to height", + "fit_to_width": "Fit to width", + "fixed_width": "Fixed width", + "fixed_width_wrap_text": "Fixed width, wrap text", + "flexible_plans_for_everyone": "Flexible plans for everyone—from individual students and researchers, to large businesses and universities.", + "fold_line": "Fold line", + "folder_location": "Folder location", + "folders": "Folders", + "following_paths_conflict": "The following files and folders conflict with the same path", + "font_family": "Font Family", + "font_size": "Font Size", + "footer_about_us": "About us", + "footer_contact_us": "Contact us", + "footer_navigation": "Footer navigation", + "footer_plans_and_pricing": "Plans & pricing", + "for_business": "For business", + "for_enterprise": "For enterprise", + "for_government": "For government", + "for_groups_or_site_wide": "For groups or site-wide", + "for_individuals_and_groups": "For individuals & groups", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "For large institutions and organizations that need site-wide access or an on-premises solution.", + "for_more_information_see_managed_accounts_section": "For more information, see the \"Managed Accounts\" section in <0>our terms of use, which you agree to by clicking Accept invitation.", + "for_publishers": "For publishers", + "for_small_teams_and_departments_who_want_to_write_collaborate": "For small teams and departments who want to write and collaborate easily in LaTeX.", + "for_students": "For students", + "for_students_only": "For students only", + "for_teaching": "For teaching", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "For teams and organizations who want a streamlined sign-on process and our strongest cloud security.", + "for_universities": "For universities", + "forever": "forever", + "forgot_your_password": "Forgot your password", + "format": "Format", + "found_matching_deleted_users": "Found __deletedUserCount__ matching deleted users", + "four_minutes": "4 minutes", + "fr": "French", + "free": "Free", + "free_7_day_trial_billed_annually": "Free 7-day trial, then billed annually", + "free_7_day_trial_billed_monthly": "Free 7-day trial, then billed monthly", + "free_dropbox_and_history": "Free Dropbox and History", + "free_plan_label": "You’re on the free plan", + "free_plan_tooltip": "Click to find out how you could benefit from Overleaf premium features.", + "frequently_asked_questions": "frequently asked questions", + "from_another_project": "From another project", + "from_enforcement_date": "From __enforcementDate__ any additional editors on this project will be made viewers.", + "from_external_url": "From external URL", + "from_filename": "From <0>__filename__", + "from_github": "From GitHub", + "from_project_files": "From project files", + "from_provider": "From __provider__", + "from_url": "From URL", + "full_doc_history": "Full document history", + "full_doc_history_info_v2": "You can see all the edits in your project and who made every change. Add labels to quickly access specific versions.", + "full_document_history": "Full document <0>history", + "full_project_search": "Full Project Search", + "full_width": "Full width", + "gallery": "Gallery", + "gallery_find_more": "Find More __itemPlural__", + "gallery_items_tagged": "__itemPlural__ tagged __title__", + "gallery_page_items": "Gallery Items", + "gallery_page_summary": "A gallery of up-to-date and stylish LaTeX templates, examples to help you learn LaTeX, and papers and presentations published by our community. Search or browse below.", + "gallery_page_title": "Gallery - Templates, Examples and Articles written in LaTeX", + "gallery_show_all": "Show all __itemPlural__", + "generate_token": "Generate token", + "generic_if_problem_continues_contact_us": "If the problem continues please contact us", + "generic_linked_file_compile_error": "This project’s output files are not available because it failed to compile. Please open the project to see the compilation error details.", + "generic_something_went_wrong": "Sorry, something went wrong", + "get_advanced_reference_search": "Get advanced reference search", + "get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline", + "get_discounted_plan": "Get discounted plan", + "get_dropbox_sync": "Get Dropbox Sync", + "get_early_access_to_ai": "Get early access to the new AI Error Assistant in Overleaf Labs", + "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join Overleaf Labs. All we ask in return is your honest feedback to help us develop and improve.", + "get_full_project_history": "Get full project history", + "get_git_integration": "Get Git integration", + "get_github_sync": "Get GitHub Sync", + "get_in_touch": "Get in touch", + "get_in_touch_having_problems": "Get in touch with support if you’re having problems", + "get_involved": "Get involved", + "get_more_compile_time": "Get more compile time", + "get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features.", + "get_some_texnical_assistance": "Get some TeXnical assistance from AI to fix errors in your project.", + "get_symbol_palette": "Get Symbol Palette", + "get_the_best_overleaf_experience": "Get the best Overleaf experience", + "get_the_best_writing_experience": "Get the best writing experience", + "get_the_most_out_headline": "Get the most out of __appName__ with features such as:", + "get_track_changes": "Get track changes", + "git": "Git", + "git_authentication_token": "Git authentication token", + "git_authentication_token_create_modal_info_1": "This is your Git authentication token. You should enter this when prompted for a password.", + "git_authentication_token_create_modal_info_2": "<0>You will only see this authentication token once so please copy it and keep it safe. For full instructions on using authentication tokens, visit our <1>help page.", + "git_bridge_modal_click_generate": "Click Generate token to generate your authentication token now. Or do this later in your Account Settings.", + "git_bridge_modal_enter_authentication_token": "When prompted for a password, enter your new authentication token:", + "git_bridge_modal_git_authentication_tokens": "Git authentication tokens", + "git_bridge_modal_git_clone_your_project": "Git clone your project by using the link below and a Git authentication token", + "git_bridge_modal_learn_more_about_authentication_tokens": "Learn more about Git integration authentication tokens.", + "git_bridge_modal_read_only": "You have read-only access to this project. This means you can pull from __appName__ but you can’t push any changes you make back to this project.", + "git_bridge_modal_see_once": "You’ll only see this token once. To delete it or generate a new one, visit Account Settings. For detailed instructions and troubleshooting, read our <0>help page.", + "git_bridge_modal_use_previous_token": "If you’re prompted for a password, you can use a previously generated Git authentication token. Or you can generate a new one in Account Settings. For more support, read our <0>help page.", + "git_bridge_modal_you_can_also_git_clone": "You can also git clone your project by using the link below and a Git authentication token.", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git, GitHub, Dropbox, Mendeley, and Zotero integrations", + "git_integration": "Git Integration", + "git_integration_info": "With Git integration, you can clone your Overleaf projects with Git. For full instructions on how to do this, read <0>our help page.", + "git_integration_lowercase": "Git integration", + "git_integration_lowercase_info": "You can clone your Overleaf project to a local repository, treating your Overleaf project as a remote repository that changes can be pushed to and pulled from.", + "github": "GitHub", + "github_commit_message_placeholder": "Commit message for changes made in __appName__...", + "github_credentials_expired": "Your GitHub authorization credentials have expired", + "github_empty_repository_error": "It looks like your GitHub repository is empty or not yet available. Create a new file on GitHub.com then try again.", + "github_file_name_error": "This repository cannot be imported, because it contains file(s) with an invalid filename:", + "github_file_sync_error": "We are unable to sync the following files:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git and <0>Dropbox integrations", + "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The Overleaf GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", + "github_integration_lowercase": "Git and GitHub integration", + "github_is_no_longer_connected": "GitHub is no longer connected to this project.", + "github_is_premium": "GitHub Sync is a premium feature", + "github_large_files_error": "Merge failed: your GitHub repository contains files over the 50mb file size limit ", + "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the <0>__sharelatex_branch__ branch into the default branch in git. Click below to continue, after you have manually merged.", + "github_no_master_branch_error": "This repository cannot be imported as it is missing a default branch. Please make sure the project has a default branch", + "github_only_integration_lowercase": "GitHub integration", + "github_only_integration_lowercase_info": "Link your Overleaf projects directly to a GitHub repository that acts as a remote repository for your overleaf project. This allows you to share with collaborators outside of Overleaf, and integrate Overleaf into more complex workflows.", + "github_private_description": "You choose who can see and commit to this repository.", + "github_public_description": "Anyone can see this repository. You choose who can commit.", + "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause Overleaf and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", + "github_successfully_linked_description": "Thanks, we’ve successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", + "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by Overleaf. Please remove these and try again.", + "github_sync": "GitHub Sync", + "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories, create new commits from __appName__, and merge commits from GitHub.", + "github_sync_error": "Sorry, there was a problem checking our GitHub service. Please try again in a few moments.", + "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the ‘GitHub’ menu item. You can also unlink the repository from this project.", + "github_timeout_error": "Syncing your Overleaf project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", + "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", + "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", + "github_workflow_authorize": "Authorize GitHub Workflow files", + "github_workflow_files_delete_github_repo": "The repository has been created on GitHub but linking was unsuccessful. You will have to delete GitHub repository or choose a new name.", + "github_workflow_files_error": "The __appName__ GitHub sync service couldn’t sync GitHub Workflow files (in .github/workflows/). Please authorize __appName__ to edit your GitHub workflow files and try again.", + "give_feedback": "Give feedback", + "give_your_feedback": "give your feedback", + "global": "global", + "go_back_and_link_accts": "Go back and link your accounts", + "go_next_page": "Go to Next Page", + "go_page": "Go to page __page__", + "go_prev_page": "Go to Previous Page", + "go_to_account_settings": "Go to Account Settings", + "go_to_code_location_in_pdf": "Go to code location in PDF", + "go_to_first_page": "Go to first page", + "go_to_last_page": "Go to last page", + "go_to_next_page": "Go to next page", + "go_to_overleaf": "Go to Overleaf", + "go_to_page_x": "Go to page __page__", + "go_to_pdf_location_in_code": "Go to PDF location in code (Tip: double click on the PDF for best results)", + "go_to_previous_page": "Go to previous page", + "go_to_settings": "Go to settings", + "great_for_getting_started": "Great for getting started", + "great_for_small_teams_and_departments": "Great for small teams and departments", + "group": "Group", + "group_admin": "Group admin", + "group_admins_get_access_to": "Group admins get access to", + "group_admins_get_access_to_info": "Special features available only on group plans.", + "group_full": "This group is already full", + "group_invitations": "Group Invitations", + "group_invite_has_been_sent_to_email": "Group invite has been sent to <0>__email__", + "group_libraries": "Group Libraries", + "group_managed_by_group_administrator": "User accounts in this group are managed by the group administrator.", + "group_members_and_collaborators_get_access_to": "Group members and their project collaborators get access to", + "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other Overleaf users invited to projects owned by a group member).", + "group_members_get_access_to": "Group members get access to", + "group_members_get_access_to_info": "These features are available only to group members (subscribers).", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your Overleaf premium features.", + "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your Overleaf premium features.", + "group_plans": "Group Plans", + "group_professional": "Group Professional", + "group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata. You can add this manually or click <1>Import IdP metadata to import an XML file.", + "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure Overleaf as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the Overleaf metadata.", + "group_sso_documentation_links": "Please see our <0>documentation and <1>troubleshooting guide for more help.", + "group_standard": "Group Standard", + "group_subscription": "Group Subscription", + "groups": "Groups", + "have_an_extra_backup": "Have an extra backup", + "have_more_days_to_try": "Have another __days__ days on your Trial!", + "headers": "Headers", + "help": "Help", + "help_articles_matching": "Help articles matching your subject", + "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve Overleaf, please take a moment to fill out <0>this survey.", + "help_improve_screen_reader_fill_out_this_survey": "Help us improve your experience using a screen reader with __appName__ by filling out this quick survey.", + "hide_configuration": "Hide configuration", + "hide_deleted_user": "Hide deleted users", + "hide_document_preamble": "Hide document preamble", + "hide_local_file_contents": "Hide Local File Contents", + "hide_outline": "Hide File outline", + "history": "History", + "history_add_label": "Add label", + "history_adding_label": "Adding label", + "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", + "history_compare_from_this_version": "Compare from this version", + "history_compare_up_to_this_version": "Compare up to this version", + "history_delete_label": "Delete label", + "history_deleting_label": "Deleting label", + "history_download_this_version": "Download this version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Created by", + "history_label_project_current_state": "Current state", + "history_label_this_version": "Label this version", + "history_new_label_name": "New label name", + "history_restore_promo_content": "Now you can restore a single file or your whole project to a previous version, including comments and tracked changes. Click Restore this version to restore the selected file or use the <0> menu in the history entry to restore the full project.", + "history_restore_promo_title": "Need to turn back time?", + "history_resync": "History resync", + "history_view_a11y_description": "Show all of the project history or only labelled versions.", + "history_view_all": "All history", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Hit Enter to reply", + "home": "Home", + "hotkey_add_a_comment": "Add a comment", + "hotkey_autocomplete_menu": "Autocomplete Menu", + "hotkey_beginning_of_document": "Beginning of document", + "hotkey_bold_text": "Bold text", + "hotkey_compile": "Compile", + "hotkey_delete_current_line": "Delete Current Line", + "hotkey_end_of_document": "End of document", + "hotkey_find_and_replace": "Find (and replace)", + "hotkey_go_to_line": "Go To Line", + "hotkey_indent_selection": "Indent Selection", + "hotkey_insert_candidate": "Insert Candidate", + "hotkey_italic_text": "Italic Text", + "hotkey_redo": "Redo", + "hotkey_search_references": "Search References", + "hotkey_select_all": "Select All", + "hotkey_select_candidate": "Select Candidate", + "hotkey_to_lowercase": "To Lowercase", + "hotkey_to_uppercase": "To Uppercase", + "hotkey_toggle_comment": "Toggle Comment", + "hotkey_toggle_review_panel": "Toggle review panel", + "hotkey_toggle_track_changes": "Toggle track changes", + "hotkey_undo": "Undo", + "hotkeys": "Hotkeys", + "how_it_works": "How it works", + "how_many_users_do_you_need": "How many users do you need?", + "how_to_create_tables": "How to create tables", + "how_to_insert_images": "How to insert images", + "how_we_use_your_data": "How we use your data", + "how_we_use_your_data_explanation": "<0>Please help us continue to improve Overleaf by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your Overleaf experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", + "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "i_want_to_stay": "I want to stay", + "id": "ID", + "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", + "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", + "if_you_need_to_customize_your_table_further_you_can": "If you need to customize your table further, you can. Using LaTeX code, you can change anything from table styles and border styles to colors and column widths. <0>Read our guide to using tables in LaTeX to help you get started.", + "if_your_occupation_not_listed_type_full_name": "If your __occupation__ isn’t listed, you can type the full name.", + "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", + "ignore_validation_errors": "Don’t check syntax", + "ill_take_it": "I’ll take it!", + "image_file": "Image file", + "image_url": "Image URL", + "image_width": "Image width", + "import_a_bibtex_file_from_your_provider_account": "Import a BibTeX file from your __provider__ account", + "import_from_github": "Import from GitHub", + "import_idp_metadata": "Import IdP metadata", + "import_to_sharelatex": "Import to __appName__", + "imported_from_another_project_at_date": "Imported from <0>Another project/__sourceEntityPathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Imported from <0>__shortenedUrlHTML__ at __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Imported from Mendeley at __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Imported from the output of <0>Another project: __sourceOutputFilePathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Imported from Zotero at __formattedDate__ __relativeDate__", + "importing": "Importing", + "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", + "in_good_company": "You’re In Good Company", + "in_order_to_have_a_secure_account_make_sure_your_password": "To help keep your account secure, make sure your new password:", + "in_order_to_match_institutional_metadata_2": "In order to match your institutional metadata, we’ve linked your account using <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", + "include_caption": "Include caption", + "include_label": "Include label", + "include_results_from_your_reference_manager": "Include results from your reference manager", + "include_results_from_your_x_account": "Include results from your __provider__ account", + "include_the_error_message_and_ai_response": "Include the error message and AI response", + "increased_compile_timeout": "Increased compile timeout", + "individuals": "Individuals", + "indvidual_plans": "Individual Plans", + "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", + "inr_discount_modal_title": "70% off all Overleaf premium plans for users in India", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 70% discount to premium plans for our users in India. Check out the new lower prices below.", + "insert": "Insert", + "insert_column_left": "Insert column left", + "insert_column_right": "Insert column right", + "insert_figure": "Insert figure", + "insert_from_another_project": "Insert from another project", + "insert_from_project_files": "Insert from project files", + "insert_from_url": "Insert from URL", + "insert_image": "Insert image", + "insert_row_above": "Insert row above", + "insert_row_below": "Insert row below", + "insert_x_columns_left": "Insert __columns__ columns left", + "insert_x_columns_right": "Insert __columns__ columns right", + "insert_x_rows_above": "Insert __rows__ rows above", + "insert_x_rows_below": "Insert __rows__ rows below", + "institution": "Institution", + "institution_account": "Institution Account", + "institution_account_tried_to_add_affiliated_with_another_institution": "This email is already associated with your account but affiliated with another institution.", + "institution_account_tried_to_add_already_linked": "This institution is already linked with your account via another email address.", + "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", + "institution_account_tried_to_add_not_affiliated": "This email is already associated with your account but not affiliated with this institution.", + "institution_account_tried_to_confirm_saml": "This email cannot be confirmed. Please remove the email from your account and try adding it again.", + "institution_acct_successfully_linked_2": "Your <0>__appName__ account was successfully linked to your <0>__institutionName__ institutional account.", + "institution_and_role": "Institution and role", + "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", + "institution_has_overleaf_subscription": "<0>__institutionName__ has an Overleaf subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>Overleaf Professional.", + "institution_templates": "Institution Templates", + "institutional": "Institutional", + "institutional_leavers_survey_notification": "Provide some quick feedback to receive a 25% discount on an annual subscription!", + "institutional_login_not_supported": "Your institution doesn’t support institutional login yet, but you can still register with your institutional email.", + "institutional_login_unknown": "Sorry, we don’t know which institution issued that email address. You can browse our list of institutions to find yours, or you can use one of the other options below.", + "integrations": "Integrations", + "interested_in_cheaper_personal_plan": "Would you be interested in the cheaper <0>__price__ Personal plan?", + "invalid_certificate": "Invalid certificate. Please check the certificate and try again.", + "invalid_confirmation_code": "That didn’t work. Please check the code and try again.", + "invalid_email": "An email address is invalid", + "invalid_file_name": "Invalid File Name", + "invalid_filename": "Upload failed: check that the file name doesn’t contain special characters, trailing/leading whitespace or more than __nameLimit__ characters", + "invalid_institutional_email": "Your institution’s SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution’s domain. Please contact your IT department if you have any questions.", + "invalid_password": "Invalid Password", + "invalid_password_contains_email": "Password cannot contain parts of email address", + "invalid_password_invalid_character": "Password contains an invalid character", + "invalid_password_not_set": "Password is required", + "invalid_password_too_long": "Maximum password length __maxLength__ exceeded", + "invalid_password_too_short": "Password too short, minimum __minLength__", + "invalid_password_too_similar": "Password is too similar to parts of email address", + "invalid_request": "Invalid Request. Please correct the data and try again.", + "invalid_zip_file": "Invalid zip file", + "invite": "Invite", + "invite_expired": "The invite may have expired", + "invite_more_collabs": "Invite more collaborators", + "invite_not_accepted": "Invite not yet accepted", + "invite_not_valid": "This is not a valid project invite", + "invite_not_valid_description": "The invite may have expired. Please contact the project owner", + "invite_resend_limit_hit": "The invite resend limit hit", + "invited_to_group": "<0>__inviterName__ has invited you to join a group subscription on __appName__", + "invited_to_group_have_individual_subcription": "__inviterName__ has invited you to join a group __appName__ subscription. If you join this group, you may not need your individual subscription. Would you like to cancel it?", + "invited_to_group_login": "To accept this invitation you need to log in as __emailAddress__.", + "invited_to_group_login_benefits": "As part of this group, you’ll have access to __appName__ premium features such as additional collaborators, greater maximum compile time, and real-time track changes.", + "invited_to_group_register": "To accept __inviterName__’s invitation you’ll need to create an account.", + "invited_to_group_register_benefits": "__appName__ is a collaborative online LaTeX editor, with thousands of ready-to-use templates and an array of LaTeX learning resources to help you get started.", + "invited_to_join": "You have been invited to join", + "ip_address": "IP Address", + "is_email_affiliated": "Is your email affiliated with an institution? ", + "is_longer_than_n_characters": "is at least __n__ characters long", + "is_not_used_on_any_other_website": "is not used on any other website", + "issued_on": "Issued: __date__", + "it": "Italian", + "ja": "Japanese", + "january": "January", + "join_beta_program": "Join beta program", + "join_labs": "Join Labs", + "join_now": "Join now", + "join_overleaf_labs": "Join Overleaf Labs", + "join_project": "Join Project", + "join_sl_to_view_project": "Join __appName__ to view this project", + "join_team_explanation": "Please click the button below to join the group subscription and enjoy the benefits of an upgraded __appName__ account", + "joined_team": "You have joined the group subscription managed by __inviterName__", + "joining": "Joining", + "july": "July", + "june": "June", + "justify": "Justify", + "kb_suggestions_enquiry": "Have you checked our <0>__kbLink__?", + "keep_current_plan": "Keep my current plan", + "keep_personal_projects_separate": "Keep personal projects separate", + "keep_your_account_safe": "Keep your account safe", + "keep_your_account_safe_add_another_email": "Keep your account safe and make sure you don’t lose access to it by adding another email address.", + "keep_your_email_updated": "Keep your email updated so that you don’t lose access to your account and data.", + "keybindings": "Keybindings", + "knowledge_base": "knowledge base", + "ko": "Korean", + "labels_help_you_to_easily_reference_your_figures": "Labels help you to easily reference your figures throughout your document. To reference a figure within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference figures without needing to manually remember the figure numbering. <1>Learn more", + "labels_help_you_to_reference_your_tables": "Labels help you to reference your tables throughout your document easily. To reference a table within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference tables without manually remembering the table numbering. <1>Read about labels and cross-references.", + "labs_program_benefits": "By signing up for Overleaf Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", + "language": "Language", + "language_feedback": "Language Feedback", + "large_or_high-resolution_images_taking_too_long": "Large or high-resolution images taking too long to process. You may be able to <0>optimize them.", + "last_active": "Last Active", + "last_active_description": "Last time a project was opened.", + "last_edit": "Last edit", + "last_logged_in": "Last logged in", + "last_modified": "Last Modified", + "last_name": "Last Name", + "last_resort_trouble_shooting_guide": "If that doesn’t help, follow our <0>troubleshooting guide.", + "last_suggested_fix": "Last suggested fix", + "last_updated": "Last Updated", + "last_updated_date_by_x": "__lastUpdatedDate__ by __person__", + "last_used": "last used", + "latam_discount_modal_info": "Unlock the full potential of Overleaf with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", + "latam_discount_modal_title": "Premium subscription discount", + "latam_discount_offer_plans_page_banner": "__flag__ We’ve applied a __discount__ discount to premium plans on this page for our users in __country__. Check out the new lower prices (in __currency__).", + "latex_articles_page_summary": "Papers, presentations, reports and more, written in LaTeX and published by our community. Search or browse below.", + "latex_articles_page_title": "Articles - Papers, Presentations, Reports and more", + "latex_examples": "LaTeX examples", + "latex_examples_page_summary": "Examples of powerful LaTeX packages and techniques in use — a great way to learn LaTeX by example. Search or browse below.", + "latex_examples_page_title": "Examples - Equations, Formatting, TikZ, Packages and More", + "latex_in_thirty_minutes": "LaTeX in 30 minutes", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX places figures according to a special algorithm. You can use something called ‘placement parameters’ to influence the positioning of the figure. <0>Find out how", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX places tables according to a special algorithm. You can use “placement parameters” to influence the position of the table. <0>This article explains how to do this.", + "latex_templates": "LaTeX Templates", + "latex_templates_and_examples": "LaTeX templates and examples", + "latex_templates_for_journal_articles": "LaTeX templates for journal articles, academic papers, CVs and résumés, presentations, and more.", + "layout": "Layout", + "layout_processing": "Layout processing", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", + "learn": "Learn", + "learn_more": "Learn more", + "learn_more_about_account": "<0>Learn more about managing your __appName__ account.", + "learn_more_about_emails": "<0>Learn more about managing your __appName__ emails.", + "learn_more_about_link_sharing": "Learn more about Link Sharing", + "learn_more_about_managed_users": "Learn more about Managed Users.", + "learn_more_about_other_causes_of_compile_timeouts": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "learn_more_lowercase": "learn more", + "leave": "Leave", + "leave_any_group_subscriptions": "Leave any group subscriptions other than the one that will be managing your account. <0>Leave them from the Subscription page.", + "leave_group": "Leave group", + "leave_labs": "Leave Overleaf Labs", + "leave_now": "Leave now", + "leave_project": "Leave Project", + "leave_projects": "Leave Projects", + "left": "Left", + "length_unit": "Length unit", + "let_us_know": "Let us know", + "let_us_know_how_we_can_help": "Let us know how we can help", + "let_us_know_what_you_think": "Let us know what you think", + "lets_fix_your_errors": "Let’s fix your errors", + "library": "Library", + "license": "License", + "license_for_educational_purposes": "This license is for educational purposes (applies to students or faculty using __appName__ for teaching)", + "limited_offer": "Limited offer", + "limited_to_n_editors": "Limited to __count__ editor", + "limited_to_n_editors_per_project": "Limited to __count__ editor per project", + "limited_to_n_editors_per_project_plural": "Limited to __count__ editors per project", + "limited_to_n_editors_plural": "Limited to __count__ editors", + "line_height": "Line Height", + "line_width_is_the_width_of_the_line_in_the_current_environment": "Line width is the width of the line in the current environment. e.g. a full page width in single-column layout or half a page width in a two-column layout.", + "link": "Link", + "link_account": "Link Account", + "link_accounts": "Link Accounts", + "link_accounts_and_add_email": "Link Accounts and Add Email", + "link_institutional_email_get_started": "Link an institutional email address to your account to get started.", + "link_sharing": "Link sharing", + "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", + "link_sharing_is_off_short": "Link sharing is off", + "link_sharing_is_on": "Link sharing is on", + "link_to_github": "Link to your GitHub account", + "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", + "link_to_mendeley": "Link to Mendeley", + "link_to_zotero": "Link to Zotero", + "link_your_accounts": "Link your accounts", + "linked_accounts": "linked accounts", + "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below.", + "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", + "linked_file": "Imported file", + "links": "Links", + "loading": "Loading", + "loading_content": "Creating Project", + "loading_github_repositories": "Loading your GitHub repositories", + "loading_prices": "loading prices", + "loading_recent_github_commits": "Loading recent commits", + "loading_writefull": "Loading Writefull", + "log_entry_description": "Log entry with level: __level__", + "log_entry_maximum_entries": "Maximum log entries limit hit", + "log_entry_maximum_entries_enable_stop_on_first_error": "Try to fix the first error and recompile. Often one error causes many later error messages. You can <0>Enable “Stop on first error” to focus on fixing errors. We recommend fixing errors as soon as possible; letting them accumulate may lead to hard-to-debug and fatal errors. <1>Learn more", + "log_entry_maximum_entries_see_full_logs": "If you need to see the full logs, you can still download them or view the raw logs below.", + "log_entry_maximum_entries_title": "__total__ log messages total. Showing the first __displayed__", + "log_hint_extra_info": "Learn more", + "log_in": "Log in", + "log_in_and_link": "Log in and link", + "log_in_and_link_accounts": "Log in and link accounts", + "log_in_first_to_proceed": "You will need to log in first to proceed.", + "log_in_now": "Log in now", + "log_in_with": "Log in with __provider__", + "log_in_with_a_different_account": "Log in with a different account", + "log_in_with_email": "Log in with __email__", + "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", + "log_in_with_primary_email_address": "This will be the email address to use if you log in with an email address and password. Important __appName__ notifications will be sent to this email address.", + "log_in_with_sso": "Log in with SSO", + "log_in_with_sso_email": "Work or university email address", + "log_out": "Log Out", + "log_out_from": "Log out from __email__", + "log_out_lowercase_dot": "Log out.", + "log_viewer_error": "There was a problem displaying this project’s compilation errors and logs.", + "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", + "logging_in": "Logging in", + "logging_in_or_managing_your_account": "Logging in or managing your account", + "login": "Login", + "login_count": "Login count", + "login_error": "Login error", + "login_failed": "Login failed", + "login_here": "Login here", + "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", + "login_to_overleaf": "Log in to Overleaf", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", + "longer_compile_timeout_on_faster_servers": "Longer compile timeout on faster servers", + "looking_multiple_licenses": "Looking for multiple licenses?", + "looks_like_logged_in_with_email": "It looks like you’re already logged in to __appName__ with the email __email__.", + "looks_like_youre_at": "It looks like you’re at <0>__institutionName__.", + "lost_connection": "Lost Connection", + "main_bibliography_file_for_this_project": "Main bibliography file for this project", + "main_document": "Main document", + "main_file_not_found": "Unknown main document", + "main_navigation": "Main navigation", + "maintenance": "Maintenance", + "make_a_copy": "Make a copy", + "make_email_primary_description": "Make this the primary email, used to log in", + "make_owner": "Make owner", + "make_primary": "Make Primary", + "make_private": "Make Private", + "manage_beta_program_membership": "Manage Beta Program Membership", + "manage_files_from_your_dropbox_folder": "Manage files from your Dropbox folder", + "manage_group_managers": "Manage group managers", + "manage_group_members_subtext": "Add or remove members from your group subscription", + "manage_group_settings": "Manage group settings", + "manage_group_settings_subtext": "Configure and manage SSO and Managed Users", + "manage_group_settings_subtext_group_sso": "Configure and manage SSO", + "manage_group_settings_subtext_managed_users": "Turn on Managed Users", + "manage_institution_managers": "Manage institution managers", + "manage_managers_subtext": "Assign or remove manager privileges", + "manage_members": "Manage members", + "manage_newsletter": "Manage Your Newsletter Preferences", + "manage_publisher_managers": "Manage publisher managers", + "manage_sessions": "Manage Your Sessions", + "manage_subscription": "Manage Subscription", + "managed": "Managed", + "managed_user_accounts": "Managed user accounts", + "managed_user_invite_has_been_sent_to_email": "Managed User invite has been sent to <0>__email__", + "managed_users": "Managed Users", + "managed_users_accounts": "Managed user accounts", + "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of Overleaf. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", + "managed_users_explanation": "Managed Users ensures you stay in control of your organization’s projects and who owns them. <0>Read more about Managed Users.", + "managed_users_gives_gives_you_more_control_over_your_group": "Managed Users gives you more control over your group’s use of __appName__. It ensures tighter management of user access and deletion and allows you to keep control of your projects when someone leaves the group.", + "managed_users_is_enabled": "Managed Users is enabled", + "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of Overleaf in place of any previously agreed Overleaf terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", + "managers_cannot_remove_admin": "Admins cannot be removed", + "managers_cannot_remove_self": "Managers cannot remove themselves", + "managers_management": "Managers management", + "managing_your_subscription": "Managing your subscription", + "march": "March", + "mark_as_resolved": "Mark as resolved", + "marked_as_resolved": "Marked as resolved", + "math_display": "Math Display", + "math_inline": "Math Inline", + "max_collab_per_project": "Max. collaborators per project", + "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an Overleaf account. They can be different people in each project.", + "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", + "may": "May", + "maybe_later": "Maybe later", + "member_picker": "Select number of users for group plan", + "members_management": "Members management", + "mendeley": "Mendeley", + "mendeley_cta": "Get Mendeley integration", + "mendeley_groups_loading_error": "There was an error loading groups from Mendeley", + "mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "mendeley_integration": "Mendeley Integration", + "mendeley_integration_lowercase": "Mendeley integration", + "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", + "mendeley_is_premium": "Mendeley integration is a premium feature", + "mendeley_reference_loading_error": "Error, could not load references from Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", + "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", + "mendeley_sync_description": "With the Mendeley integration you can import your references from Mendeley into your __appName__ projects.", + "menu": "Menu", + "merge": "Merge", + "merge_cells": "Merge cells", + "merging": "Merging", + "message_received": "Message received", + "missing_field_for_entry": "Missing field for", + "missing_fields_for_entry": "Missing fields for", + "money_back_guarantee": "30-day money back guarantee, no questions asked", + "month": "month", + "monthly": "Monthly", + "more": "More", + "more_actions": "More actions", + "more_comments": "More comments", + "more_info": "More Info", + "more_lowercase": "more", + "more_options": "More options", + "more_options_for_border_settings_coming_soon": "More options for border settings coming soon.", + "more_project_collaborators": "<0>More project <0>collaborators", + "more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "most_popular": "most popular", + "most_popular_uppercase": "Most popular", + "must_be_email_address": "Must be an email address", + "must_be_purchased_online": "Must be purchased online", + "my_library": "My Library", + "n_items": "__count__ item", + "n_items_plural": "__count__ items", + "n_matches": "__n__ matches", + "n_more_updates_above": "__count__ more update above", + "n_more_updates_above_plural": "__count__ more updates above", + "n_more_updates_below": "__count__ more update below", + "n_more_updates_below_plural": "__count__ more updates below", + "n_users": "__userCount__ users", + "name": "Name", + "name_usage_explanation": "Your name will be displayed to your collaborators (so they know who they’re working with).", + "native": "Native", + "navigate_log_source": "Navigate to log position in source code: __location__", + "navigation": "Navigation", + "nearly_activated": "You’re one step away from activating your __appName__ account!", + "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", + "need_contact_group_admin_to_make_changes": "You’ll need to contact your group admin if you want to make certain changes to your account. <0>Read more about managed users.", + "need_make_changes": "You need to make some changes", + "need_more_than_50_users": "Need more than 50 users?", + "need_more_than_to_licenses_get_in_touch": "Need more than 50 licenses? Please get in touch", + "need_more_than_x_licenses": "Need more than __x__ licenses?", + "need_to_add_new_primary_before_remove": "You’ll need to add a new primary email address before you can remove this one.", + "need_to_leave": "Need to leave?", + "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", + "new_compile_domain_notice": "We’ve recently migrated PDF downloads to a new domain. Something might be blocking your browser from accessing that new domain, <0>__compilesUserContentDomain__. This could be caused by network blocking or a strict browser plugin rule. Please follow our <1>troubleshooting guide.", + "new_file": "New file", + "new_folder": "New folder", + "new_name": "New Name", + "new_password": "New Password", + "new_project": "New Project", + "new_snippet_project": "Untitled", + "new_subscription_will_be_billed_immediately": "Your new subscription will be billed immediately to your current payment method.", + "new_tag": "New Tag", + "new_tag_name": "New tag name", + "newsletter": "Newsletter", + "newsletter_info_note": "Please note: you will still receive important emails, such as project invites and security notifications (password resets, account linking, etc).", + "newsletter_info_subscribed": "You are currently <0>subscribed to the __appName__ newsletter. If you would prefer not to receive this email then you can unsubscribe at any time.", + "newsletter_info_summary": "Every few months we send a newsletter out summarizing the new features available.", + "newsletter_info_title": "Newsletter Preferences", + "newsletter_info_unsubscribed": "You are currently <0>unsubscribed to the __appName__ newsletter.", + "newsletter_onboarding_accept": "I’d like emails about product offers and company news and events.", + "next": "Next", + "next_page": "Next page", + "next_payment_of_x_collectected_on_y": "The next payment of <0>__paymentAmmount__ will be collected on <1>__collectionDate__.", + "nl": "Dutch", + "no": "Norwegian", + "no_actions": "No actions", + "no_articles_matching_your_tags": "There are no articles matching your tags", + "no_borders": "No borders", + "no_caption": "No caption", + "no_comments": "No comments", + "no_comments_or_suggestions": "No comments or suggestions", + "no_existing_password": "Please use the password reset form to set your password", + "no_featured_templates": "No featured templates", + "no_folder": "No folder", + "no_groups_selected": "No groups selected", + "no_i_dont_need_these": "No, I don’t need these", + "no_image_files_found": "No image files found", + "no_members": "No members", + "no_messages": "No messages", + "no_new_commits_in_github": "No new commits in GitHub since last merge.", + "no_one_has_commented_or_left_any_suggestions_yet": "No one has commented or left any suggestions yet.", + "no_other_projects_found": "No other projects found, please create another project first", + "no_other_sessions": "No other sessions active", + "no_pdf_error_explanation": "This compile didn’t produce a PDF. This can happen if:", + "no_pdf_error_reason_no_content": "The document environment contains no content. If it’s empty, please add some content and compile again.", + "no_pdf_error_reason_output_pdf_already_exists": "This project contains a file called output.pdf. If that file exists, please rename it and compile again.", + "no_pdf_error_reason_unrecoverable_error": "There is an unrecoverable LaTeX error. If there are LaTeX errors shown below or in the raw logs, please try to fix them and compile again.", + "no_pdf_error_title": "No PDF", + "no_planned_maintenance": "There is currently no planned maintenance", + "no_preview_available": "Sorry, no preview is available.", + "no_projects": "No projects", + "no_resolved_comments": "No resolved comments", + "no_resolved_threads": "No resolved threads", + "no_search_results": "No Search Results", + "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", + "no_symbols_found": "No symbols found", + "no_thanks_cancel_now": "No thanks, I still want to cancel", + "no_update_email": "No, update email", + "normal": "Normal", + "normally_x_price_per_month": "Normally __price__ per month", + "normally_x_price_per_year": "Normally __price__ per year", + "not_found_error_from_the_supplied_url": "The link to open this content on Overleaf pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "not_managed": "Not managed", + "not_now": "Not now", + "not_registered": "Not registered", + "note_features_under_development": "<0>Please note that features in this program are still being tested and actively developed. This means that they might <0>change, be <0>removed or <0>become part of a premium plan", + "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to all of Overleaf’s Professional features.", + "notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription. To avoid paying more than you need to, <1>review your subscriptions.", + "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to Overleaf’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", + "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", + "notification_project_invite_accepted_message": "You’ve joined __projectName__", + "notification_project_invite_message": "__userName__ would like you to join __projectName__", + "november": "November", + "number_collab": "Number of collaborators", + "number_collab_info": "The number of people you can invite to work on a project with you. The limit is per project, so you can invite different people to each project.", + "number_of_projects": "Number of projects", + "number_of_users": "Number of users", + "number_of_users_info": "The number of users that can upgrade their Overleaf account if you purchase this plan.", + "number_of_users_with_colon": "Number of users:", + "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", + "october": "October", + "off": "Off", + "official": "Official", + "ok": "OK", + "ok_continue_to_project": "OK, continue to project", + "ok_join_project": "OK, join project", + "on": "On", + "on_free_plan_upgrade_to_access_features": "You are on the __appName__ Free plan. Upgrade to access these <0>Premium Features", + "one_collaborator": "Only one collaborator", + "one_collaborator_per_project": "1 collaborator per project", + "one_free_collab": "One free collaborator", + "one_per_project": "1 per project", + "one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Professional features!", + "one_user": "1 user", + "ongoing_experiments": "Ongoing experiments", + "online_latex_editor": "Online LaTeX Editor", + "only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:", + "only_group_admin_or_managers_can_delete_your_account_2": "Only your group admin or group managers will be able to delete your account.", + "only_group_admin_or_managers_can_delete_your_account_3": "Your group admin and group managers will be able to reassign ownership of your projects to another group member.", + "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed Overleaf accounts.", + "only_group_admin_or_managers_can_delete_your_account_5": "For more information, see the \"Managed Accounts\" section in our terms of use, which you agree to by clicking Accept invitation", + "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", + "open_a_file_on_the_left": "Open a file on the left", + "open_action_menu": "Open __name__ action menu", + "open_advanced_reference_search": "Open advanced reference search", + "open_as_template": "Open as Template", + "open_file": "Edit file", + "open_link": "Go to page", + "open_path": "Open __path__", + "open_project": "Open Project", + "open_survey": "Open survey", + "open_target": "Go to target", + "opted_out_linking": "You’ve opted out from linking your __email__ __appName__ account to your institutional account.", + "optional": "Optional", + "or": "or", + "organization": "Organization", + "organization_name": "Organization name", + "organization_or_company_name": "Organization or company name", + "organization_or_company_type": "Organization or company type", + "organize_projects": "Organize Projects", + "original_price": "Original price", + "other": "Other", + "other_actions": "Other Actions", + "other_logs_and_files": "Other logs and files", + "other_output_files": "Download other output files", + "other_sessions": "Other Sessions", + "other_ways_to_log_in": "Other ways to log in", + "our_values": "Our values", + "out_of_sync": "Out of sync", + "out_of_sync_detail": "Sorry, this file has gone out of sync and we need to do a full refresh.<0 /><1>Please see this help guide for more information", + "output_file": "Output file", + "over": "over", + "over_n_users_at_research_institutions_and_business": "Over __userCountMillion__ million users at research institutions and businesses worldwide love __appName__", + "overall_theme": "Overall theme", + "overleaf": "Overleaf", + "overleaf_group_plans": "Overleaf group plans", + "overleaf_history_system": "Overleaf History System", + "overleaf_individual_plans": "Overleaf individual plans", + "overleaf_labs": "Overleaf Labs", + "overleaf_plans_and_pricing": "overleaf plans and pricing", + "overleaf_template_gallery": "overleaf template gallery", + "overview": "Overview", + "overwrite": "Overwrite", + "overwriting_the_original_folder": "Overwriting the original folder will delete it and all the files it contains.", + "owned_by_x": "owned by __x__", + "owner": "Owner", + "page_current": "Page __page__, Current Page", + "page_not_found": "Page Not Found", + "pagination_navigation": "Pagination Navigation", + "papers_presentations_reports_and_more": "Papers, presentations, reports and more, written in LaTeX and published by our community.", + "partial_outline_warning": "The File outline is out of date. It will update itself as you edit the document", + "password": "Password", + "password_cant_be_the_same_as_current_one": "Password can’t be the same as current one", + "password_change_old_password_wrong": "Your old password is wrong", + "password_change_password_must_be_different": "The password you entered is the same as your current password. Please try a different password.", + "password_change_passwords_do_not_match": "Passwords do not match", + "password_change_successful": "Password changed", + "password_compromised_try_again_or_use_known_device_or_reset": "The password you’ve entered is on a <0>public list of compromised passwords. Please try logging in from a device you’ve previously used or <1>reset your password", + "password_managed_externally": "Password settings are managed externally", + "password_reset": "Password Reset", + "password_reset_email_sent": "You have been sent an email to complete your password reset.", + "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", + "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", + "password_updated": "Password updated", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "This password was detected on a <0>public list of known compromised passwords", + "paste_options": "Paste options", + "paste_with_formatting": "Paste with formatting", + "paste_without_formatting": "Paste without formatting", + "payment_method_accepted": "__paymentMethod__ accepted", + "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", + "payment_summary": "Payment summary", + "pdf_compile_in_progress_error": "A previous compile is still running. Please wait a minute and try compiling again.", + "pdf_compile_rate_limit_hit": "Compile rate limit hit", + "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", + "pdf_in_separate_tab": "PDF in separate tab", + "pdf_only_hide_editor": "PDF only <0>(hide editor)", + "pdf_preview_error": "There was a problem displaying the compilation results for this project.", + "pdf_rendering_error": "PDF Rendering Error", + "pdf_unavailable_for_download": "PDF unavailable for download", + "pdf_viewer": "PDF Viewer", + "pdf_viewer_error": "There was a problem displaying the PDF for this project.", + "pending": "Pending", + "pending_additional_licenses": "Your subscription is changing to include <0>__pendingAdditionalLicenses__ additional license(s) for a total of <1>__pendingTotalLicenses__ licenses.", + "pending_invite": "Pending invite", + "per_month": "per month", + "per_user": "per user", + "per_user_per_year": "per user / per year", + "per_user_year": "per user / year", + "per_year": "per year", + "percent_discount_for_groups": "__appName__ offers a __percent__% educational discount for groups of __size__ or more.", + "percent_is_the_percentage_of_the_line_width": "% is the percentage of the line width", + "personal": "Personal", + "personalized_onboarding": "Personalized onboarding", + "personalized_onboarding_info": "We’ll help you get everything set up and then we’re here to answer questions from your users about the platform, templates or LaTeX!", + "pl": "Polish", + "plan": "Plan", + "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your Overleaf premium features.", + "planned_maintenance": "Planned Maintenance", + "plans_amper_pricing": "Plans & Pricing", + "plans_and_pricing": "Plans and Pricing", + "plans_and_pricing_lowercase": "plans and pricing", + "please_ask_the_project_owner_to_upgrade_more_editors": "Please ask the project owner to upgrade their plan to allow more editors.", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", + "please_change_primary_to_remove": "Please change your primary email in order to remove", + "please_check_your_inbox": "Please check your inbox", + "please_check_your_inbox_to_confirm": "Please check your email inbox to confirm your <0>__institutionName__ affiliation.", + "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", + "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", + "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", + "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the primary.", + "please_contact_support_to_makes_change_to_your_plan": "Please <0>contact support to make changes to your plan", + "please_contact_us_if_you_think_this_is_in_error": "Please <0>contact us if you think this is in error.", + "please_enter_confirmation_code": "Please enter your confirmation code", + "please_enter_email": "Please enter your email address", + "please_get_in_touch": "Please get in touch", + "please_link_before_making_primary": "Please confirm your email by linking to your institutional account before making it the primary email.", + "please_provide_a_message": "Please provide a message", + "please_provide_a_subject": "Please provide a subject", + "please_reconfirm_institutional_email": "Please take a moment to confirm your institutional email address or <0>remove it from your account.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Please confirm your affiliation before making this the primary.", + "please_refresh": "Please refresh the page to continue.", + "please_request_a_new_password_reset_email_and_follow_the_link": "Please request a new password reset email and follow the link", + "please_select": "Please select", + "please_select_a_file": "Please Select a File", + "please_select_a_project": "Please Select a Project", + "please_select_an_output_file": "Please Select an Output File", + "please_set_a_password": "Please set a password", + "please_set_main_file": "Please choose the main file for this project in the project menu. ", + "please_wait": "Please wait", + "plus_additional_collaborators_document_history_track_changes_and_more": "(plus additional collaborators, document history, track changes, and more).", + "plus_more": "plus more", + "popular_tags": "Popular Tags", + "portal_add_affiliation_to_join": "It looks like you are already logged in to __appName__. If you have a __portalTitle__ email you can add it now.", + "position": "Position", + "postal_code": "Postal Code", + "powerful_latex_editor_and_realtime_collaboration": "Powerful LaTeX editor & real-time collaboration", + "powerful_latex_editor_and_realtime_collaboration_info": "Spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and more. Everyone always has the latest version, and you can see your collaborators’ cursors and changes in real time.", + "premium_feature": "Premium feature", + "premium_features": "Premium features", + "premium_plan_label": "You’re using Overleaf Premium", + "presentation": "Presentation", + "presentation_mode": "Presentation mode", + "press_and_awards": "Press & awards", + "previous_page": "Previous page", + "price": "Price", + "primarily_work_study_question": "Where do you primarily work or study?", + "primarily_work_study_question_company": "Company", + "primarily_work_study_question_government": "Government", + "primarily_work_study_question_nonprofit_ngo": "Nonprofit or NGO", + "primarily_work_study_question_other": "Other", + "primarily_work_study_question_university_school": "University or school", + "primary_certificate": "Primary certificate", + "primary_email_check_question": "Is <0>__email__ still your email address?", + "priority_support": "Priority support", + "priority_support_info": "Our helpful Support team will prioritise and escalate your support requests where necessary.", + "privacy": "Privacy", + "privacy_and_terms": "Privacy and Terms", + "privacy_policy": "Privacy Policy", + "private": "Private", + "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", + "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", + "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", + "proceed_to_paypal": "Proceed to PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Proceeding to PayPal will take you to the PayPal site to pay for your subscription.", + "processing": "processing", + "processing_uppercase": "Processing", + "processing_your_request": "Please wait while we process your request.", + "professional": "Professional", + "progress_bar_percentage": "Progress bar from 0 to 100%", + "project": "project", + "project_approaching_file_limit": "This project is approaching the file limit", + "project_figure_modal": "Project", + "project_files": "Project files", + "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", + "project_has_too_many_files": "This project has reached the 2000 file limit", + "project_last_published_at": "Your project was last published at", + "project_layout_sharing_submission": "Project Layout, Sharing, and Submission", + "project_name": "Project Name", + "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", + "project_owner_plus_10": "Project author + 10", + "project_ownership_transfer_confirmation_1": "Are you sure you want to make <0>__user__ the owner of <1>__project__?", + "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", + "project_renamed_or_deleted": "Project Renamed or Deleted", + "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on Overleaf, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", + "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", + "project_synchronisation": "Project Synchronisation", + "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error” to help you find and fix errors right away.", + "project_timed_out_fatal_error": "A <0>fatal compile error may be completely blocking compilation.", + "project_timed_out_intro": "Sorry, your compile took too long to run and timed out. The most common causes of timeouts are:", + "project_timed_out_learn_more": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "project_timed_out_optimize_images": "Large or high-resolution images are taking too long to process. You may be able to <0>optimize them.", + "project_too_large": "Project too large", + "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", + "project_too_much_editable_text": "This project has too much editable text, please try to reduce it.", + "project_url": "Affected project URL", + "projects": "Projects", + "projects_count": "Projects count", + "projects_list": "Projects list", + "provide_details_of_your_sso_configuration": "Add, edit, or delete your Identity Provider’s SAML metadata.", + "pt": "Portuguese", + "public": "Public", + "publish": "Publish", + "publish_as_template": "Manage Template", + "publisher_account": "Publisher Account", + "publishing": "Publishing", + "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", + "purchase_now": "Purchase Now", + "purchase_now_lowercase": "Purchase now", + "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", + "quoted_text": "Quoted text", + "quoted_text_in": "Quoted text in", + "raw_logs": "Raw logs", + "raw_logs_description": "Raw logs from the LaTeX compiler", + "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using Overleaf History.", + "react_history_tutorial_title": "History actions have a new home", + "reactivate_subscription": "Reactivate your subscription", + "read_lines_from_path": "Read lines from __path__", + "read_more": "Read more", + "read_more_about_free_compile_timeouts_servers": "Read more about changes to free compile timeouts and servers", + "read_only": "Read only", + "read_only_token": "Read-Only Token", + "read_write_token": "Read-Write Token", + "ready_to_join_x": "You’re ready to join __inviterName__", + "ready_to_join_x_in_group_y": "You’re ready to join __inviterName__ in __groupName__", + "ready_to_set_up": "Ready to set up", + "ready_to_use_templates": "Ready-to-use templates", + "real_time_track_changes": "Real-time track-changes", + "realtime_track_changes": "Real-time track changes", + "realtime_track_changes_info_v2": "Switch on track changes to see who made every change, accept or reject others’ changes, and write comments.", + "reasons_for_compile_timeouts": "Reasons for compile timeouts", + "reauthorize_github_account": "Reauthorize your GitHub Account", + "recaptcha_conditions": "The site is protected by reCAPTCHA and the Google <1>Privacy Policy and <2>Terms of Service apply.", + "recent": "Recent", + "recent_commits_in_github": "Recent commits in GitHub", + "recompile": "Recompile", + "recompile_from_scratch": "Recompile from scratch", + "recompile_pdf": "Recompile the PDF", + "reconfirm": "reconfirm", + "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", + "reconnect": "Try again", + "reconnecting": "Reconnecting", + "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", + "recurly_email_update_needed": "Your billing email address is currently <0>__recurlyEmail__. If needed you can update your billing address to <1>__userEmail__.", + "recurly_email_updated": "Your billing email address was successfully updated", + "redirect_to_editor": "Redirect to editor", + "redirect_url": "Redirect URL", + "redirecting": "Redirecting", + "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", + "reference_error_relink_hint": "If this error persists, try re-linking your account here:", + "reference_manager_searched_groups": "__provider__ search groups", + "reference_managers": "Reference managers", + "reference_search": "Advanced reference search", + "reference_search_info_new": "Find your references easily—search by author, title, year, or journal.", + "reference_search_info_v2": "It’s easy to find your references - you can search by author, title, year or journal. You can still search by citation key too.", + "reference_search_setting": "Reference search", + "reference_search_settings": "Reference search settings", + "reference_search_style": "Reference search style", + "reference_sync": "Reference manager sync", + "references_from_these_libraries_will_be_included_in_your_reference_search_results": "References from these libraries will be included in your reference search results.", + "refresh": "Refresh", + "refresh_page_after_linking_dropbox": "Please refresh this page after linking your account to Dropbox.", + "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", + "refreshing": "Refreshing", + "regards": "Regards", + "register": "Register", + "register_error": "Registration error", + "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", + "register_to_accept_invitation": "Register to accept invitation", + "register_to_edit_template": "Please register to edit the __templateName__ template", + "register_with_another_email": "Register with __appName__ using another email.", + "registered": "Registered", + "registering": "Registering", + "registration_error": "Registration error", + "reject": "Reject", + "reject_all": "Reject all", + "reject_change": "Reject change", + "related_tags": "Related Tags", + "relink_your_account": "Re-link your account", + "reload_editor": "Reload editor", + "remind_before_trial_ends": "We’ll remind you before your trial ends", + "remote_service_error": "The remote service produced an error", + "remove": "Remove", + "remove_access": "Remove access", + "remove_collaborator": "Remove collaborator", + "remove_from_group": "Remove from group", + "remove_link": "Remove link", + "remove_manager": "Remove manager", + "remove_or_replace_figure": "Remove or replace figure", + "remove_secondary_email_addresses": "Remove any secondary email addresses associated with your account. <0>Remove them in account settings.", + "remove_sso_login_option": "Remove the SSO login option for your users.", + "remove_tag": "Remove tag __tagName__", + "removed": "removed", + "removed_from_project": "Removed from project", + "removing": "Removing", + "rename": "Rename", + "rename_project": "Rename Project", + "renaming": "Renaming", + "reopen": "Re-open", + "reopen_comment_error_message": "There was an error reopening your comment. Please try again in a few moments.", + "reopen_comment_error_title": "Reopen Comment Error", + "replace_figure": "Replace figure", + "replace_from_another_project": "Replace from another project", + "replace_from_computer": "Replace from computer", + "replace_from_project_files": "Replace from project files", + "replace_from_url": "Replace from URL", + "reply": "Reply", + "repository_name": "Repository Name", + "republish": "Republish", + "request_new_password_reset_email": "Request a new password reset email", + "request_overleaf_common": "Request Overleaf Commons", + "request_password_reset": "Request password reset", + "request_password_reset_to_reconfirm": "Request password reset email to reconfirm", + "request_reconfirmation_email": "Request reconfirmation email", + "request_sent_thank_you": "Message sent! Our team will review it and reply by email.", + "requesting_password_reset": "Requesting password reset", + "required": "Required", + "resend": "Resend", + "resend_confirmation_code": "Resend confirmation code", + "resend_confirmation_email": "Resend confirmation email", + "resend_email": "Resend email", + "resend_group_invite": "Resend group invite", + "resend_link_sso": "Resend SSO invite", + "resend_managed_user_invite": "Resend managed user invite", + "resending_confirmation_code": "Resending confirmation code", + "resending_confirmation_email": "Resending confirmation email", + "reset_password": "Reset Password", + "reset_password_link": "Click this link to reset your password", + "reset_your_password": "Reset your password", + "resize": "Resize", + "resolve": "Resolve", + "resolve_comment": "Resolve comment", + "resolved_comments": "Resolved comments", + "restore": "Restore", + "restore_file": "Restore file", + "restore_file_confirmation_message": "Your current file will restore to the version from __date__ at __time__.", + "restore_file_confirmation_title": "Restore this version?", + "restore_file_error_message": "There was a problem restoring the file version. Please try again in a few moments. If the problem continues please contact us.", + "restore_file_error_title": "Restore File Error", + "restore_file_version": "Restore this version", + "restore_project_to_this_version": "Restore project to this version", + "restore_this_version": "Restore this version", + "restoring": "Restoring", + "restricted": "Restricted", + "restricted_no_permission": "Restricted, sorry you don’t have permission to load this page.", + "resync_completed": "Resync completed!", + "resync_message": "Resyncing project history can take several minutes depending on the size of the project.", + "resync_project_history": "Resync Project History", + "retry_test": "Retry test", + "return_to_login_page": "Return to Login page", + "reverse_x_sort_order": "Reverse __x__ sort order", + "revert_pending_plan_change": "Revert scheduled plan change", + "review": "Review", + "review_your_peers_work": "Review your peers’ work", + "revoke": "Revoke", + "revoke_invite": "Revoke Invite", + "right": "Right", + "ro": "Romanian", + "role": "Role", + "ru": "Russian", + "saml": "SAML", + "saml_auth_error": "Sorry, your identity provider responded with an error. Please contact your administrator for more information.", + "saml_authentication_required_error": "Other login methods have been disabled by your group administrator. Please use your group SSO login.", + "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", + "saml_email_not_recognized_error": "This email address isn’t set up for SSO. Please check it and try again or contact your administrator.", + "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different Overleaf account. Please contact your administrator for more information.", + "saml_invalid_signature_error": "Sorry, the information received from your identity provider has an invalid signature. Please contact your administrator for more information.", + "saml_login_disabled_error": "Sorry, single sign-on login has been disabled for __email__. Please contact your administrator for more information.", + "saml_login_failure": "Sorry, there was a problem logging you in. Please contact your administrator for more information.", + "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to Overleaf as __email__ but the identity returned by your identity provider is not the correct one for this Overleaf account.", + "saml_login_identity_not_found_error": "Sorry, we were not able to find an Overleaf account set up for single sign-on with this identity provider.", + "saml_metadata": "Overleaf SAML Metadata", + "saml_missing_signature_error": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required). Please contact your administrator for more information.", + "saml_response": "SAML Response", + "save": "Save", + "save_20_percent": "save 20%", + "save_20_percent_by_paying_annually": "Save 20% by paying annually", + "save_30_percent_or_more": "save 30% or more", + "save_30_percent_or_more_uppercase": "Save 30% or more", + "save_n_percent": "Save __percentage__%", + "save_or_cancel-cancel": "Cancel", + "save_or_cancel-or": "or", + "save_or_cancel-save": "Save", + "save_x_percent_or_more": "Save __percent__% or more", + "saving": "Saving", + "saving_20_percent": "Saving 20%!", + "saving_20_percent_no_exclamation": "Saving 20%", + "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", + "search": "Search", + "search_all_project_files": "Search all project files", + "search_bib_files": "Search by author, title, year", + "search_by_citekey_author_year_title": "Search by citation key, author, title, year", + "search_command_find": "Find", + "search_command_replace": "Replace", + "search_in_all_projects": "Search in all projects", + "search_in_archived_projects": "Search in archived projects", + "search_in_shared_projects": "Search in projects shared with you", + "search_in_trashed_projects": "Search in trashed projects", + "search_in_your_projects": "Search in your projects", + "search_match_case": "Match case", + "search_next": "next", + "search_only_the_bib_files_in_your_project_only_by_citekeys": "Search only the .bib files in your project, only by citekeys.", + "search_previous": "previous", + "search_projects": "Search projects", + "search_references": "Search the .bib files in this project", + "search_regexp": "Regular expression", + "search_replace": "Replace", + "search_replace_all": "Replace All", + "search_replace_with": "Replace with", + "search_search_for": "Search for", + "search_terms": "Search terms", + "search_whole_word": "Whole word", + "search_within_selection": "Within selection", + "searched_path_for_lines_containing": "Searched __path__ for lines containing \"__query__\"", + "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", + "security": "Security", + "see_changes_in_your_documents_live": "See changes in your documents, live", + "select_a_column_or_a_merged_cell_to_align": "Select a column or a merged cell to align", + "select_a_column_to_adjust_column_width": "Select a column to adjust column width", + "select_a_file": "Select a File", + "select_a_file_figure_modal": "Select a file", + "select_a_group_optional": "Select a Group (optional)", + "select_a_language": "Select a language", + "select_a_new_owner_for_projects": "Select a new owner for this user’s projects", + "select_a_payment_method": "Select a payment method", + "select_a_project": "Select a Project", + "select_a_project_figure_modal": "Select a project", + "select_a_row_or_a_column_to_delete": "Select a row or a column to delete", + "select_access_level": "Select access level", + "select_access_levels": "Select access levels", + "select_all": "Select all", + "select_all_projects": "Select all projects", + "select_an_output_file": "Select an Output File", + "select_an_output_file_figure_modal": "Select an output file", + "select_bib_file": "Select .bib file", + "select_cells_in_a_single_row_to_merge": "Select cells in a single row to merge", + "select_color": "Select color __name__", + "select_folder_from_project": "Select folder from project", + "select_from_output_files": "select from output files", + "select_from_project_files": "select from project files", + "select_from_source_files": "select from source files", + "select_from_your_computer": "select from your computer", + "select_github_repository": "Select a GitHub repository to import into __appName__.", + "select_image_from_project_files": "Select image from project files", + "select_monthly_plans": "Select for monthly plans", + "select_project": "Select __project__", + "select_projects": "Select Projects", + "select_tag": "Select tag __tagName__", + "select_user": "Select user", + "selected": "Selected", + "selected_by_overleaf_staff": "Selected by Overleaf staff", + "selected_by_overleaf_staff_description": "These templates were hand-picked by Overleaf staff for their high quality and positive feedback received from the Overleaf community over the years.", + "selection_deleted": "Selection deleted", + "send": "Send", + "send_first_message": "Send your first message to your collaborators", + "send_message": "Send message", + "send_test_email": "Send a test email", + "sending": "Sending", + "sent": "Sent", + "september": "September", + "server_error": "Server Error", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro license", + "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact Overleaf.", + "server_pro_license_entitlement_line_3": "An active user is one who has opened a project in this Server Pro instance in the last 12 months.", + "services": "Services", + "session_created_at": "Session Created At", + "session_error": "Session error. Please check you have cookies enabled. If the problem persists, try clearing your cache and cookies.", + "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", + "sessions": "Sessions", + "set_color": "set color", + "set_column_width": "Set column width", + "set_new_password": "Set new password", + "set_password": "Set Password", + "set_up_single_sign_on": "Set up single sign-on (SSO)", + "set_up_sso": "Set up SSO", + "settings": "Settings", + "setup_another_account_under_a_personal_email_address": "Set up another Overleaf account under a personal email address.", + "share": "Share", + "share_project": "Share Project", + "share_with_your_collabs": "Share with your collaborators", + "shared_with_you": "Shared with you", + "sharelatex_beta_program": "__appName__ Beta Program", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace__ or __altSpace__)", + "show_all": "show all", + "show_all_projects": "Show all projects", + "show_document_preamble": "Show document preamble", + "show_hotkeys": "Show Hotkeys", + "show_in_code": "Show in code", + "show_in_pdf": "Show in PDF", + "show_less": "show less", + "show_local_file_contents": "Show Local File Contents", + "show_more": "show more", + "show_outline": "Show File outline", + "show_x_more_projects": "Show __x__ more projects", + "show_your_support": "Show your support", + "showing_1_result": "Showing 1 result", + "showing_1_result_of_total": "Showing 1 result of __total__", + "showing_x_out_of_n_projects": "Showing __x__ out of __n__ projects.", + "showing_x_results": "Showing __x__ results", + "showing_x_results_of_total": "Showing __x__ results of __total__", + "sign_up": "Sign up", + "sign_up_for_free": "Sign up for free", + "sign_up_for_free_account": "Sign up for a free account and receive regular updates", + "simple_search_mode": "Simple search", + "single_sign_on_sso": "Single Sign-On (SSO)", + "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", + "site_wide_option_available": "Site-wide option available", + "sitewide_option_available": "Site-wide option available", + "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "six_collaborators_per_project": "6 collaborators per project", + "six_per_project": "6 per project", + "skip": "Skip", + "skip_to_content": "Skip to content", + "something_not_right": "Something’s not right", + "something_went_wrong": "Something went wrong", + "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", + "something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems or an <0>outdated web browser. Please follow the <1>troubleshooting steps for access, loading and display problems. If the issue persists, please <2>let us know.", + "something_went_wrong_processing_the_request": "Something went wrong processing the request", + "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", + "something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile", + "something_went_wrong_server": "Something went wrong. Please try again.", + "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", + "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.", + "sorry_it_looks_like_that_didnt_work_this_time": "Sorry! It looks like that didn’t work this time. Please try again.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on Overleaf. Please try again.", + "sorry_the_connection_to_the_server_is_down": "Sorry, the connection to the server is down.", + "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in Overleaf Labs.", + "sorry_this_account_has_been_suspended": "Sorry, this account has been suspended.", + "sorry_your_table_cant_be_displayed_at_the_moment": "Sorry, your table can’t be displayed at the moment.", + "sorry_your_token_expired": "Sorry, your token expired", + "sort_by": "Sort by", + "sort_by_x": "Sort by __x__", + "sort_projects": "Sort projects", + "source": "Source", + "spell_check": "Spell check", + "sso": "SSO", + "sso_account_already_linked": "Account already linked to another __appName__ user", + "sso_active": "SSO active", + "sso_already_setup_good_to_go": "Single sign-on is already set up on your account, so you’re good to go.", + "sso_config_deleted": "SSO configuration deleted", + "sso_config_prop_help_certificate": "Base64 encoded certificate without whitespace", + "sso_config_prop_help_first_name": "The SAML attribute that specifies the user’s first name", + "sso_config_prop_help_last_name": "The SAML attribute that specifies the user’s last name", + "sso_config_prop_help_redirect_url": "The single sign-on redirect URL provided by your IdP (sometimes called the single sign-on service HTTP-redirect location)", + "sso_config_prop_help_user_id": "The SAML attribute provided by your IdP that identifies each user", + "sso_configuration": "SSO configuration", + "sso_configuration_not_finalized": "Your configuration has not been finalized.", + "sso_configuration_saved": "SSO configuration has been saved", + "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use Overleaf as you normally would.", + "sso_error_audience_mismatch": "The Service Provider entity ID configured in your IdP does not match the one provided in our metadata. Please contact your IT department for more information.", + "sso_error_idp_error": "Your identity provider responded with an error.", + "sso_error_invalid_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user has an invalid format, a string is expected. Attribute: <0>__expecting__", + "sso_error_invalid_signature": "Sorry, the information received from your identity provider has an invalid signature.", + "sso_error_missing_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_firstname_attribute": "The SAML attribute that specifies the user’s first name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_lastname_attribute": "The SAML attribute that specifies the user’s last name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_signature": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required).", + "sso_error_response_already_processed": "The SAML response’s InResponseTo is invalid. This can happen if it either didn’t match that of the SAML request, or the login took too long to process and the request has expired.", + "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about Overleaf Group SSO.", + "sso_here_is_the_data_we_received": "Here is the data we received in the SAML response:", + "sso_integration": "SSO integration", + "sso_integration_info": "Overleaf offers a standard SAML-based Single Sign On integration.", + "sso_is_disabled": "SSO is disabled", + "sso_is_disabled_explanation_1": "Group members won’t be able to log in via SSO", + "sso_is_disabled_explanation_2": "All members of the group will need a username and password to log in to __appName__", + "sso_is_enabled": "SSO is enabled", + "sso_is_enabled_explanation_1": "Group members will <0>only be able to sign in via SSO after linking their accounts with your IdP.", + "sso_is_enabled_explanation_1_sso_only": "Group members will have the option to sign in via SSO.", + "sso_is_enabled_explanation_2": "If there are any problems with the configuration, only you (as the group administrator) will be able to disable SSO.", + "sso_link_account_with_idp": "Your group uses SSO. This means we need to authenticate your account with the group identity provider. Click <0>Set up SSO to authenticate now.", + "sso_link_error": "Error linking account", + "sso_link_invite_has_been_sent_to_email": "An SSO invite reminder has been sent to <0>__email__", + "sso_login": "SSO login", + "sso_logs": "SSO Logs", + "sso_not_active": "SSO not active", + "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", + "sso_reauth_request": "SSO reauthentication request has been sent to <0>__email__", + "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured Overleaf as a Service Provider in your IdP, and authorized access to the Overleaf service.", + "sso_test_interstitial_info_2": "Clicking <0>Test configuration will redirect you to your IdP’s login screen. <1>Read our documentation for full details of what happens during the test. And check our <2>SSO troubleshooting advice if you get stuck.", + "sso_test_interstitial_title": "Let’s test your SSO configuration", + "sso_test_result_error_message": "The test hasn’t worked this time, but don’t worry — errors can usually be quickly addressed by adjusting the configuration settings. Our <0>SSO troubleshooting guide provides help with some of the common causes of testing errors.", + "sso_title": "Single sign-on", + "sso_user_denied_access": "Cannot log in because __appName__ was not granted access to your __provider__ account. Please try again.", + "sso_user_explanation_enabled_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_enabled_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_ready_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "sso_user_explanation_ready_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "standard": "Standard", + "start_a_free_trial": "Start a free trial", + "start_by_adding_your_email": "Start by adding your email address.", + "start_by_fixing_the_first_error_in_your_doc": "Start by fixing the first error in your doc to avoid problems later on.", + "start_free_trial": "Start Free Trial!", + "start_free_trial_without_exclamation": "Start Free Trial", + "start_typing_find_your_company": " Start typing to find your company", + "start_typing_find_your_organization": "Start typing to find your organization", + "start_typing_find_your_university": "Start typing to find your university", + "state": "State", + "status_checks": "Status Checks", + "still_have_questions": "Still have questions?", + "stop_compile": "Stop compilation", + "stop_on_first_error": "Stop on first error", + "stop_on_first_error_enabled_description": "<0>“Stop on first error” is enabled. Disabling it may allow the compiler to produce a PDF (but your project will still have errors).", + "stop_on_first_error_enabled_title": "No PDF: Stop on first error enabled", + "stop_on_validation_error": "Check syntax before compile", + "store_your_work": "Store your work on your own infrastructure", + "stretch_width_to_text": "Stretch width to text", + "student": "Student", + "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an Overleaf institutional account.", + "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you’re eligible for the discount.", + "student_plans": "Student Plans", + "students": "Students", + "subject": "Subject", + "subject_area": "Subject area", + "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", + "submit": "submit", + "submit_title": "Submit", + "subscribe": "Subscribe", + "subscribe_to_find_the_symbols_you_need_faster": "Subscribe to find the symbols you need faster", + "subscription": "Subscription", + "subscription_admin_panel": "admin panel", + "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", + "subscription_canceled": "Subscription Canceled", + "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on <0>__terminateDate__. No further payments will be taken.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Your subscription will remain active until the end of your billing period, <0>__terminationDate__.", + "subscription_will_remain_active_until_end_of_trial_period_x": "Your subscription will remain active until the end of your trial period, <0>__terminationDate__.", + "success_sso_set_up": "Success! Single sign-on is all set up for you.", + "suggest_a_different_fix": "Suggest a different fix", + "suggest_fix": "Suggest fix", + "suggested": "Suggested", + "suggested_fix_for_error_in_path": "Suggested fix for error in __path__", + "suggestion": "Suggestion", + "suggestion_applied": "Suggestion applied", + "support": "Support", + "sure_you_want_to_cancel_plan_change": "Are you sure you want to revert your scheduled plan change? You will remain subscribed to the <0>__planName__ plan.", + "sure_you_want_to_change_plan": "Are you sure you want to change plan to <0>__planName__?", + "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", + "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", + "sv": "Swedish", + "switch_to_editor": "Switch to editor", + "switch_to_pdf": "Switch to PDF", + "symbol_palette": "Symbol palette", + "symbol_palette_highlighted": "<0>Symbol palette", + "symbol_palette_info": "A quick and convenient way to insert math symbols into your document.", + "symbol_palette_info_new": "Insert math symbols into your document with the click of a button.", + "sync": "Sync", + "sync_dropbox_github": "Sync with Dropbox and GitHub", + "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", + "sync_to_dropbox": "Sync to Dropbox", + "sync_to_github": "Sync to GitHub", + "synctex_failed": "Couldn’t find the corresponding source file", + "syntax_validation": "Code check", + "tab_connecting": "Connecting with the editor", + "tab_no_longer_connected": "This tab is no longer connected with the editor", + "tag_color": "Tag color", + "tag_name_cannot_exceed_characters": "Tag name cannot exceed __maxLength__ characters", + "tag_name_is_already_used": "Tag \"__tagName__\" already exists", + "tags": "Tags", + "take_me_home": "Take me home!", + "take_short_survey": "Take a short survey", + "take_survey": "Take survey", + "tc_everyone": "Everyone", + "tc_guests": "Guests", + "tc_switch_everyone_tip": "Toggle track-changes for everyone", + "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", + "tc_switch_user_tip": "Toggle track-changes for this user", + "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their Overleaf plan if you need more compile time.", + "template": "Template", + "template_approved_by_publisher": "This template has been approved by the publisher", + "template_description": "Template Description", + "template_gallery": "Template Gallery", + "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", + "template_title_taken_from_project_title": "The template title will be taken automatically from the project title", + "template_top_pick_by_overleaf": "This template was hand-picked by Overleaf staff for its high quality", + "templates": "Templates", + "templates_admin_source_project": "Admin: Source Project", + "templates_page_summary": "Start your projects with quality LaTeX templates for journals, CVs, resumes, papers, presentations, assignments, letters, project reports, and more. Search or browse below.", + "templates_page_title": "Templates - Journals, CVs, Presentations, Reports and More", + "ten_collaborators_per_project": "10 collaborators per project", + "ten_per_project": "10 per project", + "terminated": "Compilation cancelled", + "terms": "Terms", + "test": "Test", + "test_configuration": "Test configuration", + "test_configuration_successful": "Test configuration successful", + "tex_live_version": "TeX Live version", + "thank_you": "Thank you!", + "thank_you_email_confirmed": "Thank you, your email is now confirmed", + "thank_you_exclamation": "Thank you!", + "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have <0>early access to new features and help us understand your needs better", + "thank_you_for_your_feedback": "Thank you for your feedback!", + "thanks": "Thanks", + "thanks_for_confirming_your_email_address": "Thanks for confirming your email address", + "thanks_for_getting_in_touch": "Thanks for getting in touch. Our team will get back to you by email as soon as possible.", + "thanks_for_subscribing": "Thanks for subscribing!", + "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It’s support from people like yourself that allows __appName__ to continue to grow and improve.", + "thanks_settings_updated": "Thanks, your settings have been updated.", + "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on Overleaf pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", + "the_following_files_already_exist_in_this_project": "The following files already exist in this project:", + "the_following_files_and_folders_already_exist_in_this_project": "The following files and folders already exist in this project:", + "the_following_folder_already_exists_in_this_project": "The following folder already exists in this project:", + "the_following_folder_already_exists_in_this_project_plural": "The following folders already exist in this project:", + "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", + "the_project_that_contains_this_file_is_not_shared_with_you": "The project that contains this file is not shared with you", + "the_requested_conversion_job_was_not_found": "The link to open this content on Overleaf specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", + "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_required_parameters_were_not_supplied": "The link to open this content on Overleaf was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_parameters_were_invalid": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "The link to open this content on Overleaf included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", + "the_target_folder_could_not_be_found": "The target folder could not be found.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "The width you choose here is based on the width of the text in your document. Alternatively, you can customize the image size directly in the LaTeX code.", + "their_projects_will_be_transferred_to_another_user": "Their projects will all be transferred to another user of your choice", + "theme": "Theme", + "then_x_price_per_month": "Then __price__ per month", + "then_x_price_per_year": "Then __price__ per year", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "There are lots of options to edit and customize your figures, such as wrapping text around the figure, rotating the image, or including multiple images in a single figure. You’ll need to edit the LaTeX code to do this. <0>Find out how", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "There was a problem restoring the project. Please try again in a few moments. Contact us of the problem persists.", + "there_was_an_error_opening_your_content": "There was an error creating your project", + "thesis": "Thesis", + "they_lose_access_to_account": "They lose all access to this Overleaf account immediately", + "this_action_cannot_be_reversed": "This action cannot be reversed.", + "this_action_cannot_be_undone": "This action cannot be undone.", + "this_address_will_be_shown_on_the_invoice": "This address will be shown on the invoice", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "This could be because we can’t yet support some elements of the table in the table preview. Or there may be an error in the table’s LaTeX code.", + "this_experiment_isnt_accepting_new_participants": "This experiment isn’t accepting new participants.", + "this_field_is_required": "This field is required", + "this_grants_access_to_features_2": "This grants you access to <0>__appName__ <0>__featureType__ features.", + "this_is_a_labs_experiment": "This is a Labs experiment", + "this_is_the_file_that_references_pulled_from_your_reference_manager_will_be_added_to": "This is the file that references pulled from your reference manager will be added to.", + "this_is_your_template": "This is your template from your project", + "this_project_already_has_maximum_editors": "This project already has the maximum number of editors permitted on the owner’s plan. This means you can view but not edit the project.", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "This project exceeded the compile timeout limit on our free plan.", + "this_project_exceeded_editor_limit": "This project exceeded the editor limit for your plan. All collaborators now have view-only access.", + "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s Overleaf plan. This means you could lose edit access from __linkSharingDate__.", + "this_project_is_public": "This project is public and can be edited by anyone with the URL.", + "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", + "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", + "this_tool_helps_you_insert_figures": "This tool helps you insert figures into your project without needing to write the LaTeX code. The following information explains more about the options in the tool and how to further customize your figures.", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "This tool helps you insert simple tables into your project without writing LaTeX code. This tool is new, so please <0>give us feedback and look out for additional functionality coming soon.", + "this_was_helpful": "This was helpful", + "this_wasnt_helpful": "This wasn’t helpful", + "thousands_templates": "Thousands of templates", + "thousands_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "three_free_collab": "Three free collaborators", + "timedout": "Timed out", + "tip": "Tip", + "title": "Title", + "to_add_email_accounts_need_to_be_linked_2": "To add this email, your <0>__appName__ and <0>__institutionName__ accounts will need to be linked.", + "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", + "to_change_access_permissions": "To change access permissions, please ask the project owner", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the Overleaf account that requested the new secondary email.", + "to_confirm_transfer_enter_email_address": "To accept the invitation, enter the email address linked to your account.", + "to_confirm_unlink_all_users_enter_email": "To confirm you want to unlink all users, enter your email address:", + "to_fix_this_you_can": "To fix this, you can:", + "to_fix_this_you_can_ask_the_github_repository_owner": "To fix this, you can ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "To insert or move a caption, make sure \\begin{tabular} is directly within a table environment", + "to_keep_edit_access": "To keep edit access, ask the project owner to upgrade their plan or reduce the number of people with edit access.", + "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", + "to_modify_your_subscription_go_to": "To modify your subscription go to", + "to_pull_results_directly_from_your_reference_manager_enable_one_of_the_available_reference_manager_integrations": "To pull results directly from your reference manager, <0>enable one of the available reference manager integrations.", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>Please note: To use text wrapping in your table, make sure you include the <1>array package in your document preamble:", + "toggle_compile_options_menu": "Toggle compile options menu", + "token": "token", + "token_access_failure": "Cannot grant access; contact the project owner for help", + "token_limit_reached": "You’ve reached the 10 token limit. To generate a new authentication token, please delete an existing one.", + "token_read_only": "token read-only", + "token_read_write": "token read-write", + "too_many_attempts": "Too many attempts. Please wait for a while and try again.", + "too_many_comments_or_tracked_changes": "Too many comments or tracked changes", + "too_many_comments_or_tracked_changes_detail": "Sorry, this file has too many comments or tracked changes. Please try accepting or rejecting some existing changes, or resolving and deleting some comments.", + "too_many_confirm_code_resend_attempts": "Too many attempts. Please wait 1 minute then try again.", + "too_many_confirm_code_verification_attempts": "Too many verification attempts. Please wait 1 minute then try again.", + "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for a short period. Please wait 15 minutes and try again.", + "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", + "too_many_search_results": "There are more than 100 results. Please refine your search.", + "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", + "took_a_while": "That took a while...", + "toolbar_bullet_list": "Bullet List", + "toolbar_choose_section_heading_level": "Choose section heading level", + "toolbar_code_visual_editor_switch": "Code and visual editor switch", + "toolbar_decrease_indent": "Decrease Indent", + "toolbar_editor": "Editor tools", + "toolbar_format_bold": "Format Bold", + "toolbar_format_italic": "Format Italic", + "toolbar_increase_indent": "Increase Indent", + "toolbar_insert_citation": "Insert Citation", + "toolbar_insert_cross_reference": "Insert Cross-reference", + "toolbar_insert_display_math": "Insert Display Math", + "toolbar_insert_figure": "Insert Figure", + "toolbar_insert_inline_math": "Insert Inline Math", + "toolbar_insert_link": "Insert Link", + "toolbar_insert_math": "Insert Math", + "toolbar_insert_math_and_symbols": "Insert Math and Symbols", + "toolbar_insert_misc": "Insert Misc (links, citations, cross-references, figures, tables)", + "toolbar_insert_table": "Insert Table", + "toolbar_list_indentation": "List and Indentation", + "toolbar_numbered_list": "Numbered List", + "toolbar_redo": "Redo", + "toolbar_selected_projects": "Selected projects", + "toolbar_selected_projects_management_actions": "Selected projects management actions", + "toolbar_selected_projects_remove": "Remove selected projects", + "toolbar_selected_projects_restore": "Restore selected projects", + "toolbar_table_insert_size_table": "Insert __size__ table", + "toolbar_table_insert_table_lowercase": "Insert table", + "toolbar_text_formatting": "Text formatting", + "toolbar_text_style": "Text style", + "toolbar_toggle_symbol_palette": "Toggle Symbol Palette", + "toolbar_undo": "Undo", + "toolbar_undo_redo_actions": "Undo/Redo actions", + "toolbar_visibility": "Toolbar visibility", + "tooltip_hide_filetree": "Click to hide the file tree", + "tooltip_hide_pdf": "Click to hide the PDF", + "tooltip_show_filetree": "Click to show the file tree", + "tooltip_show_pdf": "Click to show the PDF", + "top_pick": "Top pick", + "total": "Total", + "total_per_month": "Total per month", + "total_per_year": "Total per year", + "total_per_year_for_x_users": "total per year for __licenseSize__ users", + "total_per_year_lowercase": "total per year", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ tax) per year", + "total_words": "Total Words", + "tr": "Turkish", + "track_any_change_in_real_time": "Track any change, in real-time", + "track_changes": "Track changes", + "track_changes_for_everyone": "Track changes for everyone", + "track_changes_for_x": "Track changes for __name__", + "track_changes_is_off": "Track changes is off", + "track_changes_is_on": "Track changes is on", + "tracked_change_added": "Added", + "tracked_change_deleted": "Deleted", + "transfer_management_of_your_account": "Transfer management of your Overleaf account", + "transfer_management_of_your_account_to_x": "Transfer management of your Overleaf account to __groupName__", + "transfer_management_resolve_following_issues": "To transfer the management of your account, you need to resolve the following issues:", + "transfer_this_users_projects": "Transfer this user’s projects", + "transfer_this_users_projects_description": "This user’s projects will be transferred to a new owner.", + "transferring": "Transferring", + "trash": "Trash", + "trash_projects": "Trash Projects", + "trashed": "Trashed", + "trashed_projects": "Trashed Projects", + "trashing_projects_wont_affect_collaborators": "Trashing projects won’t affect your collaborators.", + "trial_last_day": "This is the last day of your Overleaf Premium trial", + "trial_remaining_days": "__days__ more days on your Overleaf Premium trial", + "tried_to_log_in_with_email": "You’ve tried to log in with __email__.", + "tried_to_register_with_email": "You’ve tried to register with __email__, which is already registered with __appName__ as an institutional account.", + "troubleshooting_tip": "Troubleshooting tip", + "try_again": "Please try again", + "try_for_free": "Try for free", + "try_it_for_free": "Try it for free", + "try_now": "Try Now", + "try_premium_for_free": "Try Premium for free", + "try_recompile_project_or_troubleshoot": "Please try recompiling the project from scratch, and if that doesn’t help, follow our <0>troubleshooting guide.", + "try_relinking_provider": "It looks like you need to re-link your __provider__ account.", + "try_to_compile_despite_errors": "Try to compile despite errors", + "turn_off": "Turn off", + "turn_off_link_sharing": "Turn off link sharing", + "turn_on": "Turn on", + "turn_on_link_sharing": "Turn on link sharing", + "tutorials": "Tutorials", + "two_users": "2 users", + "uk": "Ukrainian", + "unable_to_extract_the_supplied_zip_file": "Opening this content on Overleaf failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", + "unarchive": "Restore", + "uncategorized": "Uncategorized", + "uncategorized_projects": "Uncategorized Projects", + "unconfirmed": "Unconfirmed", + "undelete": "Undelete", + "undeleting": "Undeleting", + "understanding_labels": "Understanding labels", + "unfold_line": "Unfold line", + "unique_identifier_attribute": "Unique identifier attribute", + "university": "University", + "university_school": "University or school name", + "unknown": "Unknown", + "unlimited": "Unlimited", + "unlimited_bold": "<0>Unlimited", + "unlimited_collaborators_in_each_project": "Unlimited collaborators in each project", + "unlimited_collaborators_per_project": "Unlimited collaborators per project", + "unlimited_collabs": "Unlimited collaborators", + "unlimited_collabs_rt": "<0>Unlimited collaborators", + "unlimited_projects": "Unlimited projects", + "unlimited_projects_info": "Your projects are private by default. This means that only you can view them, and only you can allow other people to access them.", + "unlink": "Unlink", + "unlink_all_users": "Unlink all users", + "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their Overleaf accounts with your IdP. They’ll receive an email asking them to do this.", + "unlink_dropbox_folder": "Unlink Dropbox Account", + "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?", + "unlink_github_repository": "Unlink GitHub repository", + "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", + "unlink_linked_accounts": "Unlink any linked accounts (such as ORCID ID, IEEE). <0>Remove them in Account Settings (under Linked Accounts).", + "unlink_linked_google_account": "Unlink your Google account. <0>Remove it in Account Settings (under Linked Accounts).", + "unlink_provider_account_title": "Unlink __provider__ Account", + "unlink_provider_account_warning": "Warning: When you unlink your account from __provider__ you will not be able to sign in using __provider__ anymore.", + "unlink_reference": "Unlink References Provider", + "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).", + "unlink_user": "Unlink user", + "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their Overleaf account with your IdP. They’ll receive an email asking them to do this.", + "unlink_users": "Unlink users", + "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", + "unlinking": "Unlinking", + "unmerge_cells": "Unmerge cells", + "unpublish": "Unpublish", + "unpublishing": "Unpublishing", + "unsubscribe": "Unsubscribe", + "unsubscribed": "Unsubscribed", + "unsubscribing": "Unsubscribing", + "untrash": "Restore", + "up_to": "Up to", + "update": "Update", + "update_account_info": "Update Account Info", + "update_dropbox_settings": "Update Dropbox Settings", + "update_your_billing_details": "Update Your Billing Details", + "updates_to_project_sharing": "Updates to project sharing", + "updating": "Updating", + "updating_site": "Updating Site", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade now, pay after 7 days", + "upgrade_for_12x_more_compile_time": "Upgrade to get 12x more compile time", + "upgrade_now": "Upgrade Now", + "upgrade_to_add_more_editors": "Upgrade to add more editors to your project", + "upgrade_to_add_more_editors_and_access_collaboration_features": "Upgrade to add more editors and access collaboration features like track changes and full project history.", + "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", + "upgrade_to_track_changes": "Upgrade to track changes", + "upload": "Upload", + "upload_failed": "Upload failed", + "upload_from_computer": "Upload from computer", + "upload_project": "Upload Project", + "upload_zipped_project": "Upload Zipped Project", + "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", + "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy Overleaf organizational plans. Talk to our government team.", + "usage_metrics": "Usage metrics", + "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in Overleaf.", + "use_a_different_password": "Please use a different password", + "use_saml_metadata_to_configure_sso_with_idp": "Use the Overleaf SAML metadata to configure SSO with your Identity Provider.", + "use_your_own_machine": "Use your own machine, with your own setup", + "used_latex_before": "Have you ever used LaTeX before?", + "used_latex_response_never": "No, never", + "used_latex_response_occasionally": "Yes, occasionally", + "used_latex_response_often": "Yes, very often", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Used when referring to the figure elsewhere in the document", + "user_administration": "User administration", + "user_already_added": "User already added", + "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", + "user_deletion_password_reset_tip": "If you cannot remember your password, or if you are using Single-Sign-On with another provider to sign in (such as ORCID or Google), please <0>reset your password and try again.", + "user_first_name_attribute": "User first name attribute", + "user_is_not_part_of_group": "User is not part of group", + "user_last_name_attribute": "User last name attribute", + "user_management": "User management", + "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "user_metrics": "User metrics", + "user_not_found": "User not found", + "user_sessions": "User Sessions", + "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", + "using_latex": "Using LaTeX", + "using_premium_features": "Using premium features", + "using_the_overleaf_editor": "Using the __appName__ Editor", + "valid": "Valid", + "valid_sso_configuration": "Valid SSO configuration", + "validation_issue_entry_description": "A validation issue which prevented this project from compiling", + "vat": "VAT", + "vat_number": "VAT Number", + "verify_email_address_before_enabling_managed_users": "You need to verify your email address before enabling managed users.", + "view_all": "View All", + "view_code": "View code", + "view_configuration": "View configuration", + "view_group_members": "View group members", + "view_hub": "View Admin Hub", + "view_hub_subtext": "Access and download subscription statistics and a list of users", + "view_in_template_gallery": "View it in the template gallery", + "view_invitation": "View Invitation", + "view_labs_experiments": "View Labs Experiments", + "view_less": "View less", + "view_logs": "View logs", + "view_metrics": "View metrics", + "view_metrics_commons_subtext": "Monitor and download usage metrics for your Commons subscription", + "view_metrics_group_subtext": "Monitor and download usage metrics for your group subscription", + "view_more": "View more", + "view_only_access": "View-only access", + "view_only_downgraded": "View only. Upgrade to restore edit access.", + "view_options": "View options", + "view_pdf": "View PDF", + "view_source": "View Source", + "view_your_invoices": "View Your Invoices", + "viewer": "Viewer", + "viewing_x": "Viewing <0>__endTime__", + "visual_editor": "Visual Editor", + "visual_editor_is_only_available_for_tex_files": "Visual Editor is only available for TeX files", + "want_access_to_overleaf_premium_features_through_your_university": "Want access to __appName__ premium features through your university?", + "want_change_to_apply_before_plan_end": "If you wish this change to apply before the end of your current billing period, please contact us.", + "we_are_testing_a_new_reference_search": "We are testing a new reference search.", + "we_are_unable_to_opt_you_into_this_experiment": "We are unable to opt you into this experiment at this time, please ensure your organization has allowed this feature, or try again later.", + "we_cant_confirm_this_email": "We can’t confirm this email", + "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", + "we_do_not_share_personal_information": "See our <0>Privacy Notice for details of how we treat your personal data", + "we_logged_you_in": "We have logged you in.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", + "we_sent_new_code": "We’ve sent a new code. If it doesn’t arrive, make sure to check your spam and any promotions folders.", + "webinars": "Webinars", + "website_status": "Website status", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Welcome to __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "We’re making some <0>changes to project sharing. This means, as someone with edit access, your name and email address will be visible to the project owner and other editors.", + "were_performing_maintenance": "We’re performing maintenance on Overleaf and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected this project.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected your project.", + "what_do_you_need": "What do you need?", + "what_do_you_need_help_with": "What do you need help with?", + "what_do_you_think_of_the_ai_error_assistant": "What do you think of the AI error assistant?", + "what_does_this_mean": "What does this mean?", + "what_does_this_mean_for_you": "This means:", + "what_happens_when_sso_is_enabled": "What happens when SSO is enabled?", + "what_should_we_call_you": "What should we call you?", + "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use Overleaf as normal, but you’ll see any labs features marked with this badge:", + "when_you_tick_the_include_caption_box": "When you tick the box “Include caption” the image will be inserted into your document with a placeholder caption. To edit it, you simply select the placeholder text and type to replace it with your own.", + "why_latex": "Why LaTeX?", + "wide": "Wide", + "will_lose_edit_access_on_date": "Will lose edit access on __date__", + "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", + "with_premium_subscription_you_also_get": "With an Overleaf Premium subscription you also get", + "word_count": "Word Count", + "work_offline": "Work offline", + "work_or_university_sso": "Work/university single sign-on", + "work_with_non_overleaf_users": "Work with non Overleaf users", + "would_you_like_to_see_a_university_subscription": "Would you like to see a university-wide __appName__ subscription at your university?", + "write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:", + "writefull": "Writefull", + "writefull_learn_more": "Learn more about Writefull for Overleaf", + "writefull_loading_error_body": "Try refreshing the page. If this doesn’t work, try disabling any active browser extensions to check they aren’t blocking Writefull from loading.", + "writefull_loading_error_title": "Writefull didn’t load correctly", + "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for Overleaf.", + "x_changes_in": "__count__ change in", + "x_changes_in_plural": "__count__ changes in", + "x_collaborators_per_project": "__collaboratorsCount__ collaborators per project", + "x_libraries_accessed_in_this_project": "__provider__ libraries accessed in this project", + "x_price_for_first_month": "<0>__price__ for your first month", + "x_price_for_first_year": "<0>__price__ for your first year", + "x_price_for_y_months": "<0>__price__ for your first __discountMonths__ months", + "x_price_per_user": "__price__ per user", + "x_price_per_year": "__price__ per year", + "year": "year", + "yearly": "Yearly", + "yes_im_in": "Yes, I’m in", + "yes_move_me_to_personal_plan": "Yes, move me to the Personal plan", + "yes_that_is_correct": "Yes, that’s correct", + "you": "You", + "you_already_have_a_subscription": "You already have a subscription", + "you_and_collaborators_get_access_to": "You and your project collaborators get access to", + "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other Overleaf users that you invite to your projects).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the Overleaf Commons subscription at <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "You are a <0>manager of <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_currently_logged_in_as": "You are currently logged in as __email__.", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "You’re on an __appName__ Paid plan. <0>Contact support to find out more.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "You are on our <0>__planName__ plan as a <1>confirmed member of <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are on our <0>__planName__ plan as a <1>member of the group subscription <1>__groupName__ administered by <1>__adminEmail__", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "You can also choose to <0>view anonymously (you will lose edit access) or <1>leave the project.", + "you_can_buy_this_plan_but_not_as_a_trial": "You can buy this plan but not as a trial, as you’ve completed a trial recently.", + "you_can_manage_your_reference_manager_integrations_from_your_account_settings_page": "You can manage your reference manager integrations from your <0>account settings page.", + "you_can_now_enable_sso": "You can now enable SSO on your Group settings page.", + "you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Professional features.", + "you_can_only_add_n_people_to_edit_a_project": "You can only add __count__ person to edit a project with you on your current plan. Upgrade to add more.", + "you_can_only_add_n_people_to_edit_a_project_plural": "You can only add __count__ people to edit a project with you on your current plan. Upgrade to add more.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can <0>opt in and out of the program at any time on this page", + "you_can_request_a_maximum_of_limit_fixes_per_day": "You can request a maximum of __limit__ fixes per day. Please try again tomorrow.", + "you_can_select_or_invite": "You can select or invite __count__ editor on your current plan, or upgrade to get more.", + "you_can_select_or_invite_plural": "You can select or invite __count__ editors on your current plan, or upgrade to get more.", + "you_cant_add_or_change_password_due_to_sso": "You can’t add or change your password because your group or organization uses <0>single sign-on (SSO).", + "you_cant_join_this_group_subscription": "You can’t join this group subscription", + "you_cant_reset_password_due_to_sso": "You can’t reset your password because your group or organization uses SSO. <0>Log in with SSO.", + "you_dont_have_any_repositories": "You don’t have any repositories", + "you_get_access_to": "You get access to", + "you_get_access_to_info": "These features are available only to you (the subscriber).", + "you_have_added_x_of_group_size_y": "You have added <0>__addedUsersSize__ of <1>__groupSize__ available members", + "you_have_been_invited_to_transfer_management_of_your_account": "You have been invited to transfer management of your account.", + "you_have_been_invited_to_transfer_management_of_your_account_to": "You have been invited to transfer management of your account to __groupName__.", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "You have been removed from this project, and will no longer have access to it. You will be redirected to your project dashboard momentarily.", + "you_need_to_configure_your_sso_settings": "You need to configure and test your SSO settings before enabling SSO", + "you_plus_1": "You + 1", + "you_plus_10": "You + 10", + "you_plus_6": "You + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>You will be able to contact us any time to share your feedback", + "you_will_be_able_to_reassign_subscription": "You will be able to reassign their subscription membership to another person in your organization", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "You’ll get the best results from using this tool in the <0>Visual Editor, although you can still use it to insert tables in the <1>Code Editor. Once you’ve selected the number of rows and columns you need, the table will appear in your document and you can double click in a cell to add contents to it.", + "youll_need_to_ask_the_github_repository_owner": "You’ll need to ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to Overleaf. <0>Read more about SSO.", + "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", + "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", + "your_account_is_suspended": "Your account is suspended", + "your_affiliation_is_confirmed": "Your <0>__institutionName__ affiliation is confirmed.", + "your_browser_does_not_support_this_feature": "Sorry, your browser doesn’t support this feature. Please update your browser to its latest version.", + "your_compile_timed_out": "Your compile timed out", + "your_current_project_will_revert_to_the_version_from_time": "Your current project will revert to the version from __timestamp__", + "your_git_access_info": "Your Git authentication tokens should be entered whenever you’re prompted for a password.", + "your_git_access_info_bullet_1": "You can have up to 10 tokens.", + "your_git_access_info_bullet_2": "If you reach the maximum limit, you’ll need to delete a token before you can generate a new one.", + "your_git_access_info_bullet_3": "You can generate a token using the <0>Generate token button.", + "your_git_access_info_bullet_4": "You won’t be able to view the full token after the first time you generate it. Please copy it and keep it safe", + "your_git_access_info_bullet_5": "Previously generated tokens will be shown here.", + "your_git_access_tokens": "Your Git authentication tokens", + "your_message_to_collaborators": "Send a message to your collaborators", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "Your name and email address will be visible to the project owner and other editors.", + "your_new_plan": "Your new plan", + "your_password_has_been_successfully_changed": "Your password has been successfully changed", + "your_password_was_detected": "Your password is on a <0>public list of known compromised passwords. Keep your account safe by changing your password now.", + "your_plan": "Your plan", + "your_plan_is_changing_at_term_end": "Your plan is changing to <0>__pendingPlanName__ at the end of the current billing period.", + "your_plan_is_limited_to_n_editors": "Your plan allows __count__ collaborator with edit access and unlimited viewers.", + "your_plan_is_limited_to_n_editors_plural": "Your plan allows __count__ collaborators with edit access and unlimited viewers.", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Your project exceeded the compile timeout limit on our free plan.", + "your_project_exceeded_editor_limit": "Your project exceeded the editor limit and access levels were changed. Select a new access level for your collaborators, or upgrade to add more editors.", + "your_project_near_compile_timeout_limit": "Your project is near the compile timeout limit for our free plan.", + "your_projects": "Your Projects", + "your_questions_answered": "Your questions answered", + "your_role": "Your role", + "your_sessions": "Your Sessions", + "your_subscription": "Your Subscription", + "your_subscription_has_expired": "Your subscription has expired.", + "youre_a_member_of_overleaf_labs": "You’re a member of Overleaf Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", + "youre_about_to_disable_single_sign_on": "You’re about to disable single sign-on for all group members.", + "youre_about_to_enable_single_sign_on": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct and all your group members have managed user accounts.", + "youre_about_to_enable_single_sign_on_sso_only": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct.", + "youre_already_setup_for_sso": "You’re already set up for SSO", + "youre_joining": "You’re joining", + "youre_on_free_trial_which_ends_on": "You’re on a free trial which ends on <0>__date__.", + "youre_signed_in_as_logout": "You’re signed in as <0>__email__. <1>Log out.", + "youre_signed_up": "You’re signed up", + "youve_lost_edit_access": "You’ve lost edit access", + "youve_unlinked_all_users": "You’ve unlinked all users", + "zh-CN": "Chinese", + "zip_contents_too_large": "Zip contents too large", + "zoom_in": "Zoom in", + "zoom_out": "Zoom out", + "zoom_to": "Zoom to", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero and <0>Mendeley integrations", + "zotero_cta": "Get Zotero integration", + "zotero_groups_loading_error": "There was an error loading groups from Zotero", + "zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "zotero_integration": "Zotero Integration", + "zotero_integration_lowercase": "Zotero integration", + "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", + "zotero_is_premium": "Zotero integration is a premium feature", + "zotero_reference_loading_error": "Error, could not load references from Zotero", + "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", + "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", + "zotero_sync_description": "With the Zotero integration you can import your references from Zotero into your __appName__ projects." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/es.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/es.json new file mode 100644 index 0000000..98605f2 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/es.json @@ -0,0 +1,726 @@ +{ + "1_2_width": "½ ancho", + "1_4_width": "¼ ancho", + "3_4_width": "¾ ancho", + "About": "Quiénes somos", + "Account": "Cuenta", + "Account Settings": "Opciones de la cuenta", + "Documentation": "Documentación", + "Projects": "Proyectos", + "Security": "Seguridad", + "Subscription": "Suscripción", + "Terms": "Términos", + "Universities": "Universidades", + "a_custom_size_has_been_used_in_the_latex_code": "Se ha utilizado un tamaño personalizado en el código LaTeX.", + "a_fatal_compile_error_that_completely_blocks_compilation": "Un <0>fatal compile error bloquea completamente la compilación.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Ya existe un archivo con el mismo nombre. El contenido original será sobrescrito.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Una lista más exhaustiva de atajos de teclado puede encontrarse en <0>this __appName__ project template", + "about": "Quiénes somos", + "about_to_archive_projects": "Estás apunto de archivar los siguientes proyectos:", + "about_to_delete_cert": "Estás a punto de eliminar el siguiente certificado:", + "about_to_delete_projects": "Estás a punto de eliminar los siguientes proyectos:", + "about_to_delete_tag": "Estás a punto de eliminar las siguientes etiquetas (no se eliminarán los proyectos en las mismas):", + "about_to_delete_the_following_project": "Estás a punto de eliminar el siguiente proyecto:", + "about_to_delete_the_following_projects": "Estás a punto de eliminar los siguientes proyectos:", + "about_to_delete_user_preamble": "Estás a punto de eliminar __userName__ (__userEmail__). Hacer esto significará:", + "about_to_enable_managed_users": "Al activar la función Usuarios administrados, todos los miembros existentes de su suscripción de grupo serán invitados a convertirse en administrados. Esto te dará derechos de administrador sobre sus cuentas. También tendrás la opción de invitar a nuevos miembros a unirse a la suscripción y convertirse en administrados.", + "about_to_leave_project": "Estás a punto de abandonar este proyecto.", + "about_to_leave_projects": "Estás apunto de abandonar los siguientes proyectos:", + "about_to_trash_projects": "Estás a punto de enviar los siguientes proyectos a la papelera:", + "abstract": "Resumen", + "accept": "Aceptar", + "accept_all": "Aceptar todo", + "accept_and_continue": "Aceptar y continuar", + "accept_change": "Aceptar cambio", + "accept_invitation": "Aceptar invitación", + "accept_or_reject_each_changes_individually": "Aceptar o rechazar cada cambio individualmente", + "accept_terms_and_conditions": "Aceptar términos y condiciones", + "accepted_invite": "Invitación aceptada", + "accepting_invite_as": "Estás aceptando esta invitación como ", + "access_denied": "Acceso denegado", + "access_levels_changed": "Niveles de acceso modificados", + "account": "Cuenta", + "account_has_been_link_to_institution_account": "Tu cuenta __email__ de __appName__ ha sido vinculada con tu cuenta institucional __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Su cuenta tiene actualmente una factura vencida. No podrás cambiar de plan hasta que esto se resuelva.", + "account_linking": "Vinculación de cuentas", + "account_managed_by_group_administrator": "Su cuenta está administrada por el administrador de su grupo (__admin__)", + "account_not_linked_to_dropbox": "Tu cuenta no está conectada con Dropbox", + "account_settings": "Opciones de la cuenta", + "account_with_email_exists": "Parece que una cuenta __appName__ con el email __email__ ya existe.", + "acct_linked_to_institution_acct_2": "Puedes unirte a Overleaf a través de tu login institucional de __institutionName__", + "actions": "Acciones", + "activate": "Activar", + "activate_account": "Activar tu cuenta", + "activating": "Activando", + "activation_token_expired": "Tu token de activación ha caducado, tendrás que solicitar que enviemos otro.", + "active": "Activo", + "add": "Agregar", + "add_a_recovery_email_address": "Añadir una dirección de correo de recuperación", + "add_additional_certificate": "Añadir otro certificado", + "add_affiliation": "Añadir afiliación", + "add_another_address_line": "Añadir otra línea de dirección", + "add_another_email": "Añadir otro correo", + "add_another_token": "Añadir otro token", + "add_comma_separated_emails_help": "Separa múltiples direcciones de correo mediante la coma (,)", + "add_comment": "Añadir comentario", + "add_company_details": "Añadir detalles de la compañía", + "add_email": "Añadir correo", + "add_email_address": "Añadir dirección de correo", + "add_email_to_claim_features": "Añade tu correo institucional para reclamar funcionalidades.", + "add_files": "Añadir archivos", + "add_more_collaborators": "Añadir más colaboradores", + "add_more_editors": "Añadir más editores", + "add_more_managers": "Añadir más administradores", + "add_more_members": "Agregar más miembros", + "add_new_email": "Añadir nuevo correo", + "add_or_remove_project_from_tag": "Añadir o eliminar proyecto de la etiqueta __tagName__", + "add_people": "Añadir personas", + "add_role_and_department": "Añadir rol y departamento", + "add_to_tag": "Añadir a etiqueta", + "add_your_comment_here": "Añade tu comentario aquí", + "add_your_first_group_member_now": "Agrega tu primer grupo de miembros ahora", + "added": "agregado", + "added_by_on": "Añadido por __name__ el __date__", + "adding": "Añadiendo", + "adding_a_bibliography": "¿Añadir una bibliografía?", + "additional_certificate": "Certificado adicional", + "address": "Dirección", + "address_line_1": "Dirección", + "address_second_line_optional": "Segunda línea de dirección (opcional)", + "adjust_column_width": "Ajustar ancho de columna", + "admin": "administrador", + "admin_panel": "Panel de administrador", + "administration_and_security": "Administración y seguridad", + "advanced_reference_search": "Búsqueda avanzada de referencias", + "advanced_reference_search_mode": "Búsqueda avanzada de referencias", + "advanced_search": "Búsqueda avanzada", + "aggregate_changed": "Cambiado", + "aggregate_to": "a", + "agree_with_the_terms": "Estoy de acuerdo con los términos y condiciones de Overleaf", + "ai_can_make_mistakes": "La IA puede cometer errores. Revisa las correcciones antes de aplicarlas.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "¿Tiene alguna idea o sugerencia para mejorar esta funcionalidad?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Dinos qué falló para que podamos mejorar.", + "ai_feedback_the_answer_was_too_long": "La respuesta fue demasiado larga", + "ai_feedback_the_answer_wasnt_detailed_enough": "La respuesta no ha sido lo suficientemente detallada", + "ai_feedback_the_suggestion_didnt_fix_the_error": "La sugerencia no solucionó el error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "La sugerencia no ha sido la mejor solución disponible", + "ai_feedback_there_was_no_code_fix_suggested": "No se sugirió ninguna corrección del código", + "alignment": "Alineado", + "all": "Todos", + "all_borders": "Todos los bordes", + "all_our_group_plans_offer_educational_discount": "Todos nuestros <0>planes para grupos ofrecen un <1>descuento educativo para estudiantes y profesores.", + "all_premium_features": "Todas las características premium", + "all_premium_features_including": "Todas las características premium, incluyendo:", + "all_prices_displayed_are_in_currency": "Todos los precios mostrados son en __recommendedCurrency__.", + "all_projects": "Todos los proyectos", + "all_projects_will_be_transferred_immediately": "Todos los proyectos se transferirán inmediatamente al nuevo propietario.", + "all_templates": "Todas las plantillas", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "Todas las ventajas de nuestro plan estándar, más un número ilimitado de colaboradores por proyecto.", + "all_these_experiments_are_available_exclusively": "Todos estos experimentos están disponibles exclusivamente para los miembros del programa Labs. Si te inscribes, puedes elegir qué experimentos quieres probar.", + "already_have_an_account": "¿Ya tiene una cuenta?", + "already_have_sl_account": "¿Ya tienes una cuenta de __appName__?", + "already_subscribed_try_refreshing_the_page": "¿Ya estás suscrito? Prueba a actualizar la página.", + "also": "También", + "also_available_as_on_premises": "También disponible en las instalaciones de la empresa", + "alternatively_create_new_institution_account": "Alternativamente, puede crear una nueva cuenta con su correo institucional (__email__) haciendo click en __clickText__.", + "an_email_has_already_been_sent_to": "Ya se ha enviado un correo electrónico a <0>__email__. Espere e inténtelo de nuevo más tarde.", + "an_error_occured_while_restoring_project": "Se ha producido un error al restaurar el proyecto", + "an_error_occurred_when_verifying_the_coupon_code": "Se ha producido un error al verificar el código del cupón", + "and": "y", + "annual": "Anual", + "anonymous": "Anónimo", + "anyone_with_link_can_edit": "Cualquiera con este enlace puede editar este proyecto", + "anyone_with_link_can_view": "Cualquiera con este enlace puede ver este proyecto", + "app_on_x": "__appName__ en __social__", + "apply_educational_discount": "Aplicar descuento educacional", + "apply_educational_discount_info": "Overleaf ofrece un descuento educacional del 40% para grupos de 10 o más personas. Se aplica a estudiantes o profesores que utilicen Overleaf para impartir clases", + "apply_educational_discount_info_new": "40% de descuento para grupos de 10 o más personas que utilicen __appName__ para la enseñanza", + "apply_suggestion": "Aplicar sugerencia", + "april": "Abril", + "archive": "Archivar", + "archive_projects": "Archivar proyectos", + "archived": "Archivado", + "archived_projects": "Proyectos archivados", + "archiving_projects_wont_affect_collaborators": "Archivar proyectos no afectará a tus colaboradores.", + "are_you_affiliated_with_an_institution": "¿Está afiliado a alguna institución?", + "are_you_still_at": "¿Aún perteneces a <0>__institutionName__?", + "are_you_sure": "¿Está seguro?", + "article": "Artículo", + "articles": "Artículos", + "as_a_member_of_sso_required": "Como miembro de __institutionName__, debe unirse a __appName__ a través del portal de su institución.", + "as_email": "con __email__", + "ascending": "Ascendente", + "ask_proj_owner_to_upgrade_for_full_history": "Pida al propietario del proyecto que lo actualice para acceder al historial completo de este proyecto.", + "ask_proj_owner_to_upgrade_for_references_search": "Pide al creador del proyecto que suba de categoría para usar la característica Búsqueda de referencias.", + "august": "Agosto", + "author": "Autor", + "auto_close_brackets": "Cierre automático de corchetes", + "auto_compile": "Compilación automática", + "auto_complete": "Autocompletar", + "autocompile_disabled": "Compilación automática desactivada", + "autocompile_disabled_reason": "Debido a la elevada carga del servidor, se ha desactivado temporalmente la recompilación en segundo plano. Por favor, recompile haciendo clic en el botón de arriba.", + "autocomplete": "Autocompletado", + "automatic_user_registration": "registro automático de usuarios", + "automatic_user_registration_uppercase": "Registro automático de usuarios", + "back": "Volver", + "back_to_account_settings": "Volver a la configuración de la cuenta", + "back_to_configuration": "Volver a la configuración", + "back_to_editor": "Volver al editor", + "back_to_log_in": "Volver al inicio de sesión", + "back_to_subscription": "Volver a Suscripción", + "back_to_your_projects": "Volver a tus proyectos", + "basic": "Básico", + "basic_compile_timeout_on_fast_servers": "Tiempo de espera de compilación básico en servidores rápidos", + "become_an_advisor": "Conviértete en __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Antes de utilizar el asistente de errores basado en IA", + "beta": "Beta", + "beta_feature_badge": "Insignia de función beta", + "beta_program_already_participating": "Está inscrito en el Programa Beta", + "beta_program_badge_description": "Cuando utilices __appName__, verás las funciones beta marcadas con este distintivo:", + "beta_program_benefits": "Siempre estamos mejorando __appName__. Al unirte a este programa podrás tener <0>acceso anticipado a nuevas funciones y ayudarnos a entender mejor tus necesidades.", + "beta_program_not_participating": "No está inscrito en el Programa Beta", + "beta_program_opt_in_action": "Inscribirse en el Programa Beta", + "beta_program_opt_out_action": "Salir del Programa Beta", + "better_bibliographies": "Mejores bibliografías", + "bibliographies": "Bibliografías", + "binary_history_error": "Vista previa no disponible para este tipo de archivo", + "blank_project": "Proyecto vacío", + "blocked_filename": "Este nombre de archivo está bloqueado.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ ¡Grandes noticias! Hemos aplicado un 50% de descuento a los planes premium de esta página para nuestros usuarios en Brasil. Echa un vistazo a los nuevos precios más bajos.", + "browser": "Navegador", + "built_in": "Integrado", + "bulk_accept_confirm": "¿Está seguro de que desea aceptar los __nChanges__ cambios seleccionados?", + "bulk_reject_confirm": "¿Está seguro de que desea rechazar los __nChanges__ cambios seleccionados?", + "buy_now_no_exclamation_mark": "Comprar ahora", + "by": "por", + "by_joining_labs": "Al unirte a Labs, aceptas recibir ocasionalmente correos electrónicos y actualizaciones de Overleaf, por ejemplo, para solicitar tu opinión. También acepta nuestras <0>condiciones del servicio y nuestro <1>aviso de privacidad.", + "by_registering_you_agree_to_our_terms_of_service": "Al registrarse, acepta nuestras <0>condiciones del servicio y <1>notificación de privacidad.", + "by_subscribing_you_agree_to_our_terms_of_service": "Al suscribirse, acepta nuestras <0>condiciones del servicio.", + "can_edit": "Puede editar", + "can_link_institution_email_acct_to_institution_acct": "Ahora puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__.", + "can_link_institution_email_by_clicking": "Puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__ haciendo click en __clickText__.", + "can_link_institution_email_to_login": "Puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__, lo cual te permitirá entrar en __appName__ a través de tu institución y confirmará de nuevo tu cuenta de correo institucional.", + "can_now_relink_dropbox": "Ya puedes <0>vincular de nuevo tu cuenta de Dropbox.", + "can_view": "Se puede ver", + "cancel": "Cancelar", + "cancel_my_account": "Cancelar mi suscripción", + "cancel_my_subscription": "Cancelar mi suscripción", + "cancel_personal_subscription_first": "Ya tienes una suscripción personal, ¿quieres que cancelemos esta primero antes de unirte a esta licencia grupal?", + "cancel_your_subscription": "Cancelar tu suscripción", + "cannot_invite_non_user": "No se puede enviar la invitación. El destinatario ya debe tener una cuenta en __appName__.", + "cannot_invite_self": "No se puede enviar la invitación a uno mismo", + "cant_find_email": "Ese correo electrónico no está registrado, disculpa.", + "cant_find_page": "Disculpa, no podemos encontrar la página que estás buscando.", + "cant_see_what_youre_looking_for_question": "¿No encuentra lo que busca?", + "caption_above": "Pie de foto encima", + "caption_below": "Pie de foto debajo", + "card_details": "Datos de la tarjeta", + "card_details_are_not_valid": "Los datos de la tarjeta no son válidos", + "card_must_be_authenticated_by_3dsecure": "Su tarjeta debe ser autenticada con 3D Secure antes de continuar", + "card_payment": "Pago con tarjeta", + "careers": "Empleo", + "category_arrows": "Flechas", + "category_greek": "Griego", + "category_misc": "Miscelánea", + "category_operators": "Operadores", + "category_relations": "Relaciones", + "center": "Centro", + "certificate": "Certificado", + "change": "Cambiar", + "change_currency": "Cambiar divisa", + "change_password": "Cambiar contraseña", + "change_plan": "Cambiar plan", + "change_to_this_plan": "Cambiar a este plan", + "chat": "Chat", + "checking_dropbox_status": "Revisando estado de Dropbox", + "checking_project_github_status": "Revisando estado de proyecto en GitHub", + "choose_your_plan": "Elige tu plan", + "city": "Ciudad", + "clear_cached_files": "Borrar archivos en la caché", + "clearing": "Limpiando", + "click_here_to_view_sl_in_lng": "Haga click aquí para usar __appName__ en <0>__lngName__", + "close": "Cerrar", + "clsi_maintenance": "Los servidores de compilación están fuera de servicio por mantenimiento y volverán a estar operativos muy pronto.", + "cn": "Chino (simplificado)", + "collaboration": "Colaboración", + "collaborator": "Colaborador", + "collabs_per_proj": "__collabcount__ colaboradores por proyecto", + "comment": "Comentar", + "commit": "Commit", + "common": "Común", + "compile_error_entry_description": "Un error ha impedido la compilación de este proyecto", + "compile_error_handling": "Tratamiento de errores de compilación", + "compile_larger_projects": "Compilar proyectos más grandes", + "compile_mode": "Modo de compilación", + "compile_servers": "Servidores de compilación", + "compile_timeout_short": "Tiempo límite de compilación", + "compiler": "Compilador", + "compiling": "Compilando", + "complete": "Completar", + "compliance": "Conformidad", + "compromised_password": "Contraseña comprometida", + "configure_sso": "Configurar SSO", + "confirm": "Confirmar", + "confirm_affiliation": "Confirmar afiliación", + "confirm_email": "Confirmar email", + "confirm_new_password": "Confirmar nueva contraseña", + "confirming": "Confirmando", + "connected_users": "Usuarios conectados", + "connecting": "Conectando", + "connection_lost": "Conexión perdida", + "contact": "Contacto", + "contact_group_admin": "Por favor, contacta al administrador de tu grupo", + "contact_message_label": "Mensaje", + "contact_support": "Contactar con el soporte", + "contact_us": "Contáctanos", + "contact_us_lowercase": "Contáctanos", + "contacting_the_sales_team": "Contactar con el equipo de ventas", + "continue": "Continuar", + "continue_github_merge": "He hecho el merge de forma manual. Continuar", + "continue_with_free_plan": "Continuar con el plan gratuito", + "copied": "Copiado", + "copy": "Copiar", + "copy_code": "Copiar código", + "copy_project": "Copiar proyecto", + "copy_response": "Copiar respuesta", + "copying": "Copiando", + "country": "País", + "coupon_code": "Código de cupón", + "create": "Crear", + "create_new_subscription": "Crear nueva suscripción", + "create_project_in_github": "Crear un repositorio en GitHub", + "creating": "Creando", + "credit_card": "Tarjeta de crédito", + "cs": "Checo", + "current_password": "Contraseña actual", + "currently_subscribed_to_plan": "Actualmente estás suscrito al plan <0>__planName__.", + "da": "Danés", + "de": "Alemán", + "december": "Diciembre", + "delete": "Eliminar", + "delete_account": "Eliminar cuenta", + "delete_and_leave_projects": "Eliminar y abandonar proyectos", + "delete_projects": "Eliminar proyectos", + "delete_your_account": "Elimina tu cuenta", + "deleting": "Eliminando", + "description": "Descripción", + "disable_sso": "Deshabilitar SSO", + "disconnected": "Desconectado", + "documentation": "Documentación", + "doesnt_match": "No concuerdan", + "done": "Listo", + "download": "Descargar", + "download_pdf": "Descargar PDF", + "download_zip_file": "Descargar archivo .zip", + "dropbox_sync": "Sincronización con Dropbox", + "dropbox_sync_description": "Mantén tus proyectos de __appName__ sincronizados con Dropbox. Los cambios en __appName__ son automáticamente enviados a tu Dropbox y vice versa.", + "edit_sso_configuration": "Editar configuración de SSO", + "editing": "Editando", + "editor_disconected_click_to_reconnect": "Editor desconectado, clickea en cualquier parte para volver a conectar.", + "email": "Email", + "email_already_registered": "Este correo electrónico ya está registrado", + "email_link_expired": "El link para el correo electrónico expiró, por favor solicita uno nuevo.", + "email_or_password_wrong_try_again": "Tu correo electrónico o contraseña es incorrecto.", + "en": "Inglés", + "enable_sso": "Habilitar SSO", + "es": "Español", + "every": "cada", + "example_project": "Proyecto de ejemplo", + "expiry": "Fecha de expiración", + "export_project_to_github": "Exportar proyecto a GitHub", + "fast": "Rápido", + "features": "Características", + "february": "Febrero", + "first_name": "Nombre", + "folders": "Carpetas", + "font_size": "Tamaño de la tipografía", + "forgot_your_password": "¿Olvidaste tu contraseña", + "fr": "Francés", + "free": "Gratis", + "free_dropbox_and_history": "Dropbox e historial gratis", + "full_doc_history": "Historial completo de documentos", + "generic_something_went_wrong": "Disculpa, algo falló", + "get_discounted_plan": "Consigue el plan con descuento", + "get_in_touch": "Ponte en contacto", + "github_commit_message_placeholder": "Mensaje del commit para cambios hechos en __appName__...", + "github_is_premium": "La sincronización con GitHub es una característica premium", + "github_public_description": "Cualquier persona puede ver este repositorio. Tú eliges quién puede contribuir.", + "github_successfully_linked_description": "Gracias, vinculamos exitosamente tu cuenta de GitHub con __appName__. Ahora puedes exportar tus proyectos de __appName__ a GitHub o importar proyectos desde tus repositorios en GitHub.", + "github_sync": "Sincronización con GitHub", + "github_sync_description": "Con la sincronización con GitHub puedes enlazar tus proyectos de __appName__ con repositorios GitHub. Crea nuevos commits desde __appName__ y únelos con commits hechos offline o en GitHub.", + "github_sync_error": "Disculpa, hubo un error en la conexión con nuestro servicio de GitHub. Intenta de nuevo en unos minutos más, por favor.", + "github_validation_check": "Por favor revisa que el nombre del repositorio es válido y que tienes permisos para crear el repositorio.", + "global": "global", + "go_to_code_location_in_pdf": "Ir a la ubicación del código en el PDF", + "go_to_pdf_location_in_code": "Ir a la ubicación del PDF en el código", + "group_admin": "Administrador de grupo", + "group_plans": "Planes grupales", + "groups": "Grupos", + "have_more_days_to_try": "¡Aquí tienes __days__ días más de prueba!", + "headers": "Encabezados", + "help": "Ayuda", + "hotkeys": "Teclas de acceso rápido", + "i_want_to_stay": "Quiero seguir", + "ill_take_it": "¡Sí!", + "import_from_github": "Importar desde GitHub", + "import_to_sharelatex": "Importa a __appName__", + "importing": "Importando", + "importing_and_merging_changes_in_github": "Importando y uniendo cambios en GitHub", + "indvidual_plans": "Planes individuales", + "info": "Información", + "institution": "Institución", + "it": "Italiano", + "ja": "Japonés", + "january": "Enero", + "join_sl_to_view_project": "Ingresa a __appName__ para ver este proyecto", + "july": "Julio", + "june": "Junio", + "keybindings": "Teclas asociadas", + "ko": "Coreano", + "language": "Idioma", + "last_modified": "Última modificación", + "last_name": "Apellido", + "latam_discount_modal_info": "Aprovecha todo el potencial de Overleaf con un __discount__% de descuento en suscripciones premium pagadas en __currencyName__. Consigue tiempos de compilación más largos, historial completo de documentos, seguimiento de cambios, colaboradores adicionales y más.", + "latam_discount_modal_title": "Descuento en planes premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos un descuento del __discount__ en los planes premium de esta página para nuestros usuarios de __country__. Consulta los nuevos precios con descuento (en __currency__)", + "latex_templates": "Plantillas LaTeX", + "learn_more": "Más detalles", + "leave_group": "Abandonar grupo", + "leave_now": "Abandonar ya", + "leave_projects": "Abandonar proyectos", + "link_to_github": "Enlace a tu cuenta de GitHub", + "link_to_github_description": "Necesitas autorizar a __appName__ para acceder a tu cuenta de GitHub para permitirnos sincronizar tus proyectos.", + "link_to_mendeley": "Vincular a Mendeley", + "link_to_zotero": "Vincular a Zotero", + "links": "Enlaces", + "loading": "Cargando", + "loading_github_repositories": "Cargando tus repositorios de GitHub", + "loading_recent_github_commits": "Cargando commits recientes", + "log_in": "Entrar", + "log_in_with_sso": "Unirse mediante SSO", + "log_in_with_sso_email": "Dirección de correo de trabajo o universitaria", + "log_out": "Cerrar sesión", + "logging_in": "Ingresando", + "login": "Ingresar", + "login_here": "Ingresa aquí", + "logs_and_output_files": "Logs y archivos de salida", + "lost_connection": "Conexión perdida", + "main_document": "Documento principal", + "maintenance": "Mantenimiento", + "make_private": "Hacer privado", + "manage_group_settings_subtext": "Configurar y gestionar SSO y usuarios gestionados", + "manage_group_settings_subtext_group_sso": "Configurar y gestionar SSO", + "manage_subscription": "Gestionar suscripción", + "march": "Marzo", + "math_display": "Fórmulas mostradas", + "math_inline": "Fórmulas en texto", + "maximum_files_uploaded_together": "Máximo de archivos que se pueden subir a la vez: __max__", + "may": "Mayo", + "maybe_later": "Tal vez más tarde", + "mendeley": "Mendeley", + "mendeley_integration": "Integración de Mendeley", + "mendeley_is_premium": "La integración de Mendeley es una característica premium", + "mendeley_reference_loading_error": "Error, no se han podido cargar las referencias de Mendeley", + "mendeley_reference_loading_error_expired": "Tu token de Mendeley ha caducado, vuelve a vincular tu cuenta", + "mendeley_reference_loading_error_forbidden": "No se han podido cargar las referencias de Mendeley, vuelve a vincular tu cuenta y prueba de nuevo", + "mendeley_sync_description": "Con la integración de Mendeley puedes importar tus referencias de mendeley a tus proyectos de __appName__", + "menu": "Menú", + "merge": "Merge", + "merging": "Merging", + "month": "mes", + "monthly": "Mensualmente", + "more": "Más", + "must_be_email_address": "Debe ser una dirección de correo electrónico", + "name": "Nombre", + "native": "Nativo", + "navigation": "Navegación", + "nearly_activated": "¡Estás a un solo de paso de activar tu cuenta de __appName__!", + "need_anything_contact_us_at": "Si hay algo que necesitas, no dudes en contactarnos directamente en", + "need_to_leave": "¿Necesitas dejarnos?", + "need_to_upgrade_for_more_collabs": "Necesitas subir de categoría tu cuenta para añadir más colaboradores", + "new_file": "Nuevo archivo", + "new_folder": "Nueva carpeta", + "new_name": "Nuevo nombre", + "new_password": "Nueva contraseña", + "new_project": "Nuevo proyecto", + "next_payment_of_x_collectected_on_y": "El próximo pago de <0>__paymentAmmount__ será cobrado el <1>__collectionDate__", + "nl": "Neerlandés", + "no": "Noruego", + "no_members": "Sin miembros", + "no_messages": "Sin mensajes", + "no_new_commits_in_github": "No hay nuevos commits en GitHub desde el último merge.", + "no_planned_maintenance": "No hay mantenimiento programado actualmente", + "no_preview_available": "Disculpa, no hay previsualización.", + "no_projects": "Sin proyectos", + "no_search_results": "No hay resultados de búsqueda", + "no_thanks_cancel_now": "No, gracias. Sigo queriendo cancelar", + "normal": "Normal", + "not_now": "Ahora no", + "november": "Noviembre", + "october": "Octubre", + "off": "Apagado", + "ok": "Aceptar", + "one_collaborator": "Solo un colaborador", + "one_free_collab": "Un colaborador gratis", + "online_latex_editor": "Editor de LaTeX online", + "open_a_file_on_the_left": "Abrir un archivo a la izquierda", + "optional": "Opcional", + "or": "o", + "other_logs_and_files": "Otros logs y archivos", + "other_ways_to_log_in": "Otras formas de unirse", + "over": "más", + "owner": "Propietario", + "page_not_found": "Página no encontrada", + "password": "Contraseña", + "password_reset": "Restablecer contraseña", + "password_reset_email_sent": "Se ha enviado un correo electrónico con tu contraseña restablecida.", + "password_reset_token_expired": "Tu token de reinicio de contraseña ha expirado. Por favor solicita un nuevo correo electrónico para reinicio de contraseña y sigue el enlace ahí.", + "pdf_rendering_error": "Error al renderizar PDF", + "pdf_viewer": "Visor de PDF", + "personal": "Personal", + "pl": "Polaco", + "planned_maintenance": "Mantenimiento programado", + "plans_amper_pricing": "Planes y precios", + "plans_and_pricing": "Planes y precios", + "please_compile_pdf_before_download": "Por favor compila tu proyecto antes de descargar el PDF", + "please_compile_pdf_before_word_count": "Por favor compila tu proyecto antes de realizar un conteo de palabras", + "please_enter_email": "Ingresa tu dirección de correo electrónico, por favor ", + "please_refresh": "Por favor actualiza la página para continuar.", + "please_set_a_password": "Establece una contraseña", + "position": "Cargo", + "presentation": "Presentación", + "price": "Precio", + "privacy": "Privacidad", + "privacy_policy": "Política de privacidad", + "private": "Privado", + "problem_changing_email_address": "Hubo un problema cambiando tu dirección de correo electrónico. Por favor intenta de nuevo en unos minutos. Si tu problema persiste, contáctanos por favor.", + "problem_talking_to_publishing_service": "Hay un problema con nuestro servicio de publicación, por favor intenta en unos minutos más", + "problem_with_subscription_contact_us": "Hay un problema con tu suscripción. Por favor toma contacto con nosotros para mayor infor\u001bmación.", + "processing": "procesando", + "professional": "Profesional", + "project_last_published_at": "Tu proyecto fue publicado en", + "project_name": "Nombre del proyecto", + "project_not_linked_to_github": "Este proyecto no está enlazado a un repositorio de GitHub. Puedes crear un repositorio para él en GitHub:", + "project_synced_with_git_repo_at": "Este proyecto está sincronizado con el repositorio de GitHub en", + "project_too_large": "Proyecto demasiado grande", + "project_too_large_please_reduce": "Este proyecto tiene mucho texto, por favor intenta reducirlo.", + "project_url": "URL del proyecto afectado", + "projects": "Proyectos", + "provide_details_of_your_sso_configuration": "Añada, edite o elimine los metadatos SAML de su proveedor de identidades.", + "pt": "Portugués", + "public": "Público", + "publish": "Publicar", + "publish_as_template": "Gestionar plantilla", + "publishing": "Publicando", + "pull_github_changes_into_sharelatex": "Actualiza cambios de GitHub en __appName__", + "push_sharelatex_changes_to_github": "Envía cambios de __appName__ a GitHub", + "read_only": "Solo leer", + "recent_commits_in_github": "Commits recientes en GitHub", + "recompile": "Recompilar", + "reconnecting": "Volviendo a conectar", + "reconnecting_in_x_secs": "Volviendo a conectar en __seconds__ segundos", + "reference_error_relink_hint": "Si el error persiste, prueba a volver a vincular la cuenta aquí:", + "refresh_page_after_starting_free_trial": "Por favor actualiza esta página para empezar tu prueba gratuita.", + "regards": "Atentamente", + "register": "Registrarse", + "register_to_edit_template": "Por favor regístrate para editar la plantilla __templateName__", + "registered": "Registrado", + "registering": "Registrando", + "remove_collaborator": "Eliminar colaborador(a)", + "remove_from_group": "Eliminar del grupo", + "remove_secondary_email_addresses": "Elimine cualquier dirección de correo electrónico secundaria asociada a su cuenta. <0>Elimínelas en la configuración de la cuenta.", + "removed": "eliminado", + "removing": "Eliminando", + "rename": "Renombrar", + "rename_project": "Renombrar proyecto", + "renaming": "Renombrando", + "repository_name": "Nombre del repositorio", + "republish": "Volver a publicar", + "request_password_reset": "Pedir restablecimiento de contraseña", + "request_sent_thank_you": "Solicitud enviada, gracias.", + "required": "obligatorio", + "resend_link_sso": "Re-enviar invitación de SSO", + "reset_password": "Restablecer contraseña", + "reset_your_password": "Restablecer tu contraseña", + "restore": "Restablecer", + "restoring": "Restableciendo", + "restricted": "Restringido", + "restricted_no_permission": "Restringido. Disculpa, no tienes permiso para cargar esta página.", + "ro": "Rumano", + "role": "Rol", + "ru": "Ruso", + "saml_auth_error": "Lo sentimos, su proveedor de identidad respondió con un error. Póngase en contacto con su administrador para obtener más información.", + "saml_email_not_recognized_error": "Esta dirección de correo electrónico no está configurada para SSO. Por favor, compruébelo e inténtelo de nuevo o póngase en contacto con su administrador.", + "saml_identity_exists_error": "Lo sentimos, la identidad devuelta por su proveedor de identidad ya está vinculada con una cuenta Overleaf diferente. Póngase en contacto con su administrador para obtener más información.", + "saml_invalid_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad tiene una firma no válida. Póngase en contacto con su administrador para obtener más información.", + "saml_login_disabled_error": "Lo sentimos, el inicio de sesión único (SSO) se ha desactivado para __email__. Póngase en contacto con su administrador para obtener más información.", + "saml_login_failure": "Lo sentimos, ha habido un problema al iniciar sesión. Póngase en contacto con su administrador para obtener más información.", + "saml_login_identity_mismatch_error": "Lo sentimos, estás intentando iniciar sesión en Overleaf como __email__ pero la identidad devuelta por tu proveedor de identidad no es la correcta para esta cuenta de Overleaf.", + "saml_login_identity_not_found_error": "Lo sentimos, no hemos podido encontrar una cuenta de Overleaf configurada para el inicio de sesión único con este proveedor de identidad.", + "saml_missing_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad no está firmada (se requieren las firmas de respuesta y de aserción). Póngase en contacto con su administrador para obtener más información.", + "saving": "Guardando", + "saving_notification_with_seconds": "Guardando __docname__... (__seconds__ segundos de cambios no guardados)", + "search_bib_files": "Buscar por autor, título, año", + "search_projects": "Buscar proyectos", + "search_references": "Buscar los archivos .bib de este proyecto", + "security": "Seguridad", + "select_github_repository": "Selecciona un repositorio de GitHub para importarlo en __appName__", + "send_first_message": "Envía tu primer mensaje", + "september": "Septiembre", + "server_error": "Error del servidor", + "services": "Servicios", + "session_expired_redirecting_to_login": "La sesión ha caducado. Se te redirigirá a la página de inicio de sesión en __seconds__ segundos", + "set_new_password": "Establece una nueva contraseña", + "set_password": "Establecer contraseña", + "settings": "Opciones", + "share": "Compartir", + "share_project": "Compartir proyecto", + "share_with_your_collabs": "Compartir con tus colaboradores", + "shared_with_you": "Compartidos contigo", + "show_hotkeys": "Mostrar teclas de acceso rápido", + "single_sign_on_sso": "Single Sign-On (SSO)", + "something_went_wrong_rendering_pdf": "Algo ha fallado al renderizar este PDF.", + "somthing_went_wrong_compiling": "Disculpa, algo anduvo mal y tu proyecto no se pudo compilar. Por favor, intenta de nuevo en unos minutos más.", + "source": "Fuente", + "spell_check": "Revisión ortográfica", + "sso": "SSO", + "sso_active": "SSO activo", + "sso_config_prop_help_certificate": "Certificado codificado en Base64 sin espacios en blanco", + "sso_config_prop_help_first_name": "Atributo SAML que especifica el nombre de pila del usuario", + "sso_config_prop_help_last_name": "El atributo SAML que especifica el apellido del usuario", + "sso_config_prop_help_user_id": "El atributo SAML proporcionado por su proveedor de internet que identifica a cada usuario", + "sso_configuration": "Configuración de SSO", + "sso_explanation": "Configure el inicio de sesión único (SSO) para su grupo. Este método de inicio de sesión será opcional para los miembros del grupo a menos que la opción de Usuarios Administrados esté habilitada. <0>Más información sobre Overleaf Group SSO.", + "sso_integration": "Integración de SSO", + "sso_integration_info": "Overleaf ofrece una integración estándar de inicio de sesión único (SSO) basada en SAML", + "sso_is_disabled": "El SSO está deshabilitado", + "sso_is_disabled_explanation_1": "Los miembros del grupo no podrán iniciar sesión a través de SSO", + "sso_is_disabled_explanation_2": "Todos los miembros del grupo necesitarán un nombre de usuario y una contraseña para iniciar sesión en __appName__", + "sso_is_enabled": "El SSO está habilitado", + "sso_is_enabled_explanation_1": "Los miembros del grupo <0>sólo podrán iniciar sesión a través de SSO después de vincular sus cuentas con su proveedor de identidad.", + "sso_is_enabled_explanation_2": "Si hay algún problema con la configuración, sólo usted (como administrador del grupo) podrá desactivar el SSO.", + "sso_link_error": "Error al vincular la cuenta", + "sso_link_invite_has_been_sent_to_email": "Se ha enviado un recordatorio de invitación SSO a <0>__email__", + "sso_logs": "Logs de SSO", + "sso_not_active": "El SSO no está activo", + "sso_title": "Inicio de sesión único (SSO)", + "start_free_trial": "¡Empieza la prueba gratuita!", + "state": "Estado", + "student": "Estudiante", + "subject": "Asunto", + "subscribe": "Suscríbete", + "subscription": "Suscripción", + "subscription_canceled_and_terminate_on_x": " Tu suscripción ha sido cancelada y terminará el <0>__terminateDate__. No se realizarán futuros pagos.", + "suggestion": "Sugerencia", + "sure_you_want_to_change_plan": "¿Estás seguro que quieres cambiar al plan <0>__planName___?", + "sure_you_want_to_delete": "¿Seguro que quieres borrar permanentemente los siguientes archivos?", + "sure_you_want_to_leave_group": "¿Seguro que quieres abandonar este grupo?", + "sv": "Sueco", + "sync": "Sincronizar", + "sync_project_to_github_explanation": "Cualquier cambio que hagas en __appName__ será guardado como un commit y merge con cualquier actualización en GitHub.", + "sync_to_dropbox": "Sincronización con Dropbox", + "sync_to_github": "Sincronizar con GitHub", + "take_me_home": "¡Llévame al incio!", + "template_description": "Descripción de plantilla", + "templates": "Plantillas", + "terms": "Términos", + "thank_you": "Gracias", + "thanks": "¡Gracias", + "thanks_for_subscribing": "¡Gracias por suscribirte!", + "thanks_for_subscribing_you_help_sl": "Gracias por suscribirte al plan __planName__. Es por personas como tú que permite que __appName__ siga creciendo y mejorando.", + "thanks_settings_updated": "Gracias, tus opciones han sido actualizadas.", + "theme": "Tema", + "thesis": "Tesis", + "this_is_your_template": "Esta es la plantilla de tu proyecto", + "this_project_is_public": "Este proyecto es público y puede ser editado por cualquiera que tenga la URL.", + "this_project_is_public_read_only": "Este proyecto es público y puede ser visto (pero no editado) por cualquiera que tenga la dirección URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Este proyecto aparecerá en tu carpeta de Dropbox en ", + "three_free_collab": "Tres colaboradores gratis", + "timedout": "Expiró el tiempo de espera", + "title": "Título", + "to_many_login_requests_2_mins": "Esta cuenta ha tenido muchas peticiones de identificación. Por favor espera 2 minutos antes de intentar identificarte de nuevo", + "to_modify_your_subscription_go_to": "Para modificar tu suscripción ve a", + "too_many_files_uploaded_throttled_short_period": "Estás intentando subir demasiados archivos. Se te han limitado las subidas por un corto período de tiempo.", + "too_recently_compiled": "Este proyecto se ha compilado hace muy poco, por lo que se ha omitido esta complicación.", + "total_words": "Palabras totales", + "tr": "Turco", + "try_now": "Intenta ahora", + "uk": "Ucraniano", + "university": "Universidad", + "unlimited_collabs": "Colaboradores ilimitados", + "unlimited_projects": "Proyectos ilimitados", + "unlink": "Desvincular", + "unlink_github_warning": "Cualquier proyecto que hayas sincronizado con GitHub será desconectado y no se mantendrá sincronizado con GitHub. ¿Estás seguro que quieres desvincular tu cuenta de GitHub?", + "unlink_reference": "Desvincular proveedor de referencias", + "unlink_warning_reference": "Aviso: al desvincular tu cuenta de este proveedor no podrás importar referencias en tus proyectos.", + "unpublish": "Anular publicación", + "unpublishing": "Anular publicación", + "unsubscribe": "Anular suscripción", + "unsubscribed": "Suscripción anulada", + "unsubscribing": "Anulando la suscripción", + "update": "Actualizar", + "update_account_info": "Actualizar información de la cuenta", + "update_dropbox_settings": "Actualizar opciones de Dropbox", + "update_your_billing_details": "Actualiza tus detalles para cobro", + "updating_site": "Actualizando sitio", + "upgrade": "Sube de categoría", + "upgrade_now": "Sube de categoría ahora", + "upgrade_to_get_feature": "Sube de categoría para conseguir __feature__, además de:", + "upload": "Subir", + "upload_project": "Subir proyecto", + "upload_zipped_project": "Subir proyecto en Zip", + "user_wants_you_to_see_project": "__username__ quiere que veas __projectname__", + "vat_number": "Número VAT", + "view_all": "Ver todas", + "view_in_template_gallery": "Verlo en la galería de plantillas", + "welcome_to_sl": "¡Bienvenido a __appName__", + "what_happens_when_sso_is_enabled": "¿Qué ocurre cuando se activa el SSO?", + "word_count": "Conteo de palabras", + "work_or_university_sso": "Inicio de sesión único (SSO) del trabajo/universidad", + "year": "año", + "you_have_added_x_of_group_size_y": "Has agregado <0>__addedUsersSize__ de <1>__groupSize__ miembros disponibles", + "you_need_to_configure_your_sso_settings": "Debe configurar y probar sus ajustes de SSO antes de activar el SSO", + "youll_no_longer_need_to_remember_credentials": "Ya no tendrás que recordar una dirección de correo electrónico y una contraseña distintas. En su lugar, utilizarás el inicio de sesión único para iniciar sesión en Overleaf. <0>Más información sobre SSO.", + "your_account_is_suspended": "Tu cuenta está suspendida", + "your_compile_timed_out": "Su tiempo de compilación se ha agotado", + "your_git_access_info_bullet_1": "Puede tener hasta 10 tokens", + "your_git_access_info_bullet_2": "Si alcanzas el límite máximo, tendrás que borrar un token antes de poder generar uno nuevo.", + "your_git_access_info_bullet_3": "Puede generar un token utilizando el botón <0>Generar token.", + "your_git_access_info_bullet_5": "Los tokens generados previamente se mostrarán aquí.", + "your_git_access_tokens": "Sus tokens de autenticación Git", + "your_message_to_collaborators": "Mande un mensaje a todos sus colaboradores", + "your_new_plan": "Su nuevo plan", + "your_password_has_been_successfully_changed": "Su contraseña ha sido modificada correctamente", + "your_plan": "Tu plan", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Tu proyecto ha superado el límite de tiempo de compilación de nuestro plan gratuito.", + "your_project_near_compile_timeout_limit": "Tu proyecto está cerca del límite de tiempo de compilación para nuestro plan gratuito.", + "your_projects": "Tus proyectos", + "your_questions_answered": "Sus preguntas respondidas", + "your_role": "Su rol", + "your_sessions": "Sus sesiones", + "your_subscription": "Tu suscripción", + "your_subscription_has_expired": "Tu suscripción expiró.", + "youre_a_member_of_overleaf_labs": "Ya eres miembro de Overleaf Labs. No olvides visitarnos regularmente para ver a qué experimentos puedes apuntarte.", + "youre_about_to_disable_single_sign_on": "Está a punto de desactivar el inicio de sesión único para todos los miembros del grupo.", + "youre_about_to_enable_single_sign_on": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta y de que todos los miembros de su grupo tienen cuentas de usuario gestionadas.", + "youre_about_to_enable_single_sign_on_sso_only": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta.", + "youre_already_setup_for_sso": "Ya está configurado para SSO", + "youre_on_free_trial_which_ends_on": "Estás en una prueba gratuita que termina en <0>__date__.", + "youre_signed_up": "Estás inscrito", + "youve_lost_edit_access": "Has perdido el acceso de edición", + "youve_unlinked_all_users": "Has desvinculado a todos los usuarios", + "zh-CN": "Chino", + "zoom_in": "Ampliar", + "zoom_out": "Alejar", + "zotero": "Zotero", + "zotero_cta": "Obtener integración con Zotero", + "zotero_groups_loading_error": "Hubo un error cargando los grupos desde Zotero", + "zotero_integration": "Integración de Zotero.", + "zotero_integration_lowercase": "Integración con Zotero", + "zotero_is_premium": "La integración de Zotero es una característica premium", + "zotero_reference_loading_error": "Error, no se han podido cargar las referencias de Zotero", + "zotero_reference_loading_error_expired": "Tu token de Zotero ha caducado, vuelve a vincular tu cuenta", + "zotero_reference_loading_error_forbidden": "No se han podido cargar las referencias de Zotero, vuelve a vincular tu cuenta y prueba de nuevo", + "zotero_sync_description": "Con la integración de Zotero puedes importar tus referencias de zotero a tus proyectos de __appName__." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fi.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fi.json new file mode 100644 index 0000000..1061f3f --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fi.json @@ -0,0 +1,355 @@ +{ + "about": "Tietoa", + "about_to_delete_projects": "Olet poistamassa seuraavia projekteja:", + "about_to_leave_projects": "Olet jättämässä seuraavat projektit:", + "account": "Tili", + "account_not_linked_to_dropbox": "Tilisi ei ole yhdistetty Dropboxiin", + "account_settings": "Tilin asetukset", + "actions": "Toiminnot", + "add": "Lisää", + "add_more_members": "Lisää jäseniä", + "add_your_first_group_member_now": "Lisää ensimmäiset ryhmäsi jäsenet nyt", + "added": "lisätty", + "address": "Osoite", + "admin": "ylläpitäjä", + "all_projects": "Kaikki projektit", + "all_templates": "Kaikki mallipohjat", + "already_have_sl_account": "Onko sinulla jo __appName__-tili?", + "and": "ja", + "annual": "Vuosittainen", + "anonymous": "Anonyymi", + "april": "Huhtikuu", + "august": "Elokuu", + "auto_complete": "Automaattinen täydennys", + "back_to_your_projects": "Takaisin projekteihisi", + "beta": "Beta", + "bibliographies": "Lähdeluettelot", + "blank_project": "Tyhjä projekti", + "blog": "Blogi", + "built_in": "Sisäänrakennettu", + "can_edit": "Voi muokata", + "cancel": "Peru", + "cant_find_email": "Tämä sähköposti ei ole rekisteröity, pahoittelut.", + "cant_find_page": "Anteeksi, emme löydä hakemaasi sivua.", + "change": "Muuta", + "change_password": "Vaihda salasana", + "change_plan": "Muuta sopimusta", + "change_to_this_plan": "Muutos tähän sopimukseen", + "chat": "Keskustelu", + "checking_dropbox_status": "tarkistetaan Dropboxin tilaa", + "checking_project_github_status": "Tarkistetaan projektin tilaa GitHubissa", + "choose_your_plan": "Valitse sopimustyyppi", + "city": "Postitoimipaikka", + "clear_cached_files": "Tyhjennä väliaikaistiedostot", + "clearing": "Tyhjennetään", + "click_here_to_view_sl_in_lng": "Klikkaa tästä käyttääksesi sovellusta __appName__ kielellä <0>__lngName__", + "close": "Sulje", + "cn": "Kiina (Yksinkertainen)", + "collaboration": "Yhteistyö", + "collaborator": "Työtoveri", + "collabs_per_proj": "__collabcount__ työtoveria per projekti", + "comment": "Kommentoi", + "commit": "Muuta", + "common": "Yleisiä", + "compiler": "Kääntäjä", + "compiling": "Käännetään", + "complete": "Valmis", + "confirm_new_password": "Vahvista uusi salasana", + "connecting": "Yhdistetään", + "contact": "Ota yhteyttä", + "contact_us": "Ota yhteyttä", + "continue_github_merge": "Olen yhdistänyt manuaalisesti. Jatka", + "copy": "Kopioi", + "copy_project": "Kopioi projekti", + "copying": "kopioidaan", + "country": "Maa", + "coupon_code": "Kuponkikoodi", + "create": "Luo", + "create_new_subscription": "Luo uusi tilaus", + "create_project_in_github": "Luo GitHub-repository", + "creating": "Luodaan", + "credit_card": "Luottokortti", + "cs": "Tsekki", + "current_password": "Nykyinen salasana", + "currently_subscribed_to_plan": "Sinula on tällä hetkellä <0>__planName__-sopimus", + "da": "Tanska", + "de": "Saksa", + "december": "Joulukuu", + "delete": "Poista", + "delete_account": "Poista tili", + "delete_your_account": "Poista tilisi", + "deleting": "Poistetaan", + "disconnected": "Yhteys katkaistu", + "documentation": "Dokumentaatio", + "doesnt_match": "Eivät vastaa toisiaan", + "done": "Valmis", + "download": "Lataa", + "download_pdf": "Lataa PDF", + "download_zip_file": "Lataa .zip-tiedosto", + "dropbox_sync": "Dropbox-synkronointi", + "dropbox_sync_description": "Pidä __appName__-projektisi synkronoituna Dropboxiisi. Sovelluksessa __appName__ tehdyt muutokset lähetetään automaattisesti Dropboxiin ja toisin päin.", + "editing": "Muokkaaminen", + "email": "Sähköposti", + "email_link_expired": "Sähköpostilinkki on vanhentunut, ole hyvä ja pyydä uusi.", + "email_or_password_wrong_try_again": "Sähköpostiosoitteesi tai salasanasi oli väärä. Ole hyvä ja yritä uudelleen", + "en": "Englanti", + "es": "Espanja", + "every": "joka", + "example_project": "Esimerkkiprojekti", + "expiry": "Voimassa", + "export_project_to_github": "Vie Projekti GitHubiin", + "features": "Ominaisuudet", + "february": "Helmikuu", + "first_name": "Etunimi", + "folders": "Kansiot", + "font_size": "Kirjasimen koko", + "forgot_your_password": "Unohditko salasanasi", + "fr": "Ranska", + "free": "Ilmainen", + "free_dropbox_and_history": "Ilmainen Dropbox ja historia", + "full_doc_history": "Täysi dokumentin historia", + "generic_something_went_wrong": "Anteeksi, jokin meni pieleen :(", + "get_in_touch": "Ota yhteyttä", + "github_commit_message_placeholder": "Tehdyt muutokset-viesti sovelluksessa __appName__ tehdyille muutoksille", + "github_is_premium": "GitHub-synkronointi on premium-ominaisuus", + "github_public_description": "Kuka tahansa voi nähdä tämän repositoryn. Voit valita kuka voi tehdä muutoksia.", + "github_successfully_linked_description": "Kiitos, olemme linkittäneet GitHub-tilisi sovellukseen __appName__ onnistuneesti. Voit nyt viedä __appName__-projektejasi GitHubiin tai tuoda projekteja omista GitHub-repositoryistasi.", + "github_sync": "GitHub Synkronointi", + "github_sync_description": "Voit linkittää __appName__-projektisi GitHub-repositoryihin GitHub Syncin avulla. Tee uusia muutoksia sovelluksesta __appName__ ja yhdistä GitHubissa tai offline-tilassa tehtyihin muutoksiin.", + "github_sync_error": "Tapahtui virhe puhuessa GitHub-palvelullemme. Yritä uudelleen pienen hetken päästä.", + "github_validation_check": "Tarkista, että repositoryn nimi on kelvollinen ja että sinulla on oikeudet luoda repository.", + "go_to_code_location_in_pdf": "Mene koodin sijaintiin PDF:ssä", + "go_to_pdf_location_in_code": "Mene PDF-sijaintiin koodissa", + "group_admin": "Ryhmän ylläpitäjä", + "help": "Apua", + "hotkeys": "Pikanäppäimet", + "import_from_github": "Tuo GitHubista", + "import_to_sharelatex": "Tuo sovellukseen __appName__", + "importing": "Tuodaan", + "importing_and_merging_changes_in_github": "Tuodaan ja yhdistetään muutoksia GitHubissa", + "indvidual_plans": "Yksilöllinen sopimus", + "info": "Tietoa", + "institution": "Instituutio", + "it": "Italia", + "ja": "Japani", + "january": "Tammikuu", + "join_sl_to_view_project": "Liity sovellukseen __appName__ nähdäksesti tämän projektin", + "july": "Heinäkuu", + "june": "Kesäkuu", + "keybindings": "Näppäinasetukset", + "ko": "Korea", + "language": "Kieli", + "last_modified": "Viimeksi muokattu", + "last_name": "Sukunimi", + "latex_templates": "LaTeX-mallit", + "learn_more": "Lue lisää", + "link_to_github": "Linkitä GitHub-tiliisi", + "link_to_github_description": "Sinun tulee antaa sovellukselle __appName__ pääsy GitHub-tilillesi, joka sallii meidän synkronoida projektisi.", + "loading": "Ladataan", + "loading_github_repositories": "Ladataan sinun GitHub-repositoryja", + "loading_recent_github_commits": "Ladataan viimeisiä muutoksia", + "log_in": "Kirjaudu sisään", + "log_out": "Kirjaudu ulos", + "logging_in": "Kirjaudutaan sisään", + "login": "Kirjaudu", + "login_here": "Kirjaudu tästä", + "logs_and_output_files": "Loki- ja tulostetiedostot", + "lost_connection": "Yhteys menetettiin.", + "main_document": "Päädokumentti", + "maintenance": "Huolto", + "make_private": "Tee yksityiseksi", + "march": "Maaliskuu", + "may": "Toukokuu", + "menu": "Valikko", + "merge": "Yhdistä", + "merging": "Yhdistetään", + "month": "kuukausi", + "monthly": "Kuukausittainen", + "more": "Lisää", + "must_be_email_address": "Täytyy olla sähköpostiosoite", + "name": "Nimi", + "native": "natiivi", + "navigation": "Navigointi", + "need_anything_contact_us_at": "Jos ikinä tarvitset mitään, ota suoraan yhteyttä osoitteeseen", + "need_to_leave": "Haluatko lähteä?", + "need_to_upgrade_for_more_collabs": "Sinun täytyy päivittää tilisi lisätäksesi työtovereta", + "new_file": "Uusi tiedosto", + "new_folder": "Uusi kansio", + "new_name": "Uusi nimi", + "new_password": "Uusi salasana", + "new_project": "Uusi projekti", + "next_payment_of_x_collectected_on_y": "Seuraava maksu on <0>__paymentAmmount__ ja se kerätään <1>__collectionDate__", + "nl": "Hollanti", + "no": "Norja", + "no_members": "Ei jäseniä", + "no_messages": "Ei viestejä", + "no_new_commits_in_github": "Ei uusia muutoksia GitHubissa sitten viimeisen yhdistyksen.", + "no_planned_maintenance": "Tällä hetkellä ei ole suunniteltuja ylläpitoja", + "no_preview_available": "Anteeksi, esikatselua ei ole saatavilla.", + "no_projects": "Ei projekteja", + "not_now": "Ei nyt", + "november": "Marraskuu", + "october": "Lokakuu", + "off": "Pois", + "ok": "OK", + "one_collaborator": "Vain yksi työtoveri", + "one_free_collab": "Yksi ilmainen työtoveri", + "online_latex_editor": "Verkossa toimiva LaTeX-editori", + "optional": "Valinnainen", + "or": "tai", + "other_logs_and_files": "Muut lokit & tiedostot", + "over": "yli", + "owner": "Omistaja", + "page_not_found": "Sivua Ei Löydy", + "password": "Salasana", + "password_reset": "Nollaa salasana", + "password_reset_email_sent": "Sinulle on lähetetty sähköposti, jossa on ohjeet salasanan nollaamiseksi.", + "password_reset_token_expired": "Salasanan uusimislinkki on vanhentunut. Pyydä uusi salasanan uusimissähköposti ja seuraa saatua linkkiä.", + "pdf_viewer": "PDF-lukija", + "personal": "Henkilökohtainen", + "pl": "Puola", + "planned_maintenance": "Suunniteltu ylläpito", + "plans_amper_pricing": "Sopimukset & Hinnoittelu", + "plans_and_pricing": "Sopimukset ja hinnoittelu", + "please_compile_pdf_before_download": "Käännä projektisi ennen kuin lataat PDF:n", + "please_enter_email": "Syötä sähköpostiosoitteesi", + "please_refresh": "Päivitä sivu jatkaaksesi.", + "position": "Asema", + "presentation": "Esitelmä", + "price": "Hinta", + "privacy": "Tietosuoja", + "privacy_policy": "Yksityisyyskäytäntö", + "private": "Yksityinen", + "problem_changing_email_address": "Sähköpostia muutettaessa tapahtui virhe. Ole hyvä ja yritä uudelleen hetken kuluttua. Jos ongelma jatkuu, ota meihin yhteyttä.", + "problem_talking_to_publishing_service": "Julkaisupalvelussamme on ongelma, ole hyvä ja yritä uudestaan muutaman minuutin kuluttua.", + "problem_with_subscription_contact_us": "Tilauksessasi on on ongelma. Ole hyvä ja ota meihin yhteyttä saadaksesi lisätietoja.", + "processing": "käsitellään", + "professional": "Ammattilainen", + "project_last_published_at": "Projektisi julkaistiin viimeksi", + "project_name": "Projektin nimi", + "project_not_linked_to_github": "Tämä projekti ei ole linkitetty GitHub-repositoryyn. Voit luoda sille repositoryn GitHubissa:", + "project_synced_with_git_repo_at": "Tämä projekti synkronoitiin GitHub-repositoryyn kohteessa", + "project_too_large": "Projekti liian suuri", + "project_too_large_please_reduce": "Tässä projektissa on liikaa tekstiä, yritä ja vähennä sitä.", + "projects": "Projektit", + "pt": "Portugali", + "public": "Julkinen", + "publish": "Julkaise", + "publish_as_template": "Julkaise mallina", + "publishing": "Julkaistaan", + "pull_github_changes_into_sharelatex": "Tuo __appName__-muutokset GitHubista", + "push_sharelatex_changes_to_github": "Vie __appName__-muutokset GitHubiin", + "read_only": "Read Only", + "recent_commits_in_github": "Viimeiset muutokset GitHubissa", + "recompile": "Käännä uudestaan", + "reconnecting": "Yhdistetään uudelleen", + "reconnecting_in_x_secs": "Yhteys muodostetaan uudestaan __seconds__ sekunnin kuluttua", + "refresh_page_after_starting_free_trial": "Ole hyvä ja päivitä tämä sivu aloitettuasi ilmaisen kokeilusi.", + "regards": "Kiittäen", + "register": "Rekisteröidy", + "register_to_edit_template": "Ole hyvä ja rekisteröidy muokataksesi mallia __templateName__", + "registered": "Rekisteröitynyt", + "registering": "Rekisteröidään", + "remove_collaborator": "Poista työtoveri", + "remove_from_group": "Poista ryhmästä", + "removed": "poistettu", + "rename": "Nimeä uudelleen", + "rename_project": "Uudelleennimeä projekti", + "repository_name": "Repositoryn Nimi", + "republish": "Uudelleenjulkaise", + "request_password_reset": "Pyydä salasanan nollausta", + "required": "vaadittu", + "reset_password": "Nollaa salasana", + "reset_your_password": "Nollaa salasanasi", + "restore": "Palauta", + "restoring": "Palautetaan", + "restricted": "Rajoitettu pääsy", + "restricted_no_permission": "Rajoitettu, sinulla ei valitettavasti ole lupaa ladata tätä sivua", + "ro": "Romania", + "role": "Rooli", + "ru": "Venäjä", + "saving": "Tallennetaan", + "saving_notification_with_seconds": "Tallennetaan __docname__... (__seconds__ sekuntia tallentamattomia muutoksia)", + "search_projects": "Etsi projekteja", + "security": "Turvallisuus", + "select_github_repository": "Valitse GitHub-repository tuotavaksi sovellukseen __appName__.", + "send_first_message": "Lähetä ensimmäinen viestisi", + "september": "Syyskuu", + "server_error": "Palvelinvirhe", + "set_new_password": "Aseta uusi salasana", + "set_password": "Aseta salasana", + "settings": "Asetukset", + "share": "Jaa", + "share_project": "Jaa projekti", + "share_with_your_collabs": "Jaa työtovereidesi kanssa", + "shared_with_you": "Jaettu kanssasi", + "show_hotkeys": "Näytä pikanäppäimet", + "somthing_went_wrong_compiling": "Anteeksi, jokin meni pieleen ja projektiasi ei voitu kääntää. Yritä uudelleen hetken kuluttua.", + "source": "Lähde", + "spell_check": "Oikeinkirjoituksen tarkistus", + "start_free_trial": "Aloita ilmainen kokeilu!", + "state": "Tila", + "student": "Opiskelija", + "subscribe": "Tilaa", + "subscription": "Tilaus", + "subscription_canceled_and_terminate_on_x": " Tilauksesi on peruutettu ja loppuu <0>__terminateDate__. Lisämaksuja ei veloiteta.", + "sure_you_want_to_change_plan": "Oletko varma, että haluat vaihtaa sopimukseen <0>__planName__?", + "sv": "Ruotsi", + "sync": "Synkronointi", + "sync_project_to_github_explanation": "Kaikki __appName__-sovelluksessa tekemäsi muutokset viedään ja sulautetaan mihin tahansa GitHubissa oleviin päivityksiin.", + "sync_to_dropbox": "Yhdistä Dropboxiin", + "sync_to_github": "Synkronoi GitHubiin", + "take_me_home": "Vie minut kotiin!", + "template_description": "Mallin kuvaus", + "templates": "Mallit", + "terms": "Ehdot", + "thank_you": "Kiitos", + "thanks": "Kiitos", + "thanks_for_subscribing": "Kiitos tilauksesta!", + "thanks_for_subscribing_you_help_sl": "Kiitos, että tilasit __planName__-sopimuksen. Kaltaistesi ihmisten antama tuki mahdollistaa __appName__-sovelluksen kehittämisen jatkumisen.", + "thanks_settings_updated": "Kiitos, asetuksesi ovat päivitetty.", + "theme": "Teema", + "thesis": "Lopputyö", + "this_project_is_public": "Tämä projekti on julkinen ja sitä voi muokata kuka tahansa, jolla on URL.", + "this_project_is_public_read_only": "Tämä projekti on julkinen ja sitä voi katsoa mutta ei muokata URL-osoitteella", + "this_project_will_appear_in_your_dropbox_folder_at": "Tämä projekti ilmestyy Dropbox-kansioosi kohteessa ", + "three_free_collab": "Kolme ilmaista työtoveria", + "timedout": "Aikakatkaisu", + "title": "Otsikko", + "to_many_login_requests_2_mins": "Tällä tilillä on liian monta sisäänkirjautumispyyntöä. Ole hyvä ja odota 2 minuuttia ennen kuin yrität kirjautua uudestaan", + "tr": "Turkki", + "try_now": "Yritä nyt", + "uk": "Ukraina", + "university": "Yliopisto", + "unlimited_collabs": "Rajattomasti työtovereita", + "unlimited_projects": "Rajattomasti projekteja", + "unlink": "Poista linkki", + "unlink_github_warning": "Kaikkien GitHubin kanssa synkronoimasi projektien yhteys katkaistaan eikä niitä pidetä enää synkronituna GitHubin kanssa. Oletko varma, että haluat poistaa linkin GitHub-tilillesi?", + "unpublish": "Lopeta julkaiseminen", + "unpublishing": "Lopetetaan julkaiseminen", + "unsubscribe": "Peruuta tilaus", + "unsubscribed": "Tilaus peruutettu", + "unsubscribing": "Tilausta peruutetaan", + "update": "Päivitä", + "update_account_info": "Päivitä tilin tiedot", + "update_dropbox_settings": "Päivitä Dropbox-asetukset", + "update_your_billing_details": "Päivitä laskutustietojasi", + "updating_site": "Päivitetään sivustoa", + "upgrade": "Päivitä", + "upgrade_now": "Päivitä Nyt", + "upload": "Siirrä", + "upload_project": "Siirrä projekti palvelimelle", + "upload_zipped_project": "Vie pakattu projekti", + "user_wants_you_to_see_project": "__username__ haluaisi katsoa projektiasi __projectname__", + "vat_number": "Alv-numero", + "view_all": "Näytä Kaikki", + "view_in_template_gallery": "Katso mallikirjastossa", + "welcome_to_sl": "Tämä on __appName__, tervetuloa", + "year": "vuosi", + "you_have_added_x_of_group_size_y": "Olet lisännyt <0>__addedUsersSize__ saatavilla olevasta <1>__groupSize__ jäsenestä", + "your_plan": "Sopimuksesi", + "your_projects": "Sinun projektisi", + "your_subscription": "Tilauksesi", + "your_subscription_has_expired": "Tilauksesi on umpeutunut.", + "zh-CN": "Kiina" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fr.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fr.json new file mode 100644 index 0000000..7b5f119 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fr.json @@ -0,0 +1,1261 @@ +{ + "1_2_width": "½ largeur", + "1_4_width": "¼ largeur", + "3_4_width": "¾ largeur", + "About": "À propos", + "Account": "Compte", + "Account Settings": "Paramètres du compte", + "Documentation": "Documentation", + "Projects": "Projets", + "Security": "Sécurité", + "Subscription": "Abonnement", + "Terms": "Conditions", + "Universities": "Universités", + "a_custom_size_has_been_used_in_the_latex_code": "Une taille personnalisée a été définie dans le code LaTeX.", + "a_fatal_compile_error_that_completely_blocks_compilation": "Une <0>erreur de compilation fatale qui empêche la compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Il existe déjà un fichier du même nom. Ce fichier va sera écrasé.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Une liste de raccourcis clavier plus complète est disponible dans <0>ce modèle de projet __appName__", + "about": "À propos", + "about_to_archive_projects": "Vous êtes sur le point d’archiver les projets suivants :", + "about_to_delete_cert": "Vous allez supprimer le certificat suivant :", + "about_to_delete_projects": "Vous allez supprimer les projets suivants :", + "about_to_delete_tag": "Vous êtes sur le point de supprimer le tag suivant (tout projet sous ce tag ne sera pas supprimé):", + "about_to_delete_the_following_project": "Vous allez supprimer le projet suivant", + "about_to_delete_the_following_projects": "Vous allez supprimer les projets suivants", + "about_to_delete_user_preamble": "Vous êtes sur le point de supprimer __userName__ (__userEmail__). Ceci signifie :", + "about_to_enable_managed_users": "En activant la fonctionnalité Gestion des Utilisateur·rice·s, tous les membres existants de votre abonnement de groupe seront invités à devenir administrés. Cela vous donnera des droits d’administrateur sur leur compte. Vous aurez également la possibilité d’inviter de nouveaux membres à rejoindre l’abonnement et à devenir administrés.", + "about_to_leave_projects": "Vous allez quitter les projets suivants :", + "about_to_trash_projects": "Vous êtes sur le point de mettre à la corbeille les projets suivants :", + "abstract": "Résumé", + "accept": "Accepter", + "accept_all": "Tout accepter", + "accept_invitation": "Accepter l’invitation", + "accept_or_reject_each_changes_individually": "Acceptez ou rejetez chaque modification individuellement", + "accept_terms_and_conditions": "Accepter les termes et conditions", + "accepted_invite": "Invitation acceptée", + "accepting_invite_as": "Vous allez accepter cette invitation en tant que", + "access_denied": "Accès refusé", + "account": "Compte", + "account_has_been_link_to_institution_account": "Votre compte __appName__ en __email__ a été lié à votre compte institutionnel __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Votre compte présente un arriéré de paiement. Vous ne pourrez pas changer d’offre tant que votre situation ne sera pas régularisée.", + "account_linking": "Liaison des comptes", + "account_managed_by_group_administrator": "Votre compte est géré par l’administrateur de votre groupe (__admin__)", + "account_not_linked_to_dropbox": "Votre compte n’est pas lié à Dropbox", + "account_settings": "Paramètres du compte", + "account_with_email_exists": "Il semble qu’un compte __appName__ avec l’adresse courriel __email__ existe déjà.", + "acct_linked_to_institution_acct_2": "Vous pouvez <0>vous connecter à Overleaf grâce à votre connexion institutionnelle <0>__institutionName__", + "actions": "Actions", + "activate": "Activer", + "activate_account": "Activer votre compte", + "activating": "Activation", + "activation_token_expired": "Votre jeton d’authentification a expiré, vous devez en obtenir un nouveau.", + "add": "Ajouter", + "add_additional_certificate": "Ajouter un autre certificat", + "add_affiliation": "Ajouter une affiliation", + "add_another_address_line": "Ajouter une autre ligne d’adresse", + "add_another_email": "Ajouter une autre adresse", + "add_another_token": "Ajouter un autre jeton", + "add_comma_separated_emails_help": "Séparez les différentes adresses courriel en utilisant des virgules (,).", + "add_comment": "Ajouter un commentaire", + "add_company_details": "Ajouter les infos de l’entreprise", + "add_email": "Ajouter une adresse", + "add_email_to_claim_features": "Ajouter votre adresse courriel institutionnelle pour obtenir ces fonctionnalités.", + "add_files": "Ajouter des fichiers", + "add_more_collaborators": "Ajouter plus de collaborateur·rice·s", + "add_more_managers": "Ajouter plus de gestionnaires", + "add_more_members": "Ajouter plus de membres", + "add_new_email": "Ajouter l’adresse", + "add_or_remove_project_from_tag": "Ajouter ou supprimer un projet du tag __tagName__", + "add_role_and_department": "Ajouter votre rôle et votre département", + "add_to_tag": "Ajouter au tag", + "add_your_comment_here": "Ajoutez votre commentaire ici", + "add_your_first_group_member_now": "Ajouter le premier membre de votre groupe maintenant", + "added": "ajouté", + "added_by_on": "Ajouté par __name__ le __date__", + "adding": "Ajout", + "additional_certificate": "Certificat supplémentaire", + "additional_licenses": "Votre abonnement inclut <0>__additionalLicenses__ licence(s) additionnelle(s), pour un total de <1>__totalLicenses__ licences.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Seconde ligne de l’adresse (optionnelle)", + "adjust_column_width": "Ajuster la largeur des colonnes", + "admin": "admin", + "admin_user_created_message": "Compte administrateur créé. Pour poursuivre, connectez-vous ici", + "advanced_reference_search": "<0>Recherche de références avancée", + "aggregate_changed": "Modification de", + "aggregate_to": "en", + "all_our_group_plans_offer_educational_discount": "Toutes nos <0>offres de groupe proposent une <1>remise éducation pour les étudiants et universités", + "all_premium_features": "Toutes les fonctionnalités premium", + "all_premium_features_including": "Toutes les fonctionnalités premium, comprenant:", + "all_prices_displayed_are_in_currency": "Tous les prix affichés sont en __recommendedCurrency__.", + "all_projects": "Tous les projets", + "all_templates": "Tous les modèles", + "already_have_sl_account": "Avez-vous déjà un compte __appName__ ?", + "also": "Aussi", + "also_available_as_on_premises": "Aussi disponible en On-Premises", + "alternatively_create_new_institution_account": "Autrement, vous pouvez créer un nouveau compte avec votre adresse courriel institutionnelle (__email__) en cliquant __clickText__.", + "an_error_occurred_when_verifying_the_coupon_code": "Une erreur est survenue lors de la vérification du code coupon", + "and": "et", + "annual": "Annuel", + "anonymous": "Anonyme", + "anyone_with_link_can_edit": "Toute personne disposant de ce lien peut éditer ce projet", + "anyone_with_link_can_view": "Toute personne disposant de ce lien peut voir ce projet", + "app_on_x": "__appName__ sur __social__", + "apply_educational_discount": "Appliquer la remise éducation", + "apply_educational_discount_info": "Overleaf offre une remise éducation de 40% pour les groupes de 10 ou plus. S’applique aux étudiants ou universités utilisant Overleaf pour l’enseignement.", + "april": "Avril", + "archive": "Archiver", + "archive_projects": "Archiver les projets", + "archived": "Archivé", + "archived_projects": "Projets archivés", + "archiving_projects_wont_affect_collaborators": "L’archivage d’un projet n’affectera pas vos collaborateur·rice·s.", + "are_you_affiliated_with_an_institution": "Êtes-vous affilié à une institution ?", + "are_you_getting_an_undefined_control_sequence_error": "Recevez-vous une erreur Undefined Control Sequence ? Si oui, assurez-vous d’avoir chargé le package graphicx—<0>\\usepackage{graphicx}—dans le préambule (première section du code) de votre document. <1>En savoir plus", + "are_you_still_at": "Êtes-vous toujours à <0>__institutionName__ ?", + "are_you_sure": "Êtes-vous sûr·e ?", + "as_a_member_of_sso_required": "En tant que membre de __institutionName__, vous devez vous connecter à __appName__ via votre portail institutionnel.", + "ascending": "Ascendant", + "ask_proj_owner_to_upgrade_for_full_history": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour accéder à l’historique complet de ce projet.", + "ask_proj_owner_to_upgrade_for_references_search": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour pouvoir utiliser la recherche de références.", + "august": "Août", + "author": "Auteur", + "auto_close_brackets": "Auto-fermeture des accolades", + "auto_compile": "Auto-compilation", + "auto_complete": "Auto-complétion", + "autocompile_disabled": "Auto-compilation désactivée", + "autocompile_disabled_reason": "En raison d’une charge serveur élevée, la compilation en arrière-plan a été temporairement désactivée. Veuillez recompiler en utilisant le bouton ci-dessus.", + "autocomplete": "Auto-complétion", + "autocomplete_references": "Auto-complétion des références (à l’intérieur d’une commande \\cite{})", + "back": "Retour", + "back_to_account_settings": "Retour aux paramètres du compte", + "back_to_configuration": "Retour à la configuration", + "back_to_editor": "Retour à l’éditeur", + "back_to_log_in": "Retour à la connexion", + "back_to_subscription": "Retour à l’abonnement", + "back_to_your_projects": "Retourner à mes projets", + "become_an_advisor": "Devenez un conseiller __appName__", + "best_choices_companies_universities_non_profits": "Le meilleur choix pour les entreprises, les universités et les associations", + "beta": "Bêta", + "beta_feature_badge": "Badge de fonctionnalité bêta", + "beta_program_already_participating": "Vous participez au programme de bêta", + "beta_program_badge_description": "Lors de votre utilisation de __appName__, vous pourrez distinguer les fonctionnalités en bêta au badge qui les accompagne :", + "beta_program_benefits": "Nous améliorons __appName__ sans cesse. En rejoignant notre programme de bêta, vous pourrez <0>accéder aux fonctionnalités à venir en avant-première et ainsi nous aider à mieux comprendre vos besoins.", + "beta_program_not_participating": "Vous ne participez pas au Programme Bêta", + "beta_program_opt_in_action": "Participer au programme de bêta", + "beta_program_opt_out_action": "Quitter le programme de bêta", + "bibliographies": "Bibliographies", + "binary_history_error": "Aperçu non disponible pour ce type de fichier", + "blank_project": "Projet vide", + "blocked_filename": "Ce nom de fichier est bloqué.", + "blog": "Blog", + "browser": "Navigateur", + "built_in": "Intégré", + "bulk_accept_confirm": "Êtes-vous sûr·e de vouloir accepter les __nChanges__ modifications sélectionnées ?", + "bulk_reject_confirm": "Êtes-vous sûr·e de vouloir rejeter les __nChanges__ modifications sélectionnées ?", + "buy_now_no_exclamation_mark": "Acheter maintenant", + "by": "par", + "by_subscribing_you_agree_to_our_terms_of_service": "En vous inscrivant, vous acceptez nos <0>conditions d’utilisation.", + "can_edit": "Édition autorisée", + "can_link_institution_email_acct_to_institution_acct": "Vous pouvez maintenant lier votre compte __appName__ en __email__ à votre compte institutionnel __institutionName__.", + "can_link_institution_email_by_clicking": "Vous pouvez lier votre compte __appName__ __email__ à votre compte __institutionName__ en cliquant __clickText__.", + "can_link_institution_email_to_login": "Vous pouvez lier votre compte __appName__ __email__ à votre compte __institutionName__, ce qui vous permettra de vous connecter à __appName__ via le portail de votre établissement.", + "can_link_your_institution_acct_2": "Vous pouvez maintenant <0>lier votre compte <0>__appName__ à votre compte instititionnel <0>__institutionName__.", + "can_now_relink_dropbox": "Vous pouvez désormais <0>reconnecter votre compte Dropbox.", + "cancel": "Annuler", + "cancel_anytime": "Nous sommes sûrs que vous allez adorer __appName__, mais dans le cas contraire vous pourrez annuler à tout moment. Nous vous rembourserons sans conditions si vous nous en faites la demande sous 30 jours.", + "cancel_my_account": "Annuler mon abonnement", + "cancel_my_subscription": "Résilier mon abonnement", + "cancel_personal_subscription_first": "Vous avez déjà un abonnement personnel, voulez-vous que nous l’annulions avant que vous ne rejoigniez la licence de groupe ?", + "cancel_your_subscription": "Arrêter votre abonnement", + "cannot_invite_non_user": "Impossible d’envoyer l’invitation. Il est nécessaire que le destinataire possède déjà un compte __appName__", + "cannot_invite_self": "Impossible de vous inviter vous-même", + "cannot_verify_user_not_robot": "Désolé, nous n’avons pas pu nous assurer que vous n’étiez pas un robot. Veuillez vérifier que Google reCAPTCHA n’est pas bloqué par un bloqueur de publicités ou un pare-feu.", + "cant_find_email": "Cette adresse électronique n’est pas connue, désolé.", + "cant_find_page": "Désolé, nous ne trouvons pas la page que vous cherchez.", + "cant_see_what_youre_looking_for_question": "Vous ne trouvez pas ce que vous cherchez ?", + "card_details": "Détails de la carte", + "card_details_are_not_valid": "Les informations de carte de paiement sont invalides", + "card_must_be_authenticated_by_3dsecure": "Vous devez authentifier votre carte avec 3D Secure avant de poursuivre", + "card_payment": "Paiement par carte", + "careers": "Carrières", + "category_arrows": "Flèches", + "category_greek": "Grec", + "category_misc": "Divers", + "category_operators": "Opérateurs", + "category_relations": "Relations", + "change": "Modifier", + "change_currency": "Changer de devise", + "change_or_cancel-cancel": "annuler", + "change_or_cancel-change": "Changer", + "change_or_cancel-or": "ou", + "change_owner": "Changer de propriétaire", + "change_password": "Changer de mot de passe", + "change_password_in_account_settings": "Changer le mot de passe dans les Paramètres du Compte", + "change_plan": "Changer d’offre", + "change_primary_email_address_instructions": "Pour changer votre email principal, veuillez dans un premier temps ajouter votre email principal (en cliquant sur <0>Ajouter un autre email) et confirmer. Ensuite, cliquez sur le bouton <0>Définir comme principal. <1>En savoir plus à propos de la gestion de vos emails __appName__.", + "change_project_owner": "Changer le propriétaire du projet", + "change_to_group_plan": "Passer à une offre collective", + "change_to_this_plan": "Changer pour cette offre", + "changing_the_position_of_your_figure": "Changer la position de votre figure", + "chat": "Discuter", + "chat_error": "Impossible de charger les messages du chat, veuillez réessayer.", + "check_your_email": "Vérifiez votre courriel", + "checking": "Vérification", + "checking_dropbox_status": "Vérification de l’état de Dropbox", + "checking_project_github_status": "Vérification de l’état du projet dans GitHub", + "choose_your_plan": "Choisir votre offre", + "city": "Ville", + "clear_cached_files": "Nettoyer le cache des fichiers", + "clear_search": "effacer la recherche", + "clear_sessions": "Effacer les sessions", + "clear_sessions_description": "Ceci est une liste des autres sessions (ou connexions) actives sur votre compte, excluant votre session actuelle. Cliquez sur le bouton « Effacer les sessions » ci-dessous pour les déconnecter.", + "clear_sessions_success": "Sessions effacées", + "clearing": "Nettoyage en cours", + "click_here_to_view_sl_in_lng": "Cliquez ici pour utiliser __appName__ en <0>__lngName__", + "click_link_to_proceed": "Cliquez sur __clickText__ ci-dessous pour poursuivre.", + "clone_with_git": "Cloner avec Git", + "close": "Fermer", + "clsi_maintenance": "Les serveurs de compilation sont inaccessibles pour cause de maintenance et seront réactivés bientôt.", + "clsi_unavailable": "Désolé, le serveur de compilation attribué à votre projet est temporairement indisponible. Veuillez réessayer dans quelques instants.", + "cn": "Chinois (simplifié)", + "code_check_failed": "Échec de la vérification du code", + "code_check_failed_explanation": "Votre code contient des erreurs qui doivent être corrigées avant que l’auto-compilation puisse avoir lieu", + "collaborate_online_and_offline": "Collaborez en ligne et hors ligne, avec votre propre organisation de travail", + "collaboration": "Collaboration", + "collaborator": "Collaborateur·rice", + "collabratec_account_not_registered": "Pas de compte IEEE Collabratec™ enregistré. Veuillez vous connecter à Overleaf via IEEE Collabratec™ ou bien vous connecter avec un compte différent.", + "collabs_per_proj": "__collabcount__ collaborateur·rice·s par projet", + "collabs_per_proj_single": "__collabcount__ collaborateurs par projet", + "collapse": "Replier", + "column_width": "Largeur de colonne", + "column_width_is_custom_click_to_resize": "La largeur des colonnes est personnalisée. Cliquez pour redimensionner", + "column_width_is_x_click_to_resize": "La largeur de la colonne est __width__. Cliquez pour redimensionner", + "comment": "Commentaire", + "comment_submit_error": "Désolé, un problème est survenu lors de l’envoi de votre commentaire", + "commit": "Commiter", + "common": "Commun", + "commons_plan_tooltip": "Vous bénéficiez de l’offre __plan__ en raison de votre affiliation avec __institution__. Cliquez pour découvrir comment profiter au mieux de vos fonctionnalités Overleaf premium.", + "compact": "Compact", + "company_name": "Nom de l’entreprise", + "comparing_from_x_to_y": "Différence entre <0>__startTime__ et <0>__endTime__", + "compile_error_entry_description": "Une erreur qui a empêché la compilation de ce projet", + "compile_error_handling": "Gestion des erreurs de compilation", + "compile_larger_projects": "Compiler des projects plus volumineux", + "compile_mode": "Mode de compilation", + "compile_terminated_by_user": "La compilation a été annulée avec le bouton « Arrêter la compilation ». Vous pouvez télécharger les fichiers journaux pour voir où la compilation s’est arrêtée.", + "compile_timeout_short": "Limite de temps de compilation", + "compiler": "Compilateur", + "compiling": "Compilation en cours", + "complete": "Compléter", + "confirm": "Confirmer", + "confirm_affiliation": "Valider l’affilation", + "confirm_affiliation_to_relink_dropbox": "Veuillez valider que vous soyez toujours dans cet établissement et que vous bénéficiez toujours de leur licence, ou bien mettez à niveau votre compte pour reconnecter votre compte Dropbox.", + "confirm_delete_user_type_email_address": "Pour confirmer que vous souhaitez supprimer __userName__, veuillez saisir l’adresse e-mail associée à ce compte.", + "confirm_email": "Confirmer l’adresse", + "confirm_new_password": "Confirmer le mot de passe", + "confirm_primary_email_change": "Confirmer le changement d’adresse e-mail principale", + "confirm_your_email": "Confirmez votre adresse email", + "confirmation_link_broken": "Désolé, il y a un problème avec votre lien de confirmation. Veuillez essayer de copier et coller le lien en bas de votre courriel de confirmation.", + "confirmation_token_invalid": "Désolé, votre jeton de confirmation est invalide ou a expiré. Veuillez en demander un nouveau.", + "confirming": "Confirmation", + "conflicting_paths_found": "Chemins conflictuels détectés", + "connected_users": "Utilisateurs connectés", + "connecting": "Connexion en cours", + "contact": "Contact", + "contact_message_label": "Message", + "contact_sales": "Contacter nos commerciaux", + "contact_support_to_change_group_subscription": "Merci de <0>contacter le support si vous souhaitez modifier votre abonnement de groupe.", + "contact_us": "Contactez-nous", + "contact_us_lowercase": "Nous contacter", + "continue": "Continuer", + "continue_github_merge": "J’ai fusionné manuellement. Continuer", + "continue_to": "Poursuivre vers __appName__", + "continue_with_free_plan": "Continuer avec l’offre gratuite", + "copied": "Copié", + "copy": "Copier", + "copy_project": "Copier le projet", + "copying": "Copie en cours", + "country": "Pays", + "country_flag": "Drapeau du pays __country__", + "coupon_code": "Code de promotion", + "coupon_code_is_not_valid_for_selected_plan": "Le code coupon n’est pas valide pour l’offre sélectionnée", + "coupons_not_included": "Ceci n’inclut pas vos réductions actuelles, qui seront appliquées automatiquement avant votre prochain paiement", + "create": "Créer", + "create_a_new_password_for_your_account": "Définir un nouveau mot de passe pour votre compte", + "create_a_new_project": "Créer un nouveau projet", + "create_account": "Créer un compte", + "create_an_account": "Créer un compte", + "create_first_admin_account": "Créer le compte administrateur initial", + "create_new_account": "Créer un nouveau compte", + "create_new_subscription": "Créer un nouvel abonnement", + "create_project_in_github": "Créer un dépôt GitHub", + "created_at": "Créé le", + "creating": "Création en cours", + "credit_card": "Carte bleue", + "cs": "Tchéque", + "currency": "Devise", + "current_file": "Fichier actuel", + "current_password": "Mot de passe actuel", + "current_session": "Session courante", + "currently_seeing_only_24_hrs_history": "Vous ne pouvez actuellement voir que les modifications des 24 dernières heures dans ce projet.", + "currently_subscribed_to_plan": "Vous bénéficiez actuellement de l’offre <0>__planName__.", + "custom_resource_portal": "Portail des ressources personnalisé", + "custom_resource_portal_info": "Pour pouvez avoir votre propre page de portail personnalisée sur Overleaf. C’est l’endroit idéal pour que vos utilisateurs en apprennent plus sur Overleaf, accèdent à des modèles, une FAQ et des resources d’aide, et s’inscrivent sur Overleaf.", + "customize": "Personnaliser", + "customize_your_group_subscription": "Personnaliser votre abonnement de groupe", + "customize_your_plan": "Personnaliser votre offre", + "customizing_figures": "Personnalisation des figures", + "da": "Danois", + "date": "Date", + "date_and_owner": "Date et propriétaire", + "de": "Allemand", + "dealing_with_errors": "Gérer les erreurs", + "december": "Décembre", + "dedicated_account_manager": "Gestionnaire de compte dédié", + "dedicated_account_manager_info": "Toute notre équipe de gestion de compte pourra répondre à vos requêtes ou vos questions et vous aider à faire connaître Overleaf grâce à du contenu promotionel, des resources de formation et des séminaires en ligne.", + "default": "Par défaut", + "delete": "Supprimer", + "delete_account": "Supprimer un compte", + "delete_account_confirmation_label": "Je comprends que cette action va supprimer tous les projets de mon compte __appName__ avec l’adresse email <0>__userDefaultEmail__", + "delete_account_warning_message_3": "Vous êtes sur le point de supprimer définitivement toutes les données de votre compte, y compris vos projets et vos paramètres. Veuillez saisir l’adresse courriel associée à votre compte ainsi que votre mot de passe ci-dessous pour poursuivre.", + "delete_acct_no_existing_pw": "Avant de supprimer votre compte, veuillez définir un mot de passe en utilisant le formulaire de réinitialisation de mot de passe", + "delete_and_leave": "Supprimer / Quitter", + "delete_and_leave_projects": "Supprimer et quitter les projets", + "delete_authentication_token": "Supprimer le jeton d’authentification", + "delete_authentication_token_info": "Vous vous apprêtez à supprimer un jeton d’authentification Git. Si vous le faites, vous ne pourrez plus l’utiliser pour vous identifier en réalisant des opérations avec Git.", + "delete_certificate": "Supprimer le certificat", + "delete_figure": "Supprimer la figure", + "delete_projects": "Supprimer les projets", + "delete_tag": "Supprimer le tag", + "delete_token": "Supprimer le jeton", + "delete_your_account": "Supprimer votre compte", + "deleted_at": "Supprimé le", + "deleted_by_on": "Supprimé par __name__ le __date__", + "deleting": "Suppression en cours", + "demonstrating_git_integration": "Démonstration de l’intégration Git", + "department": "Département", + "descending": "Descendant", + "description": "Description", + "dictionary": "Dictionnaire", + "did_you_know_institution_providing_professional": "Saviez-vous que __institutionName__ fournit des <0>fonctionnalités professionnelles __appName__ gratuites à tous les membres de __institutionName__ ?", + "disable_stop_on_first_error": "Désactiver “Arrêter à la première erreur”", + "disconnected": "Déconnecté", + "discount_of": "Remise de __amount__", + "dismiss_error_popup": "Ignorer l’alerte de première erreur", + "do_not_have_acct_or_do_not_want_to_link": "Si vous n’avez pas de compte __appName__ ou si vous ne souhaitez pas le lier à votre compte __institutionName__, veuillez cliquer __clickText__.", + "do_not_link_accounts": "Ne pas lier les comptes", + "do_you_want_to_change_your_primary_email_address_to": "Voulez-vous définir __email__ comme votre adresse email principale ?", + "do_you_want_to_overwrite_them": "Voulez-vous les écraser ?", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "ne contient ou ne ressemble pas significativement à votre email", + "doesnt_match": "Ne correspond pas", + "doing_this_allow_log_in_through_institution": "Faire ceci vous permettra de vous connecter à __appName__ via le portail de votre institution.", + "doing_this_allow_log_in_through_institution_2": "Faire ceci vous permettra de vous connecter à <0>__appName__ via votre institution et reconfirmera votre adresse email institutionnelle.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Faire ceci vérifiera votre affiliation avec <0>__institutionName__ et vous permettra de vous connecter à <0>__appName__ via votre institution.", + "done": "Terminé", + "dont_have_account": "Vous n’avez pas de compte ?", + "download": "Télécharger", + "download_pdf": "Télécharger le PDF", + "download_zip_file": "Télécharger le fichier Zip", + "drag_here": "glissez ici", + "drag_here_paste_an_image_or": "Glissez ici, collez une image, ou ", + "drop_files_here_to_upload": "Déposez des fichiers ici pour les téléverser", + "dropbox_already_linked_error": "Votre compte Dropbox ne peut pas être lié à ce compte car il l’est déjà à un autre compte Overleaf.", + "dropbox_already_linked_error_with_email": "Votre compte Dropbox ne peut pas être lié car il est déjà lié avec un autre compte Overleaf utilisant l’adresse email __otherUsersEmail__.", + "dropbox_checking_sync_status": "Vérification de l’état de l’intégration Dropbox", + "dropbox_duplicate_names_error": "Votre compte Dropbox ne peut pas être lié, car vous avez plus d’un projet avec le même nom: ", + "dropbox_duplicate_project_names": "Votre compte Dropbox a été dissocié, car vous avez plus d’un projet portant le nom <0>« __projectName__ ».", + "dropbox_duplicate_project_names_suggestion": "Veuillez vous assurer de l’unicité des noms de tous vos projets <0>actifs, archivés ou à la corbeille puis réassociez votre compte Dropbox.", + "dropbox_email_not_verified": "Nous ne parvenons pas à joindre votre compte Dropbox. Le service rapporte que votre adresse courriel n’est pas vérifiée. Veuillez vérifier votre adresse depuis votre compte Dropbox pour résoudre ce problème.", + "dropbox_for_link_share_projs": "Vous avez accédé à ce projet par un partage de lien : celui-ci ne sera pas synchronisé à votre Dropbox tant que vous n’aurez pas été invité par courriel par le propriétaire du projet.", + "dropbox_integration_info": "Travaillez avec ou sans connexion sans problème avec la synchronisation bidirectionnelle Dropbox. Les modifications apportées sur votre machine seront automatiquement envoyées à la version Overleaf, et vice versa.", + "dropbox_integration_lowercase": "Intégration avec Dropbox", + "dropbox_successfully_linked_description": "Merci, nous avons associé votre compte Dropbox à __appName__.", + "dropbox_sync": "Synchronisation Dropbox", + "dropbox_sync_both": "Mise à jour d’Overleaf et de Dropbox", + "dropbox_sync_description": "Maintenez vos projets __appName__ synchronisés avec votre Dropbox. Les modifications dans __appName__ sont automatiquement envoyés vers votre Dropbox, et vice versa.", + "dropbox_sync_error": "Erreur de synchronisation Dropbox", + "dropbox_sync_in": "Mise à jour sur Overleaf", + "dropbox_sync_now_rate_limited": "La synchronisation manuelle est limitée à une fois par minute. Veuillez attendre quelques instants avant de réessayer.", + "dropbox_sync_now_running": "Une synchronisation manuelle de ce projet a été démarrée en arrière-plan. Veuillez lui accorder quelques minutes pour procéder.", + "dropbox_sync_out": "Mise à jour vers Dropbox", + "dropbox_sync_troubleshoot": "Des changements n’apparaissent pas dans Dropbox ? Veuillez attendre quelques minutes. Si les changements n’apparaissent toujours pas, vous pouvez <0>synchroniser ce projet maintenant.", + "dropbox_synced": "Overleaf et Dropbox sont à jour", + "dropbox_unlinked_because_access_denied": "La liaison avec votre compte Dropbox a été supprimée car le service Dropbox a rejeté vos identifiants. Veuillez restaurer cette liaison pour continuer à utiliser Dropbox avec Overleaf.", + "dropbox_unlinked_because_full": "La liaison avec votre compte Dropbox a été supprimée car le quota de celui-ci a été atteint et nous ne sommes plus en mesure d’y envoyer les mises à jour. Veuillez libérer de l’espace puis restaurer cette liaison pour continuer à utiliser Dropbox avec Overleaf.", + "dropbox_unlinked_premium_feature": "<0>Votre compte Dropbox a été déconnecté car la synchronisation avec Dropbox est une fonctionnalité premium à laquelle vous aviez accès via votre licence institutionnelle.", + "duplicate_file": "Dupliquer le fichier", + "duplicate_projects": "Cet utilisateur a des projets avec des noms identiques", + "each_user_will_have_access_to": "Chaque utilisateur aura accès à", + "easily_manage_your_project_files_everywhere": "Gérez facilement vos fichiers de projets, depuis partout", + "edit": "Modifier", + "edit_dictionary": "Modifier le dictionnaire", + "edit_dictionary_empty": "Votre dictionnaire personnalisé est vide.", + "edit_dictionary_remove": "Supprimer du dictionnaire", + "edit_figure": "Modifier la figure", + "edit_tag": "Modifier le tag", + "editing": "Édition", + "editing_captions": "Modification des légendes", + "editor_and_pdf": "Éditeur <0> PDF", + "editor_disconected_click_to_reconnect": "L’éditeur a été déconnecté. Cliquez n’importe où pour vous reconnecter", + "editor_only_hide_pdf": "Éditeur uniquement <0>(cacher le PDF)", + "editor_theme": "Apparence de l’éditeur", + "educational_discount_for_groups_of_x_or_more": "La remise éducation est disponible pour les groupes de __size__ ou plus", + "educational_percent_discount_applied": "La remise éducation de __percent__% a été appliquée !", + "email": "Courriel", + "email_address": "Adresse e-mail", + "email_address_is_invalid": "Adresse email invalide", + "email_already_associated_with": "L’adresse courriel __email1__ est déjà associée avec le compte __appName__ __email2__.", + "email_already_registered": "Cette adresse courriel est déjà utilisée", + "email_already_registered_secondary": "Cette adresse courriel est déjà utilisée en tant qu’adresse secondaire", + "email_already_registered_sso": "Cet email est déjà enregistré. Veuillez vous connecter à votre compte d’une autre manière et lier votre compte au nouveau fournisseur via vos paramètres de compte.", + "email_does_not_belong_to_university": "Nous n’avons pas connaissance de l’affiliation de ce domaine à votre université. Veuillez nous contacter pour faire valoir cette affiliation.", + "email_limit_reached": "Vous pouvez avoir un maximum de <0>__emailAddressLimit__ adresses email sur ce compte. Pour ajouter une adresse email supplémentaire, veuillez en supprimer une existante.", + "email_link_expired": "Le lien a expiré, veuillez en demander un nouveau.", + "email_or_password_wrong_try_again": "Votre adresse courriel ou votre mot de passe est incorrect. Veuillez essayer à nouveau", + "email_or_password_wrong_try_again_or_reset": "Votre email ou mot de passe est erroné. Veuillez réessayer, ou <0>définir ou réinitialiser votre mot de passe.", + "email_required": "Adresse courriel requise", + "email_sent": "Email envoyé", + "emails": "Courriels", + "emails_and_affiliations_explanation": "Ajoutez des adresses courriel supplémentaires à votre compte pour accéder aux éventuels avantages fournis par votre université ou votre établissement, pour vous rendre plus facilement trouvable par vos collaborateur·rice·s et pour être certain de pouvoir récupérer l’accès à votre compte.", + "emails_and_affiliations_title": "Adresses courriel et affiliations", + "empty_zip_file": "L’archive ne contient aucun fichier", + "en": "Anglais", + "end_of_document": "Fin du document", + "enter_6_digit_code": "Saisissez le code à 6 chiffres", + "enter_image_url": "Entrez l’URL de l’image", + "enter_your_email_address": "Entrez votre adresse email", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Entrez votre adresse email ci-dessous, et nous vous enverrons un lien pour réinitialiser votre mot de passe", + "enter_your_new_password": "Entrez votre nouveau mot de passe", + "error": "Erreur", + "error_performing_request": "Une erreur s’est produite pendant l’exécution de votre requête.", + "es": "Espagnol", + "every": "chaque", + "example_project": "Un exemple de projet", + "existing_plan_active_until_term_end": "Votre offre actuelle et ses avantages resteront actifs jusqu’à la prochaine échéance de paiement.", + "expand": "Déplier", + "expires": "Expire", + "expiry": "Date d’expiration", + "export_csv": "Exporter en CSV", + "export_project_to_github": "Exporter le projet vers GitHub", + "faq_change_plans_or_cancel_answer": "Oui, vous pouvez le faire à n’importe quel moment via votre paramètres d’abonnement. Vous pouvez changer d’offre, changer entre des options de facturation mensuelle ou annuelle, ou résilier pour revenir à l’abonnement gratuit. En résiliant, votre abonnement continuera jusqu’à la fin de la période de facturation en cours. Si votre compte n’a temporairement pas d’abonnement, le seul changement sera les fonctionnalités auxquelles vous avez accès. Vos projets seront toujours accessibles sur votre compte.", + "faq_change_plans_or_cancel_question": "Puis-je changer d’offre ou résilier plus tard ?", + "faq_do_collab_need_on_paid_plan_answer": "Non, vos collaborateurs peuvent être sur n’importe quelle offre, y compris l’offre gratuite. Si vous disposez de l’offre premium, certaines fonctionnalités premium seront disponibles pour vos collaborateurs dans les projets que vous avez créés, même pour les collaborateurs sur l’offre gratuite. Pour plus d’informations, consultez les informations relatives aux <0>account and subscriptions et <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Mes collaborateurs doivent-ils aussi être sur une offre payante ?", + "faq_how_does_a_group_plan_work_answer": "Les abonnements de groupe sont une manière de mettre à niveau plus d’un compte Overleaf. Ils sont faciles à gérer, aident à réduire les formalités, et diminuent le prix d’achat de plusieurs abonnements séparés. Pour en savoir plus, lisez sur <0>rejoindre un abonnement de group et <1>gérer un abonnement de groupe. Vous pouvez acheter des abonnements de groupe ci-dessus ou en <2>nous contactant.", + "faq_how_does_a_group_plan_work_question": "Comment fonctionne une offre de groupe ? Comment puis-je ajouter des personnes à l’offre ?", + "faq_how_does_free_trial_works_answer": "Vous obtenez un accès complet à l’offre __appName__ de votre choix pendant votre essai gratuit de __len__ jours. Il n’y a aucun engagement à poursuivre au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai de __len__ jours à moins que vous n’annuliez votre essai auparavant. Vous pouvez annuler depuis les paramètres de votre abonnement.", + "faq_how_free_trial_works_answer_v2": "Vous bénéficiez d’un accès complet à l’offre de votre choix durant les __len__ jours de l’essai gratuit, et il n’y a aucune obligatoire de continuer au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai gratuit à moins que vous résiliez avant. Pour résilier, rendez-vous dans les paramètres d’abonnement de votre compte (l’essai continuera jusqu’au bout des __len__ jours).", + "faq_how_free_trial_works_question": "Comment fonctionne l’essai gratuit ?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "Sur Overleaf, chaque utilisateur crée et gère son propre compte Overleaf. La plupart des utilisateurs commencent sur l’offre gratuite mais peuvent mettre à niveau leur abonnement et profiter des fonctionnalités premium en s’abonnant à une offre, en rejoignant un abonnement de groupe ou en rejoignant un <0>abonnement Commons. Lorsque vous achetez, rejoignez ou quittez un abonnement, vous pouvez tout de même conserver le même compte Overleaf.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Pour en savoir plus, lisez-en plus sur <0>comment les comptes et abonnements fonctionnent sur Overleaf.", + "faq_i_have_free_account_want_subscription_how_question": "J’ai un compte gratuit et veux rejoindre un abonnement, comment faire ?", + "faq_pay_by_invoice_answer_v2": "Oui, si vous voulez souscrire un abonnement de groupe pour cinq personnes ou plus, ou une licence de site. Pour les abonnements individuels nous ne pouvons accepter que les paiments en ligne par carte de crédit, de débit ou Paypal.", + "faq_pay_by_invoice_question": "Puis-je payer par facture/bon de commande ?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Non. Seulement le compte de l’abonné sera mis à niveau. Un abonnement individuel Standard vous permet d’inviter jusqu’à 10 collaborateurs à chaque projet dont vous êtes le propriétaire.", + "faq_the_individual_standard_plan_10_collab_question": "L’offre individuelle Standard a 10 collaborateurs par projet, est-ce que cela veut dire que 10 personnes vont être mises à niveau ?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "En travaillant sur un projet que vous, en tant qu’abonné, partagez avec eux, vos collaborateurs auront accès à certaines fonctionnalités premium telles que l’historique complet du document et un temps de compilation étendu pour ce projet spécifique. Les inviter à un projet en particulier ne met pas à niveau leurs comptes, cependant. Lisez-en plus à propos de <0>quelles fonctionnalités sont par projet, et lesquelles sont par compte.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "Sur Overleaf, chaque utilisateur crée son propre compte. Vous pouvez créer des projets sur lesquels vous travaillez seul, et vous pouvez aussi inviter d’autres personnes à consulter ou travailler avec vous sur les projets que vous possédez. Les utilisateurs avec qui vous partagez votre projet sont appelés des <0>collaborateurs. Nous y faisons parfois référence en tant que “collaborateurs de projet”.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "En d’autres mots, les collaborateurs sont juste d’autres utilisateurs d’Overleaf avec qui vous travaillez sur un de vos projets.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Quelle est la différence entre des utilisateurs et des collaborateurs ?", + "fast": "Rapide", + "feature_included": "Fonctionnalité incluse", + "feature_not_included": "Fonctionnalité non incluse", + "featured_latex_templates": "Modèles LaTeX mis en avant", + "features": "Caractéristiques", + "february": "Février", + "file_action_created": "Création de", + "file_action_deleted": "Suppression de", + "file_action_edited": "Édition de", + "file_action_renamed": "Renommage de", + "file_already_exists": "Un fichier ou un dossier avec ce nom existe déjà", + "file_already_exists_in_this_location": "Un élément porte déjà le nom <0>__fileName__ à cet emplacement. Si vous souhaitez déplacer ce fichier, renommez ou supprimez l’élément et essayez à nouveau.", + "file_name": "Nom de fichier", + "file_name_figure_modal": "Nom du fichier", + "file_name_in_this_project": "Nom du fichier dans ce projet", + "file_name_in_this_project_figure_modal": "Nom du fichier dans ce projet", + "file_outline": "Structure du fichier", + "file_size": "Taille du fichier", + "file_too_large": "Fichier trop volumineux", + "files_cannot_include_invalid_characters": "Le nom du fichier est vide ou contient des caractères invalides", + "files_selected": "fichiers sélectionnés.", + "find_out_more": "En savoir plus", + "find_out_more_about_institution_login": "En savoir plus sur la connexion institutionnelle", + "find_out_more_about_the_file_outline": "En savoir plus sur la structure du fichier", + "find_out_more_nt": "En savoir plus.", + "first_name": "Prénom", + "fold_line": "Replier la ligne", + "folder_location": "Emplacement du dossier", + "folders": "Dossiers", + "following_paths_conflict": "Les fichiers et dossiers suivants sont en conflit avec le même chemin", + "font_family": "Police", + "font_size": "Taille de la police", + "footer_about_us": "À propos de nous", + "footer_contact_us": "Nous contacter", + "footer_plans_and_pricing": "Offres & prix", + "for_business": "Pour les entreprises", + "for_enterprise": "Pour l’entreprise", + "for_groups_or_site_wide": "Pour les groupes ou à l’échelle du site", + "for_individuals_and_groups": "Pour les particuliers et groupes", + "for_publishers": "Pour les éditeurs", + "for_students": "Pour les étudiants", + "for_students_only": "Pour les étudiants uniquement", + "for_teaching": "Pour l’enseignement", + "for_universities": "Pour les universités", + "forgot_your_password": "Mot de passe oublié ", + "fr": "Français", + "free": "Gratuit", + "free_dropbox_and_history": "Dropbox et historique", + "free_plan_label": "Vous êtes sur l’offre gratuite", + "free_plan_tooltip": "Cliquez pour découvrir comment vous pouvez bénéficiez des fonctionnalités Overleaf premium", + "from_another_project": "À partir d’un autre projet", + "from_external_url": "À partir d’une URL externe", + "from_provider": "De __provider__", + "full_doc_history": "Historique complet des documents", + "full_doc_history_info_v2": "Vous pouvez voir toutes les modifications de votre projet et l’auteur de chaque changement. Ajoutez des étiquettes pour rapidement accéder à des versions spécifiques.", + "full_document_history": "<0>Historique complet du document", + "full_width": "Pleine largeur", + "generate_token": "Générer un jeton", + "generic_if_problem_continues_contact_us": "Si ce problème persiste, veuillez nous contacter", + "generic_linked_file_compile_error": "Les fichiers de sortie de ce projet ne sont pas disponibles car la compilation a échoué. Veuillez ouvrir le projet pour obtenir des détails sur l’erreur de compilation.", + "generic_something_went_wrong": "Désolé, quelque chose s’est mal passé :(", + "get_collaborative_benefits": "Bénéficiez des avantages de la collaboration sur __appName__, même si vous préférez travailler hors ligne", + "get_discounted_plan": "Bénéficier d’une remise", + "get_in_touch": "Contactez-nous", + "get_in_touch_having_problems": "Contactez l’équipe du support si vous rencontrez des problèmes", + "get_involved": "Participer", + "get_most_subscription_by_checking_features": "Tirez le meilleur parti de votre abonnement __appName__ en consultant les fonctionnalités d’<0>Overleaf.", + "get_the_most_out_headline": "Tirez le meilleur parti d’__appName__ avec des fonctionnalités telles que :", + "git": "Git", + "git_authentication_token": "Jeton d’authentification Git", + "git_authentication_token_create_modal_info_1": "Ceci est votre jeton d’authentification Git. Vous devrez l’entrer lorsqu’un mot de passe vous sera demandé.", + "git_authentication_token_create_modal_info_2": "<0>Vous ne verrez ce jeton d’authentification qu’une seule fois, veuillez le copier et le garder en sécurité. Pour des instructions complètes sur l’utilisation des jetons, consultez notre <1>page d’aide.", + "git_bridge_modal_click_generate": "Cliquez sur Générer un jeton pour générez votre jeton d’authentification maintenant. Vous pouvez aussi faire cela plus tard dans vos Paramètres de Compte.", + "git_bridge_modal_enter_authentication_token": "Lorsqu’un mot de passe vous sera demandé, entrez votre nouveau jeton d’authentification :", + "git_integration_lowercase": "Intégration avec Git", + "github_commit_message_placeholder": "Message de commit pour les changements effectués dans __appName__…", + "github_credentials_expired": "Vos identifiants GitHub ont expiré", + "github_git_folder_error": "Ce projet contient un répertoire .git à sa racine, ce qui indique qu’il s’agit déjà d’un dépôt Git. Le service de synchronisation GitHub d’Overleaf n’est pas en mesure de synchroniser les historiques Git. Veuillez supprimer le répertoire .git et réessayer.", + "github_integration_lowercase": "Intégration avec Git et GitHub", + "github_is_premium": "La synchronisation GitHub est une fonctionnalité premium", + "github_large_files_error": "Échec de fusion : votre dépôt GitHub contient des fichiers dépassant la taille limite de 50 Mo ", + "github_no_master_branch_error": "Ce dépôt ne peut pas être importé car il n’a pas de branche master. Veuillez vous assurer qu’une branche master existe dans le projet.", + "github_private_description": "Vous choisissez qui peut voir et commiter dans ce dépôt.", + "github_public_description": "Tout le monde peut voir ce dépôt. Vous choisissez qui peut commiter.", + "github_repository_diverged": "La branche master du dépôt lié a été poussée de force. La récupération des modifications faites sur GitHub après un poussage forcé peut causer la désynchronisation d’Overleaf et GitHub. Vous pourriez avoir besoin de pousser les modifications après leur récupération pour restaurer la synchronisation.", + "github_successfully_linked_description": "Merci, nous avons lié votre compte GitHub avec __appName__. Vous pouvez maintenant exporter vos projets __appName__ dans GitHub ou importer des projets depuis vos dépôts GitHub.", + "github_symlink_error": "Votre dépôt GitHub contient des liens symboliques qui ne sont pas encore supportés par Overleaf. Veuillez les retirer et réessayer.", + "github_sync": "Synchronisation GitHub", + "github_sync_description": "Avec la synchronisation GitHub, vous pouvez lier vos projets __appName__ à des dépôts GitHub. Créez de nouveaux commits depuis __appName__, et fusionnez avec les commits réalisés hors ligne ou dans GitHub.", + "github_sync_error": "Désolé, une erreur s’est produite lors de la communication avec le service GitHub. Veuillez essayer à nouveau dans quelques instants.", + "github_sync_repository_not_found_description": "Le dépôt lié a été supprimé ou bien vous avez perdu accès à celui-ci. Vous pouvez configurer la synchronisation avec un nouveau dépôt en clonant le projet puis en accédant à l’option « GitHub » du menu. Vous pouvez également supprimer le lien entre ce projet et le dépôt.", + "github_timeout_error": "La synchronisation de votre projet Overleaf avec GitHub a pris trop de temps. Ceci peut être dû à un volume de données global trop grand ou à un nombre de fichiers/modifications trop important dans votre projet.", + "github_too_many_files_error": "Ce dépôt ne peut pas être importé car il contient un nombre de fichiers supérieur à la limite autorisée", + "github_validation_check": "Veuillez vérifier que le nom du dépôt est valable, et que vous avez les droits pour créer le dépôt.", + "give_feedback": "Donner votre avis", + "global": "global", + "go_back_and_link_accts": "Retournez en arrière et liez vos comptes", + "go_next_page": "Aller à la page suivante", + "go_page": "Aller à la page __page__", + "go_prev_page": "Aller à la page précédente", + "go_to_code_location_in_pdf": "Aller à l’emplacement du code dans le PDF", + "go_to_pdf_location_in_code": "Aller dans le code à l’emplacement du PDF", + "group_admin": "Administrateur du groupe", + "group_full": "Ce groupe est déjà complet", + "group_plans": "Offres de groupes", + "groups": "Groupes", + "have_an_extra_backup": "Gardez une sauvegarde supplémentaire", + "have_more_days_to_try": "Voici __days__ days d’essai en plus !", + "headers": "Titres", + "help": "Aide", + "help_articles_matching": "Fiches d’aide correspondant à votre sujet", + "hide_outline": "Masquer la structure du fichier", + "history": "Historique", + "history_add_label": "Ajouter étiquette", + "history_adding_label": "Ajout d’une étiquette", + "history_are_you_sure_delete_label": "Êtes-vous sûr·e de vouloir supprimer l’étiquette suivante ", + "history_delete_label": "Supprimer l’étiquette", + "history_deleting_label": "Suppression de l’étiquette", + "history_label_created_by": "Créé par", + "history_label_project_current_state": "État actuel", + "history_label_this_version": "Étiqueter cette version", + "history_new_label_name": "Nom de la nouvelle étiquette", + "history_view_a11y_description": "Afficher soit tout l’historique du projet soit uniquement les versions étiquetées.", + "history_view_all": "Tout l’historique", + "history_view_labels": "Étiquettes", + "hit_enter_to_reply": "Appuyez sur Entrée pour répondre", + "home": "Accueil", + "hotkey_add_a_comment": "Ajouter un commentaire", + "hotkey_autocomplete_menu": "Menu d’auto-complétion", + "hotkey_beginning_of_document": "Début du document", + "hotkey_bold_text": "Mettre en gras", + "hotkey_compile": "Compiler", + "hotkey_delete_current_line": "Supprimer la ligne actuelle", + "hotkey_end_of_document": "Fin du document", + "hotkey_find_and_replace": "Rechercher (et remplacer)", + "hotkey_go_to_line": "Aller à la ligne", + "hotkey_indent_selection": "Indenter la sélection", + "hotkey_insert_candidate": "Insérer le choix", + "hotkey_italic_text": "Mettre en italique", + "hotkey_redo": "Restaurer", + "hotkey_search_references": "Rechercher dans les références", + "hotkey_select_all": "Tout sélectionner", + "hotkey_select_candidate": "Choisir une option", + "hotkey_to_lowercase": "Mettre en minuscules", + "hotkey_to_uppercase": "Mettre en majuscules", + "hotkey_toggle_comment": "Mettre en commentaire", + "hotkey_toggle_review_panel": "Ouvrir le panneau de relecture", + "hotkey_toggle_track_changes": "Ouvrir le suivi des modifications", + "hotkey_undo": "Annuler", + "hotkeys": "Raccourcis clavier", + "hundreds_templates_info": "Créez de magnifiques documents en vous basant sur notre galerie de modèles LaTeX pour les revues, conférences, thèses, rapports, CV et bien plus encore.", + "i_want_to_stay": "Je veux rester", + "if_have_existing_can_link": "Si vous avez déjà un compte __appName__ sur une autre adresse courriel, vous pouvez le lier à votre compte __institutionName__ en cliquant __clickText__.", + "if_owner_can_link": "Si vous possédez le compte __appName__ ayant pour adresse __email__, vous serez autorisé à le lier à votre compte institutionnel __institutionName__.", + "ignore_and_continue_institution_linking": "Vous pouvez également ignorer ceci et continuer vers __appName__ avec votre compte __email__.", + "ignore_validation_errors": "Ne pas vérifier la syntaxe", + "ill_take_it": "Je le prends !", + "import_from_github": "Importer depuis GitHub", + "import_to_sharelatex": "Importer dans __appName__", + "imported_from_another_project_at_date": "Importé d’un <0>autre projet/__sourceEntityPathHTML__, le __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importé de <0>__shortenedUrlHTML__ le __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importé de Mendeley le __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importé des fichiers générés d’un <0>autre projet: __sourceOutputFilePathHTML__, le __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importé de Zotero le __formattedDate__ __relativeDate__", + "importing": "Importation", + "importing_and_merging_changes_in_github": "Import et fusion des modifications dans GitHub", + "in_good_company": "Vous êtes en bonne compagnie", + "in_order_to_match_institutional_metadata_associated": "Afin de faire correspondre vos métadonnées institutionnelles, votre compte est associé avec l’adresse courriel __email__.", + "indvidual_plans": "Offres individuelles", + "info": "Info", + "institution": "Établissement", + "institution_account": "Compte institutionnel", + "institution_account_tried_to_add_affiliated_with_another_institution": "Cette adresse courriel est déjà associée à votre compte mais est affiliée à un autre établissement.", + "institution_account_tried_to_add_already_linked": "Cet établissement est déjà lié à votre compte via une autre adresse courriel.", + "institution_account_tried_to_add_already_registered": "Le compte ou l’adresse courriel institutionnelle que vous avez essayé d’ajouter est déjà inscrite sur __appName__.", + "institution_account_tried_to_add_not_affiliated": "Cette adresse courriel est déjà associée à votre compte mais n’est pas affiliée à cet établissement.", + "institution_account_tried_to_confirm_saml": "Cette adresse courriel n’a pas pu être validée. Veuillez supprimer cette adresse de votre compte et réessayer de l’ajouter.", + "institution_and_role": "Établissement et rôle", + "institution_email_new_to_app": "Votre adresse courriel __institutionName__ (__email__) est nouvelle sur __appName__.", + "institutional": "Institutionnel", + "institutional_login_not_supported": "Votre université ne supporte pas encore la connexion institutionnelle, mais vous pouvez toujours vous inscrire avec votre adresse courriel institutionnelle.", + "institutional_login_unknown": "Désolé, nous ne connaissons pas l’établissement qui a délivré cette adresse courriel. Vous pouvez consulter notre liste d’établissements pour trouver le vôtre, ou vous pouvez simplement vous inscrire en utilisant votre adresse courriel ici.", + "invalid_email": "Une adresse courriel est invalide", + "invalid_file_name": "Nom de fichier invalide", + "invalid_filename": "Échec de l’envoi : assurez-vous que le nom du fichier ne contienne pas de caractères spéciaux, de blancs au début ou à la fin ou plus de __nameLimit__ caractères", + "invalid_institutional_email": "Le service d’authentification central de votre établissement a indiqué que votre adresse courriel était __email__, mais le domaine de cette adresse n’appartient pas à ceux que nous reconnaissons pour cet établissement. Il est peut-être possible de modifier votre adresse courriel principale depuis le profil utilisateur de votre établissement pour qu’elle soit dans un domaine reconnu. Veuillez contacter votre département informatique si vous avez des questions.", + "invalid_password": "Mot de passe invalide", + "invalid_request": "Requête invalide. Veuillez corriger les données et réessayer.", + "invalid_zip_file": "Archive invalide", + "invite_not_accepted": "Invitation en attente", + "invite_not_valid": "Cette invitation à un projet n’est pas valable", + "invite_not_valid_description": "L’invitation a peut-être expiré. Veuillez contacter le propriétaire du projet", + "invited_to_group": "<0>__inviterName__ vous a invité à rejoindre une équipe sur __appName__", + "ip_address": "Adresse IP", + "is_email_affiliated": "Votre adresse courriel est-elle affiliée à un établissement ? ", + "it": "Italien", + "ja": "Japonais", + "january": "Janvier", + "join_project": "Rejoindre le projet", + "join_sl_to_view_project": "Rejoinde __appName__ pour voir ce projet", + "join_team_explanation": "Veuillez cliquer sur le bouton ci-dessous pour rejoindre l’équipe et bénéficier des avantages d’un compte __appName__ premium", + "joined_team": "Vous avez rejoint l’équipe gérée par __inviterName__", + "joining": "Jonction", + "july": "Juillet", + "june": "Juin", + "kb_suggestions_enquiry": "Avez-vous consulté notre <0>__kbLink__ ?", + "keep_current_plan": "Garder mon offre actuelle", + "keybindings": "Raccourcis clavier", + "knowledge_base": "Base de connaissances", + "ko": "Koréen", + "language": "Langue", + "last_modified": "Dernière modification", + "last_name": "Nom", + "latex_templates": "Modèles LaTeX", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choisissez une adresse courriel pour le compte __appName__ initial. Celle-ci doit correspondre à un compte dans la base LDAP. Vous serez ensuite invité à vous connecter avec ce compte.", + "learn_more": "En savoir plus", + "learn_more_about_link_sharing": "En savoir plus sur le partage par lien", + "leave": "Quitter", + "leave_group": "Quitter le groupe", + "leave_now": "Quitter maintenant", + "leave_projects": "Quitter les projets", + "let_us_know": "Faites-le nous savoir", + "line_height": "Hauteur de ligne", + "link_account": "Lier un compte", + "link_accounts": "Lier les comptes", + "link_accounts_and_add_email": "Lier les comptes et ajouter un courriel", + "link_institutional_email_get_started": "Liez une adresse courriel institutionnelle pour commencer.", + "link_sharing": "Partage par lien", + "link_sharing_is_off": "Le partage par lien est désactivé, seuls les utilisateur·rice·s invité·e·s peuvent voir ce projet.", + "link_sharing_is_on": "Le partage par lien est activé", + "link_to_github": "Lier à votre compte GitHub", + "link_to_github_description": "Vous devez autoriser __appName__ à accéder à votre compte GitHub afin de nous permettre de synchroniser vos projets.", + "link_to_mendeley": "Lier à Mendeley", + "link_to_zotero": "Lier à Zotero", + "link_your_accounts": "Lier vos comptes", + "linked_accounts": "comptes liés", + "linked_accounts_explained": "Vous pouvez lier votre compte __appName__ avec d’autres services pour bénéficier des fonctionnalités ci-dessous", + "linked_collabratec_description": "Utilisez Collabratec pour gérer vos projets __appName__.", + "linked_file": "Fichier importé", + "links": "Liens", + "loading": "Chargement en cours", + "loading_content": "Création du projet", + "loading_github_repositories": "Chargement de vos dépôts GitHub", + "loading_recent_github_commits": "Chargement des commits récents", + "log_entry_description": "Entrée du journal de niveau : __level__", + "log_hint_extra_info": "En savoir plus", + "log_in": "Se connecter", + "log_in_and_link": "Se connecter et lier", + "log_in_and_link_accounts": "Se connecter et lier les comptes", + "log_in_first_to_proceed": "Vous aurez besoin de vous connecter avant de poursuivre.", + "log_in_with": "Se connecter avec __provider__", + "log_in_with_email": "Se connecter avec __email__", + "log_in_with_existing_institution_email": "Veuillez vous connecter sur votre compte __appName__ existant afin de lier vos comptes institutionnels __appName__ et __institutionName__.", + "log_out": "Déconnexion", + "log_out_from": "Se déconnecter de __email__", + "logged_in_with_email": "Vous êtes actuellement connecté à __appName__ avec l’adresse __email__.", + "logging_in": "Connexion en cours", + "login": "Identifiant", + "login_error": "Erreur de connexion", + "login_failed": "Échec de connexion", + "login_here": "Se connecter ici", + "login_or_password_wrong_try_again": "Votre identifiant ou votre mot de passe est incorrect. Veuillez essayer à nouveau", + "login_register_or": "ou bien", + "login_to_overleaf": "Se connecter à Overleaf", + "login_with_service": "Se connecter avec __service__", + "logs_and_output_files": "Journaux et fichiers de sortie", + "looking_multiple_licenses": "Vous cherchez des licences groupées ?", + "looks_like_logged_in_with_email": "Il semble que vous soyez déjà connecté à __appName__ avec l’adresse __email__.", + "looks_like_youre_at": "Il semblerait que vous soyez à <0>__institutionName__ !", + "lost_connection": "Connexion perdue", + "main_document": "Document principal", + "main_file_not_found": "Document principal inconnu", + "maintenance": "Maintenance", + "make_email_primary_description": "Faire de cette adresse courriel l’adresse principale, utilisée pour la connexion", + "make_primary": "Utiliser en principale", + "make_private": "Rendre privé", + "manage_beta_program_membership": "Gérer votre participation au programme de bêta", + "manage_files_from_your_dropbox_folder": "Gérez les fichiers de votre Dropbox", + "manage_sessions": "Gérer vos sessions", + "manage_subscription": "gérer l’abonnement", + "managers_cannot_remove_admin": "Les administrateurs ne peuvent être supprimés", + "managers_cannot_remove_self": "Les gestionnaires ne peuvent pas s’auto-supprimer", + "managers_management": "Gestion des gestionnaires", + "march": "Mars", + "mark_as_resolved": "Marquer comme résolu", + "math_display": "Formules centrées", + "math_inline": "Formules en ligne", + "maximum_files_uploaded_together": "__max__ fichiers téléversés simultanément. Valeur maximale atteinte.", + "may": "Mai", + "members_management": "Gestion des membres", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Le chargement des groupes Mendeley a échoué", + "mendeley_integration": "Intégration Mendeley", + "mendeley_is_premium": "L’intégration Mendeley est une fonctionnalité premium", + "mendeley_reference_loading_error": "Erreur, impossible de charger les références depuis Mendeley", + "mendeley_reference_loading_error_expired": "Le jeton Mendeley est expiré, veuillez lier à nouveau votre compte", + "mendeley_reference_loading_error_forbidden": "Impossible de charger les références de Mendeley, veuillez lier à nouveau votre compte et réessayer.", + "mendeley_sync_description": "Avec l’intégration Mendeley, vous pouvez importer vos références à partir de Mendeley dans vos projets __appName__.", + "menu": "Menu", + "merge": "Fusion", + "merging": "Fusion", + "month": "mois", + "monthly": "Mensuel", + "more": "Plus", + "more_info": "Plus d’infos", + "more_than_one_kind_of_snippet_was_requested": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "must_be_email_address": "Adresse électronique attendue", + "n_items": "__count__ élément", + "n_items_plural": "__count__ éléments", + "name": "Nom", + "native": "Native", + "navigate_log_source": "Aller à la position du journal dans le code source : __location__", + "navigation": "Navigation", + "nearly_activated": "Il ne vous reste plus qu’une étape pour activer votre compte __appName__ !", + "need_anything_contact_us_at": "Si vous avez besoin de quelque chose, n’hésitez pas à nous contacter directement à", + "need_to_add_new_primary_before_remove": "Vous devrez ajouter une nouvelle adresse courriel principale avant de pouvoir supprimer celle-ci.", + "need_to_leave": "Besoin de partir ?", + "need_to_upgrade_for_more_collabs": "Vous devez mettre à niveau votre compte pour ajouter plus de collaborateur·rice·s", + "new_file": "Nouveau fichier", + "new_folder": "Nouveau dossier", + "new_name": "Nouveau nom", + "new_password": "Nouveau mot de passe", + "new_project": "Nouveau projet", + "new_snippet_project": "Sans titre", + "next_payment_of_x_collectected_on_y": "Le prochain paiement de <0>__paymentAmmount__ sera débité le <1>__collectionDate__.", + "nl": "Hollandais", + "no": "Norvégien", + "no_comments": "Aucun commentaire", + "no_existing_password": "Veuillez utiliser le formulaire de réinitialisation de mot de passe pour définir votre mot de passe", + "no_featured_templates": "Aucun modèle mis en avant", + "no_members": "Aucun membre", + "no_messages": "Pas de message", + "no_new_commits_in_github": "Aucun nouveau commit dans GitHub depuis la dernière fusion.", + "no_other_projects_found": "Aucun autre projet trouvé, veuillez d’abord créer un autre projet", + "no_other_sessions": "Aucune autre session n’est active", + "no_pdf_error_explanation": "Cette compilation n’a pas généré de PDF. Cela peut se produire lorsque :", + "no_pdf_error_reason_no_content": "L’environnement document n’a pas de contenu. S’il est vide, veuillez y ajouter du contenu et relancer la compilation.", + "no_pdf_error_reason_output_pdf_already_exists": "Un des fichiers de ce projet porte le nom output.pdf. Si un tel fichier existe, veuillez le renommer et relancer la compilation.", + "no_pdf_error_reason_unrecoverable_error": "Une erreur LaTeX fatale s’est produite. Si des erreurs LaTeX sont affichées ci-dessous ou dans les journaux bruts, veuillez essayer de les corriger puis de relancer la compilation.", + "no_pdf_error_title": "Pas de PDF", + "no_planned_maintenance": "Il n’y a pas de maintenance prévue pour le moment", + "no_preview_available": "Désolé, aucune prévisualisation possible.", + "no_projects": "Aucun projet", + "no_resolved_threads": "Aucun fil de discussion résolu", + "no_search_results": "Aucun résultat pour la recherche", + "no_selection_select_file": "Aucun fichier sélectionné. Veuillez sélectionner un fichier depuis l’arborescence.", + "no_symbols_found": "Aucun symbole toruvé", + "no_thanks_cancel_now": "Non merci, je veux toujours annuler", + "normal": "Normal", + "normally_x_price_per_month": "__price__ par mois en temps normal", + "normally_x_price_per_year": "__price__ par an en temps normal", + "not_found_error_from_the_supplied_url": "Le lien pour ouvrir ce contenu sur Overleaf pointe vers un fichier introuvable. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "not_now": "pas maintenant", + "not_registered": "Pas inscrit·e", + "notification_features_upgraded_by_affiliation": "Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec Overleaf, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’Overleaf.", + "notification_personal_subscription_not_required_due_to_affiliation": " Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec Overleaf, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’Overleaf. Vous pouvez ainsi annuler votre abonnement personnel en conservant l’accès à tous vos avantages.", + "notification_project_invite": "__userName__ souhaiterait que vous rejoigniez __projectName__ Rejoindre le projet", + "notification_project_invite_accepted_message": "Vous avez rejoint __projectName__", + "notification_project_invite_message": "__userName__ souhaiterait que vous rejoigniez __projectName__", + "november": "Novembre", + "number_collab": "Nombre de collaborateur·rice·s", + "oauth_orcid_description": " Justifiez de votre identité de façon sécurisée en liant votre ORCID iD à votre compte __appName__. Vos soumissions aux éditeurs participants incluront automatiquement votre ORCID iD, permettant ainsi d’accroître votre productivité et votre visibilité. ", + "october": "Octobre", + "off": "Désactivé", + "ok": "Ok", + "on": "Activé", + "one_collaborator": "Un·e seul·e collaborateur·rice", + "one_free_collab": "Un collaborateur offert", + "online_latex_editor": "Éditeur LaTeX en ligne", + "open_a_file_on_the_left": "Ouvrir un fichier sur la gauche", + "open_project": "Ouvrir le projet", + "opted_out_linking": "Vous avez choisi de ne pas lier votre compte __appName__ __email__ à votre compte institutionnel.", + "optional": "Optionnel", + "or": "ou", + "organize_projects": "Organiser les projets", + "other_actions": "Autres actions", + "other_logs_and_files": "Autres journaux et fichiers", + "other_output_files": "Télécharger les autres fichiers générés", + "over": "Plus de", + "overall_theme": "Apparence générale", + "overview": "Vue d’ensemble", + "owner": "Propriétaire", + "page_current": "Page __page__, page actuelle", + "page_not_found": "Page introuvable", + "pagination_navigation": "Navigation pagination", + "password": "Mot de passe", + "password_change_passwords_do_not_match": "Les mots de passe ne correspondent pas", + "password_change_successful": "Mot de passe modifié", + "password_reset": "Réinitialisation du mot de passe", + "password_reset_email_sent": "Un courriel vous a été envoyé afin de finaliser la réinitialisation de votre mot de passe.", + "password_reset_token_expired": "Votre demande de réinitialisation de mot de passe a expiré. Veuillez refaire une demande de réinitialisation et suivre le lien qui figure dans le nouveau courriel.", + "password_too_long_please_reset": "La longueur maximale autorisée pour le mot de passe a été dépassée. Merci de réinitialiser votre mot de passe.", + "payment_provider_unreachable_error": "Désolé, une erreur s’est produite lors de la communication avec notre fournisseur de paiements. Veuillez réessayer dans quelques instants.\n\nSi vous utilisez une extension dans votre navigateur pour bloquer les publicités ou les scripts, il peut être nécessaire de les désactiver temporairement.", + "pdf_compile_in_progress_error": "Une compilation précédente est toujours en cours. Veuillez attendre un instant puis réessayer de compiler.", + "pdf_compile_rate_limit_hit": "Limite de fréquence de compilation atteinte", + "pdf_compile_try_again": "Veuillez attendre que votre compilation précédente se termine avant de réessayer.", + "pdf_rendering_error": "Erreur de rendu PDF", + "pdf_viewer": "Visionneuse de PDF", + "pending": "En attente", + "pending_additional_licenses": "Votre abonnement va changer pour inclure <0>__pendingAdditionalLicenses__ licence(s) additionnelle(s), pour un total de <1>__pendingTotalLicenses__ licences.", + "personal": "Personnel", + "pl": "Polonais", + "planned_maintenance": "Maintenance prévue", + "plans_amper_pricing": "Offres et tarifs", + "plans_and_pricing": "Offres et prix", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour pouvoir suivre les modifications", + "please_change_primary_to_remove": "Veuillez changer votre adresse courriel principale pour pouvoir la retirer", + "please_check_your_inbox": "Veuillez relever votre courriel", + "please_check_your_inbox_to_confirm": "Veuillez vérifier votre boîte de réception de courriel pour valider votre affiliation à <0>__institutionName__.", + "please_compile_pdf_before_download": "Veuillez compiler votre projet avant de pouvoir télécharger le PDF", + "please_compile_pdf_before_word_count": "Veuillez d’abord compiler votre projet afin de compter les mots", + "please_confirm_email": "Veuillez confirmer votre adresse courriel __emailAddress__ en cliquant sur le lien contenu dans le courriel de confirmation ", + "please_confirm_your_email_before_making_it_default": "Veuillez confirmer cette adresse courriel avant de pouvoir la rendre principale.", + "please_enter_email": "Veuillez indiquer votre adresse électronique", + "please_link_before_making_primary": "Veuillez confirmer votre adresse courriel en la liant à votre compte institutionnel avant de pouvoir la rendre principale.", + "please_reconfirm_institutional_email": "Veuillez prendre un instant pour valider votre adresse courriel institutionnelle ou bien <0>supprimez-la de votre compte.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Veuillez confirmer votre affiliation avant de pouvoir la rendre principale.", + "please_refresh": "Veuillez actualiser la page pour continuer.", + "please_select_a_file": "Veuillez choisir un fichier", + "please_select_a_project": "Veuillez choisir un projet", + "please_select_an_output_file": "Veuillez choisir un fichier généré", + "please_set_a_password": "Veuillez choisir un mot de passe", + "please_set_main_file": "Veuillez choisir le fichier principal pour ce projet depuis le menu du projet. ", + "portal_add_affiliation_to_join": "Il semblerait que vous soyez déjà connecté à __appName__ ! Si vous avez une adresse courriel __portalTitle__, vous pouvez l’ajouter maintenant.", + "position": "Grade", + "postal_code": "Code postal", + "premium_features": "Fonctionnalités premium", + "presentation": "Présentation", + "price": "Prix", + "priority_support": "Support prioritaire", + "privacy": "Politique de confidentialité", + "privacy_policy": "Règles de confidentialité", + "private": "Privé", + "problem_changing_email_address": "Il y a eu un problème lors de votre changement d’adresse courriel. Veuillez recommencer dans quelques instants. Si le problème persiste, veuillez nous contacter.", + "problem_talking_to_publishing_service": "Il y a un problème avec notre service d’édition, veuillez réessayer dans quelques minutes", + "problem_with_subscription_contact_us": "Il y a un problème avec votre abonnement. Veuillez nous contacter pour davantage d’informations.", + "processing": "En traitement", + "processing_your_request": "Veuillez patienter pendant que nous traitons votre demande.", + "professional": "Professionnel·le", + "project_approaching_file_limit": "Ce projet approche la limite de fichiers", + "project_flagged_too_many_compiles": "Ce projet a été compilé trop fréquemment. Cette limite sera levée sous peu.", + "project_has_too_many_files": "La limite des 2 000 fichiers a été atteinte pour ce projet", + "project_last_published_at": "Votre projet a été édité pour la dernière fois le", + "project_name": "Nom du projet", + "project_not_linked_to_github": "Ce projet n’est pas lié à un dépôt GitHub. Vous pouvez lui créer un dépôt dans GitHub :", + "project_ownership_transfer_confirmation_1": "Êtes-vous sûr de vouloir faire de <0>__user__ le propriétaire de <1>__project__ ?", + "project_ownership_transfer_confirmation_2": "Cette action est irréversible. Le nouveau propriétaire sera notifié et sera en mesure de modifier les paramètres d’accès au projet (y compris de vous ôter le droit d’accès).", + "project_synced_with_git_repo_at": "Ce projet est synchronisé avec le dépôt GitHub", + "project_too_large": "Projet trop volumineux", + "project_too_large_please_reduce": "Ce projet contient trop de texte, veuillez essayer de le réduire. Les fichiers les plus volumineux sont :", + "project_too_much_editable_text": "Ce projet contient trop de texte, veuillez essayer de le réduire.", + "project_url": "URL du projet concerné", + "projects": "Projets", + "pt": "Portugais", + "public": "Public", + "publish": "Publier", + "publish_as_template": "Gérer le modèle", + "publishing": "Publication en cours", + "pull_github_changes_into_sharelatex": "Récupérer les modifications GitHub (pull) dans __appName__", + "push_sharelatex_changes_to_github": "Pousser les modifications __appName__ vers GitHub", + "quoted_text_in": "Texte cité dans", + "raw_logs": "Journaux bruts", + "raw_logs_description": "Journaux bruts issus du compilateur LaTeX", + "read_only": "Lecture seule", + "realtime_track_changes": "Suivi des modifications en temps réel", + "reauthorize_github_account": "Autorisez votre compte GitHub à nouveau", + "recent_commits_in_github": "Commits récents dans GitHub", + "recompile": "Recompiler", + "recompile_from_scratch": "Recompiler entièrement", + "recompile_pdf": "Recompiler le PDF", + "reconfirm": "confirmez à nouveau", + "reconfirm_explained": "Nous devons confirmer votre compte à nouveau. Veuillez demander une réinitialisation de votre mot de passe en utilisant le formulaire ci-dessous pour réaliser cette action. Si vous rencontrez des problèmes pour confirmer votre compte, contactez-nous à", + "reconnect": "Réessayer", + "reconnecting": "Reconnexion", + "reconnecting_in_x_secs": "Reconnexion dans __seconds__ s", + "recurly_email_update_needed": "Votre adresse courriel de facturation est actuellement <0>__recurlyEmail__. Si besoin, vous pouvez modifier votre adresse de facturation pour <1>__userEmail__.", + "recurly_email_updated": "Votre adresse courriel de facturation a été modifiée avec succès", + "reduce_costs_group_licenses": "Vous pouvez simplifier les formalités et réaliser des économies grâce à nos réductions pour les licences groupées.", + "reference_error_relink_hint": "Si cette erreur persiste, essayez de lier à nouveau votre compte ici :", + "reference_search": "Recherche de références avancée", + "reference_sync": "Synchro. avec gestionnaire de références", + "refresh": "Rafraîchir", + "refresh_page_after_linking_dropbox": "Veuillez rafraîchir cette page après avoir lié votre compte à Dropbox.", + "refresh_page_after_starting_free_trial": "Veuillez actualiser cette page avant de commencer votre essai gratuit.", + "refreshing": "Actualisation", + "regards": "Merci", + "register": "S’inscrire", + "register_error": "Erreur d’inscription", + "register_intercept_sso": "Vous pourrez lier votre compte __authProviderName__ depuis la page « Paramètres du compte » une fois que vous vous serez connecté.", + "register_to_edit_template": "Veuillez vous inscrire pour éditer le modèle __templateName__", + "register_with_another_email": "Inscrivez-vous avec __appName__ en utilisant une autre adresse courriel.", + "registered": "Inscrit·e", + "registering": "Inscription en cours", + "registration_error": "Erreur d’inscription", + "reject": "Rejeter", + "reject_all": "Tout rejeter", + "reload_editor": "Actualiser l’éditeur", + "remote_service_error": "Le service distant a renvoyé une erreur", + "remove": "Supprimer", + "remove_collaborator": "Exclure le ou la collaborateur·rice", + "remove_from_group": "Retirer du groupe", + "remove_manager": "Supprimer un gestionnaire", + "removed": "retiré", + "removing": "Suppression", + "rename": "Renommer", + "rename_project": "Renommer le projet", + "renaming": "Renommage", + "reopen": "Rouvrir", + "reply": "Répondre", + "repository_name": "Nom du dépôt", + "republish": "Publier à nouveau", + "request_password_reset": "Réinitialiser le mot de passe", + "request_password_reset_to_reconfirm": "Faites une demande de modification du mot de passe pour revalider", + "request_reconfirmation_email": "Demander un courriel de confirmation", + "request_sent_thank_you": "Message envoyé ! Notre équipe va l’examiner et vous répondre par courriel.", + "requesting_password_reset": "Réinitialisation du mot de passe", + "required": "requis", + "resend": "Envoyer de nouveau", + "resend_confirmation_email": "Réexpédier le courriel de confirmation", + "resending_confirmation_email": "Réexpédition du courriel de confirmation", + "reset_password": "Réinitialiser le mot de passe", + "reset_your_password": "Réinitialiser votre mot de passe", + "resolve": "Résoudre", + "resolved_comments": "Commentaires résolus", + "restore": "Restaurer", + "restoring": "Restauration en cours", + "restricted": "Accès restreint", + "restricted_no_permission": "Accès restreint, désolé vous n’avez pas l’autorisation de charger cette page.", + "return_to_login_page": "Retourner à la page de connexion", + "revert_pending_plan_change": "Annuler la modification prévue d’offre", + "review": "Relire", + "review_your_peers_work": "Relisez le travail de vos pairs", + "revoke": "Révoquer", + "revoke_invite": "Retirer l’invitation", + "ro": "Roumain", + "role": "Grade", + "ru": "Russe", + "saml": "SAML", + "saml_create_admin_instructions": "Choisissez une adresse courriel pour le compte __appName__ initial. Celle-ci doit correspondre à un compte dans le système SAML. Vous serez ensuite invité à vous connecter avec ce compte.", + "save_or_cancel-cancel": "annuler", + "save_or_cancel-or": "ou", + "save_or_cancel-save": "Enregistrer", + "saving": "Sauvegarde en cours", + "saving_notification_with_seconds": "Enregistrement de __docname__ (__seconds__ s de modifications non enregistrées)", + "search": "Recherche", + "search_bib_files": "Rechercher par auteur, titre, année", + "search_projects": "Rechercher un projet", + "search_references": "Rechercher les fichiers .bib dans ce projet", + "secondary_email_password_reset": "Cette adresse courriel est une adresse secondaire. Veuillez saisir l’adresse principale associée à votre compte.", + "security": "Sécurité", + "see_changes_in_your_documents_live": "Observez les modifications dans vos documents, en direct", + "select_a_file": "Choisir un fichier", + "select_a_project": "Choisir un projet", + "select_all_projects": "Tout sélectionner", + "select_an_output_file": "Choisir un fichier généré", + "select_from_output_files": "choisir parmi les fichiers générés", + "select_from_source_files": "choisir parmi les fichiers source", + "select_github_repository": "Choisissez un dépôt GitHub à importer dans __appName__", + "send": "Envoyer", + "send_first_message": "Envoyez votre premier message à vos collaborateur·rice·s", + "send_test_email": "Envoyer un courriel de test", + "sending": "Envoi", + "september": "Septembre", + "server_error": "Erreur du serveur", + "services": "Services", + "session_created_at": "Session créée le", + "session_error": "Erreur de session. Veuillez vérifier que vous avez activé les cookies. Si le problème persiste, essayez de vider votre cache et vos cookies.", + "session_expired_redirecting_to_login": "Session expirée. Redirection vers la page de connexion dans __seconds__ s", + "sessions": "Sessions", + "set_new_password": "Changer le mot de passe", + "set_password": "Changement de mot de passe", + "settings": "Réglages", + "share": "Partager", + "share_project": "Partager le projet", + "share_with_your_collabs": "Partager avec vos collaborateur·rice·s", + "shared_with_you": "Partagé avec moi", + "sharelatex_beta_program": "Programme de bêta __appName__", + "show_all": "tout voir", + "show_hotkeys": "Montrer les raccourcis clavier", + "show_less": "voir moins", + "show_outline": "Afficher la structure du fichier", + "showing_1_result": "Affiche 1 résultat", + "showing_1_result_of_total": "Affiche 1 résultat sur __total__", + "showing_x_out_of_n_projects": "Affiche __x__ sur __n__ projets.", + "showing_x_results": "Affiche __x__ résultats", + "showing_x_results_of_total": "Affiche __x__ résultats sur __total__", + "site_description": "Un éditeur LaTeX en ligne facile à utiliser. Pas d’installation, collaboration en temps réel, gestion des versions, des centaines de modèles de documents LaTeX, et plus encore.", + "skip_to_content": "Aller au contenu", + "something_went_wrong_canceling_your_subscription": "Un problème est survenu lors de l’annulation de votre abonnement. Veuillez contacter le support.", + "something_went_wrong_rendering_pdf": "Une erreur s’est produite lors du rendu de ce PDF.", + "something_went_wrong_server": "Une erreur s’est produite pendant la communication avec le serveur :( Veuillez réessayer.", + "somthing_went_wrong_compiling": "Désolé, quelque chose ne fonctionne pas et votre projet ne peut pas être compilé. Veuillez réessayer dans quelques instants.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Désolé, une erreur s’est produite lors de l’ouverture de ce contenu sur Overleaf. Veuillez réessayer", + "source": "Code source", + "spell_check": "Correcteur orthographique", + "sso_account_already_linked": "Compte déjà lié à un·e autre utilisateur·rice __appName__", + "sso_link_error": "Erreur lors de la liaison avec le compte SSO", + "sso_not_linked": "Vous n’avez pas lié votre compte à __provider__. Veuillez vous connecter à votre compte via une autre méthode puis lier votre compte __provider__ dans les paramètres.", + "start_by_adding_your_email": "Commencez par saisir votre adresse courriel.", + "start_free_trial": "Commencer l’essai gratuit !", + "state": "État", + "status_checks": "Vérifications d’état", + "still_have_questions": "Vous avez d’autres questions ?", + "stop_compile": "Arrêter la compilation", + "stop_on_validation_error": "Vérifier la syntaxe avant la compilation", + "store_your_work": "Stockez vos travaux sur votre propre infrastructure", + "student": "Étudiant·e", + "student_disclaimer": "Cette réduction pour l’éducation s’applique à tous les étudiant·e·s des établissements du secondaire ou du supérieur (lycées et universités). Nous pouvons être amenés à vous contacter pour confirmer votre éligibilité à cette réduction.", + "subject": "Objet", + "subject_to_additional_vat": "Selon votre pays, les prix peuvent en plus être sujets à la TVA.", + "submit": "envoyer", + "submit_title": "Publier", + "subscribe": "S’abonner", + "subscription": "Abonnement", + "subscription_admins_cannot_be_deleted": "Vous ne pouvez pas supprimer votre compte car vous avez un abonnement en cours. Veuillez annuler votre abonnement et réessayer. Si vous voyez toujours ce message après lors, veuillez nous contacter.", + "subscription_canceled": "Abonnement annulé", + "subscription_canceled_and_terminate_on_x": " Votre abonnement a été annulé et se terminera le <0>__terminateDate__. Aucun paiement supplémentaire ne vous sera demandé.", + "suggestion": "Suggestion", + "sure_you_want_to_cancel_plan_change": "Êtes-vous sûr(e) de vouloir annuler votre modification prévue d’offre ? Vous resterez abonné à l’offre <0>__planName__.", + "sure_you_want_to_change_plan": "Voulez-vous vraiment changer d’offre pour <0>__planName__ ?", + "sure_you_want_to_delete": "Êtes-vous sûr(e) de vouloir supprimer définitivement les fichiers suivants ?", + "sure_you_want_to_leave_group": "Voulez-vous vraiment quitter ce groupe ?", + "sv": "Suedois", + "sync": "Synchroniser", + "sync_dropbox_github": "Synchroniser avec Dropbox et GitHub", + "sync_project_to_github_explanation": "Tous les modifications effectuées dans __appName__ seront commitées et fusionnées avec les mises à jour existant dans GitHub.", + "sync_to_dropbox": "Synchronisation avec Dropbox", + "sync_to_github": "Synchroniser avec GitHub", + "synctex_failed": "Impossible de trouver le fichier source correspondant", + "syntax_validation": "Vérification du code", + "take_me_home": "Retour à la maison !", + "tc_everyone": "Tout le monde", + "tc_guests": "Invités", + "tc_switch_everyone_tip": "Activer le suivi des modifications pour tout le monde", + "tc_switch_guests_tip": "Activer le suivi des modifications pour les invités par partage de lien", + "tc_switch_user_tip": "Activer le suivi des modifications pour cet·te utilisateur·rice", + "template_description": "Description des modèles", + "template_gallery": "Galerie de modèles", + "template_not_found_description": "Cette méthode de création de projets à partir de modèles n’est plus disponible. Merci de vous rendre sur notre galerie des modèles pour trouver d’autres modèles.", + "template_title_taken_from_project_title": "Le titre du modèle sera repris automatiquement du titre du projet", + "templates": "Modèles", + "terminated": "Compilation annulée", + "terms": "Conditions", + "tex_live_version": "Version de TeX Live", + "thank_you": "Merci", + "thank_you_exclamation": "Merci !", + "thank_you_for_being_part_of_our_beta_program": "Merci de votre participation au programme de bêta, qui vous permet d’accéder en avant-première aux nouvelles fonctionnalités et de nous aider à mieux comprendre vos besoins", + "thanks": "Merci", + "thanks_for_subscribing": "Merci de vous être abonné(e) !", + "thanks_for_subscribing_you_help_sl": "Merci de vous être abonné à l’offre __planName__. C’est grâce au support de personnes comme vous que __appName__ peut prospérer et continuer à s’améliorer.", + "thanks_settings_updated": "Merci, vos réglages ont été mis à jour.", + "the_file_supplied_is_of_an_unsupported_type ": "Le lien pour ouvrir ce contenu sur Overleaf pointe vers un type de fichier invalide. Les types autorisés sont les documents .tex et les archives .zip. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_requested_conversion_job_was_not_found": "Le lien pour ouvrir ce contenu sur Overleaf spécifie une tâche de conversion inconnue. Il est possible que cette tâche ait expiré et qu’elle doive être lancée à nouveau. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_requested_publisher_was_not_found": "Le lien pour ouvrir ce contenu sur Overleaf spécifie un éditeur inconnu. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_required_parameters_were_not_supplied": "Certains paramètres obligatoires sont manquants dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_supplied_parameters_were_invalid": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_supplied_uri_is_invalid": "Le lien pour ouvrir ce contenu sur Overleaf contient une URI invalide. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "their_projects_will_be_transferred_to_another_user": "Leurs projets seront tous transférés à un autre utilisateur de votre choix", + "theme": "Thème", + "then_x_price_per_month": "Puis __price__ par mois", + "then_x_price_per_year": "Puis __price__ par an", + "there_was_an_error_opening_your_content": "Une erreur s’est produite lors de la création de votre projet", + "thesis": "Thèse", + "they_lose_access_to_account": "Leur compte Overleaf sera immédiatement inaccessible", + "this_action_cannot_be_undone": "Cette action est irréversible.", + "this_field_is_required": "Ce champ est requis", + "this_is_your_template": "Ceci est le modèle provenant de votre projet", + "this_project_is_public": "Ce projet est public et peut être édité par n’importe qui disposant de son URL.", + "this_project_is_public_read_only": "Ce projet est public et peut être vu, mais non modifié, par toute personne disposant de son URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Ce projet apparaîtra dans votre dossier Dropbox à ", + "thousands_templates": "Des milliers de modèles", + "three_free_collab": "Trois collaborateurs offerts", + "timedout": "Temps expiré", + "title": "Titre", + "to_add_more_collaborators": "Pour ajouter des collaborateur·rice·s supplémentaires ou pour activer le partage par lien, veuillez vous adresser au propriétaire du projet", + "to_change_access_permissions": "Pour modifier les droits d’accès, contactez le propriétaire du projet", + "to_many_login_requests_2_mins": "Ce compte a reçu trop de demandes de connexion. Veuillez attendre deux minutes avant de tenter une nouvelle connexion", + "to_modify_your_subscription_go_to": "Pour modifier votre abonnement, allez sur", + "toggle_compile_options_menu": "Activer le menu des options de compilation", + "token_access_failure": "Accès refusé ; contactez le propriétaire du projet pour plus d’assistance", + "too_many_attempts": "Trop de tentatives. Veuillez patienter un moment puis réessayer.", + "too_many_files_uploaded_throttled_short_period": "Trop de fichiers téléversés, vos envois ont été mis en attente pour un court instant. Merci d’attendre 15 minutes avant de réessayer.", + "too_many_requests": "Trop de requêtes ont été reçues sur une courte période. Veuillez patienter quelques instants puis réessayer.", + "too_recently_compiled": "Ce projet a été compilé très récemment, cette compilation a donc été passée.", + "tooltip_hide_filetree": "Cliquez pour cacher l’arborescence des fichiers", + "tooltip_hide_pdf": "Cliquez pour cacher le PDF", + "tooltip_show_filetree": "Cliquez pour afficher l’arborescence des fichiers", + "tooltip_show_pdf": "Cliquez pour afficher le PDF", + "total_words": "Total des mots", + "tr": "Turque", + "track_any_change_in_real_time": "Suivez toute modification, en temps réel", + "track_changes": "Suivre les modifications", + "track_changes_is_off": "Le suivi des modifications est désactivé", + "track_changes_is_on": "Le suivi des modifications est activé", + "tracked_change_added": "Ajout de", + "tracked_change_deleted": "Suppression de", + "trash": "Corbeille", + "trash_projects": "Mettre à la corbeille", + "trashed_projects": "Corbeille des projets", + "trashing_projects_wont_affect_collaborators": "Mettre un projet à la corbeille n’affectera pas vos collaborateur·rice·s.", + "tried_to_log_in_with_email": "Vous avez essayé de vous connecter avec __email__.", + "tried_to_register_with_email": "Vous avez essayé de vous inscrire avec l’adresse __email__ qui est déjà inscrite sur un compte institutionnel __appName__.", + "try_again": "Veuillez réessayer", + "try_it_for_free": "Essayez gratuitement", + "try_now": "Essayer maintenant", + "turn_off_link_sharing": "Désactiver le partage par lien", + "turn_on_link_sharing": "Activer le partage par lien", + "uk": "Ukrainien", + "unable_to_extract_the_supplied_zip_file": "L’ouverture de ce contenu sur Overleaf a échoué car l’archive n’a pas pu être extraite. Veuillez vous assurer de la validité de cette archive. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "unarchive": "Restaurer", + "uncategorized": "Non-classés", + "unconfirmed": "Non confirmé", + "university": "Université", + "unlimited": "Illimité", + "unlimited_collabs": "Collaborateurs illimités", + "unlimited_projects": "Projets illimités", + "unlink": "Ne plus lier", + "unlink_github_repository": "Annuler le lien avec le dépôt GitHub", + "unlink_github_warning": "Tous les projets que vous avez synchronisés avec GitHub seront déconnectés et ne seront plus maintenu synchronisés avec GitHub. Voulez-vous vraiment ne plus lier votre compte GitHub ?", + "unlink_reference": "Ne plus lier le fournisseur de références", + "unlink_warning_reference": "Attention : si vous supprimez le lien entre votre compte et ce fournisseur, vous ne pourrez plus importer des références dans vos projets.", + "unlinking": "Annuler le lien", + "unpublish": "Dépublier", + "unpublishing": "Dépublication en cours", + "unsubscribe": "Se désabonner", + "unsubscribed": "Désabonné(e)", + "unsubscribing": "Désabonnement en cours", + "untrash": "Restaurer", + "update": "Mettre à jour", + "update_account_info": "Mettre à jour les infos du compte", + "update_dropbox_settings": "Mettre à jour vos paramètres Dropbox", + "update_your_billing_details": "Mettre à jour vos données de facturation", + "updating_site": "Mise à jour du site", + "upgrade": "Mettre à niveau", + "upgrade_cc_btn": "Mettez à niveau maintenant, payez dans 7 jours", + "upgrade_now": "Mettre à niveau maintenant", + "upgrade_to_get_feature": "Mettre à niveau pour profiter de __feature__, plus :", + "upgrade_to_track_changes": "Mettez à niveau pour suivre les modifications", + "upload": "Importer", + "upload_failed": "Échec du téléversement", + "upload_project": "Importer un projet", + "upload_zipped_project": "Importer un projet zippé", + "url_to_fetch_the_file_from": "Récupérer le fichier depuis l’URL", + "use_your_own_machine": "Utilisez votre propre machine, avec votre propre installation", + "user_already_added": "Utilisateur·rice déjà ajouté·e", + "user_deletion_error": "Désolé, quelque chose n’a pas fonctionné lors de la suppression de votre compte. Veuillez réessayer dans une minute.", + "user_not_found": "Utilisateur·rice inconnu·e", + "user_wants_you_to_see_project": "__username__ souhaiterait que vous rejoigniez __projectname__", + "validation_issue_entry_description": "Un problème de validation qui a empêché la compilation de ce projet", + "vat_number": "Numéro de TVA", + "view_all": "Tout voir", + "view_in_template_gallery": "Voir dans la galerie des modèles", + "view_logs": "Voir les journaux", + "view_pdf": "Voir le PDF", + "view_your_invoices": "Voir vos factures", + "want_change_to_apply_before_plan_end": "Si vous souhaitez que cette modification prenne effet avant la fin de l’échéance actuelle de facturation, veuillez nous contacter.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Nous n’avons trouvé aucune section ou sous-section dans ce fichier", + "we_logged_you_in": "Nous vous avons connecté.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Nous serons également amenés à vous inviter par courriel à participer à des sondages ou à d’autres initiatives de recherche utilisateur", + "wed_love_you_to_stay": "Nous aimerions beaucoup que vous restiez", + "welcome_to_sl": "Bienvenue dans __appName__", + "why_latex": "Pourquoi LaTeX?", + "wide": "Large", + "will_need_to_log_out_from_and_in_with": "Vous devrez vous déconnecter de votre compte __email1__ et vous reconnecter sur votre compte __email2__.", + "word_count": "Nombre de mots", + "work_offline": "Travaillez hors ligne", + "work_with_non_overleaf_users": "Travaillez avec des utilisateurs hors de Overleaf", + "x_price_for_first_month": "<0>__price__ pour votre premier mois", + "x_price_for_first_year": "<0>__price__ pour votre première année", + "x_price_per_year": "<0>__price__ par an", + "year": "année", + "you_can_now_log_in_sso": "Vous pouvez maintenant vous connecter via votre établissement pour potentiellement bénéficier de <0>fonctionnalités professionnelles __appName__ gratuites !", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Vous pouvez rejoindre ou quitter le programme à tout moment depuis cette page", + "you_have_added_x_of_group_size_y": "Vous avez ajouté <0>__addedUsersSize__ membres sur les <1>__groupSize__ disponibles", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Vous pourrez nous contacter à tout moment pour donner votre avis", + "you_will_be_able_to_reassign_subscription": "Vous pourrez réattribuer leur abonnement à une autre personne de votre organisation", + "your_affiliation_is_confirmed": "Votre affiliation à <0>__institutionName__ est validée.", + "your_message_to_collaborators": "Envoyez un message à vos collaborateur·rice·s", + "your_new_plan": "Votre nouvelle offre", + "your_password_has_been_successfully_changed": "Votre mot de passe a été changé avec succès", + "your_plan": "Votre offre", + "your_plan_is_changing_at_term_end": "Votre offre changera vers <0>__pendingPlanName__ à la fin de l’échéance de facturation en cours.", + "your_projects": "Mes projets", + "your_role": "Votre rôle", + "your_sessions": "Vos sessions", + "your_subscription": "Votre abonnement", + "your_subscription_has_expired": "Votre abonnement a expiré", + "zh-CN": "Chinois", + "zip_contents_too_large": "Contenu de l’archive trop volumineux", + "zoom_in": "Zoomer", + "zoom_out": "Dézoomer", + "zotero": "Zotero", + "zotero_groups_loading_error": "Le chargement des groupes Zotero a échoué", + "zotero_integration": "Intégration Zotero", + "zotero_is_premium": "L’intégration Zotero est une fonctionnalité premium", + "zotero_reference_loading_error": "Erreur, impossible de charger les références depuis Zotero", + "zotero_reference_loading_error_expired": "Le jeton Zotero est expiré, veuillez lier à nouveau votre compte", + "zotero_reference_loading_error_forbidden": "Impossible de charger les références de Zotero, veuillez lier à nouveau votre compte et réessayer.", + "zotero_sync_description": "Avec l’intégration Zotero, vous pouvez importer vos références à partir de Zotero dans vos projets __appName__." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/it.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/it.json new file mode 100644 index 0000000..cc0a628 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/it.json @@ -0,0 +1,394 @@ +{ + "About": "About", + "Account": "Account", + "Account Settings": "Impostazioni Account", + "Documentation": "Documentazione", + "Projects": "Progetti", + "Security": "Sicurezza", + "Subscription": "Abbonamento", + "Terms": "Termini", + "Universities": "Università", + "about": "About", + "about_to_delete_projects": "Stai per eliminare i seguenti progetti:", + "about_to_leave_projects": "Stai per abbandonare i seguenti progetti:", + "account": "Account", + "account_not_linked_to_dropbox": "Il tuo account non è collegato a Dropbox", + "account_settings": "Impostazioni Account", + "actions": "Azioni", + "add": "Aggiungi", + "add_more_members": "Aggiungi membri", + "add_your_first_group_member_now": "Aggiungi ora i primi membri del gruppo", + "added": "aggiunto", + "adding": "Aggiunta", + "address": "Indirizzo", + "admin": "admin", + "all_projects": "Tutti i progetti", + "all_templates": "Tutti i Modelli", + "already_have_sl_account": "Hai già un account __appName__?", + "and": "e", + "annual": "Annuale", + "anonymous": "Anonimo", + "april": "Aprile", + "august": "Agosto", + "auto_complete": "Auto-completamento", + "back_to_your_projects": "Indietro ai tuoi progetti", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Progetto Vuoto", + "blog": "Blog", + "built_in": "Built-In", + "can_edit": "Può Modificare", + "cancel": "Annulla", + "cancel_my_account": "Interrrompi il mio abbonamento", + "cancel_your_subscription": "Interrrompi il tuo abbonamento", + "cant_find_email": "Spiacenti, quell’indirizzo email non è registrato.", + "cant_find_page": "Spiacenti, non riusciamo a trovare la pagina che stai cercando.", + "change": "Cambia", + "change_password": "Cambia Password", + "change_plan": "Modifica piano", + "change_to_this_plan": "Cambia a questo piano", + "chat": "Chat", + "checking_dropbox_status": "controllando lo stato di Dropbox", + "checking_project_github_status": "Controllo dello stato del progetto GitHub", + "choose_your_plan": "Scegli il tuo piano", + "city": "Città", + "clear_cached_files": "Pulisci file in cache", + "clearing": "Pulizia in corso", + "click_here_to_view_sl_in_lng": "Clicca qui per usare __appName__ in <0>__lngName__", + "close": "Chiudi", + "cn": "Cinese (Semplificato)", + "collaboration": "Collaborazione", + "collaborator": "Collaboratore", + "collabs_per_proj": "__collabcount__ collaboratori per progetto", + "comment": "Commento", + "commit": "Commit", + "common": "Comune", + "compile_larger_projects": "Compila progetti più grandi", + "compiler": "Compilatore", + "compiling": "Compilazione", + "complete": "Completo", + "confirm_new_password": "Conferma Nuova Password", + "connected_users": "Utenti collegati", + "connecting": "Connessione", + "contact": "Contatti", + "contact_us": "Contattaci", + "continue_github_merge": "Ho eseguito l’unione manuale. Continua", + "copy": "Copia", + "copy_project": "Copia Progetto", + "copying": "copia in corso", + "country": "Nazione", + "coupon_code": "codice coupon", + "create": "Crea", + "create_new_subscription": "Crea Nuovo Abbonamento", + "create_project_in_github": "Crea un repository GitHub", + "creating": "Creazione", + "credit_card": "Carta di Credito", + "cs": "Ceco", + "current_password": "Password Attuale", + "currently_subscribed_to_plan": "Sei attualmente abbonato al piano <0>__planName__.", + "da": "Danese", + "de": "Tedesco", + "december": "Dicembre", + "delete": "Elimina", + "delete_account": "Elimina Account", + "delete_your_account": "Elimina il tuo account", + "deleting": "Eliminando", + "disconnected": "Disconnesso", + "documentation": "Documentazione", + "doesnt_match": "Non corrisponde", + "done": "Fatto", + "download": "Scarica", + "download_pdf": "Scarica PDF", + "download_zip_file": "Scarica file .zip", + "dropbox_sync": "Sincronizzazione Dropbox", + "dropbox_sync_description": "Mantieni i tuoi progetti __appName__ in sincrono con il tuo Dropbox. Le modifiche in __appName__ saranno automaticamente inviate nel tuo Dropbox, e viceversa.", + "editing": "Modifica", + "editor_disconected_click_to_reconnect": "Editor disconnesso, clicca in qualsiasi punto per riconnettere.", + "email": "Email", + "email_link_expired": "Collegamento email scaduto, per favore richiedine un altro.", + "email_or_password_wrong_try_again": "La tua email o password è errata.", + "en": "Inglese", + "es": "Spagnolo", + "every": "ogni", + "example_project": "Progetto di Esempio", + "expiry": "Data Scadenza", + "export_project_to_github": "Esporta Progetto in GitHub", + "features": "Caratteristiche", + "february": "Febbraio", + "first_name": "Nome", + "folders": "Cartelle", + "font_size": "Grandezza Font", + "forgot_your_password": "Password dimenticata", + "fr": "Francese", + "free": "Gratis", + "free_dropbox_and_history": "Dropbox e storia gratuita", + "full_doc_history": "Storia completa del documento", + "generic_something_went_wrong": "Spiacenti, qualcosa è andato storto :(", + "get_in_touch": "Contattaci", + "git": "Git", + "github_commit_message_placeholder": "Messaggio di commit per le modifiche effettuate in __appName__...", + "github_is_premium": "La sincronizzazione GitHub è una funzionalità premium", + "github_public_description": "Chiunque può visualizzare il repository. Puoi scegliere chi può eseguire commit.", + "github_successfully_linked_description": "Grazie, abbiamo collegato con successo il tuo account GitHub a __appName__ . Adesso puoi esportare i progetti __appName__ in GitHub, o importarli dai tuoi repository GitHub.", + "github_sync": "Sincronizzazione GitHub", + "github_sync_description": "Con GitHub Sync puoi collegare i tuoi progetti __appName__ a repository GitHub. Crea nuovi commit da __appName__ e unisci con commit fatti offline o su GitHub.", + "github_sync_error": "Spiacenti, c’è stato un errore con la comunicazione con GitHub. Si prega di riprovare fra poco.", + "github_validation_check": "Per favore, controlla che il nome del repository sia valido, e che tu abbia i permessi per crearlo.", + "global": "globale", + "go_to_code_location_in_pdf": "Vai a riga in PDF", + "go_to_pdf_location_in_code": "Vai a locazione PDF in codice", + "group_admin": "Amministratore Gruppo", + "groups": "Gruppi", + "have_more_days_to_try": "Hai altri __days__ giorni nel tuo Trial!", + "headers": "Intestazioni", + "help": "Aiuto", + "hotkeys": "Scorciatoie", + "i_want_to_stay": "Voglio rimanere", + "ill_take_it": "Mi va bene!", + "import_from_github": "Importa da GitHub", + "import_to_sharelatex": "Importa in __appName__", + "importing": "Importazione", + "importing_and_merging_changes_in_github": "Importazione e unione modifiche in GitHub", + "indvidual_plans": "Piani Individuali", + "info": "Info", + "institution": "Istituzione", + "it": "Italiano", + "ja": "Giapponese", + "january": "Gennaio", + "join_sl_to_view_project": "Unisciti a __appName__ per vedere questo progetto", + "july": "Luglio", + "june": "Giugno", + "keybindings": "Associazioni tasti", + "ko": "Coreano", + "language": "Lingua", + "last_modified": "Ultima Modifica", + "last_name": "Cognome", + "latex_templates": "Modelli LaTeX", + "learn_more": "Scopri di più", + "link_to_github": "Collega il tuo account GitHub", + "link_to_github_description": "Devi autorizzare __appName__ ad accedere al tuo account GitHub per permetterci di sincronizzare i tuoi progetti.", + "links": "Link", + "loading": "Caricamento", + "loading_github_repositories": "Caricamento dei tuoi repository GitHub", + "loading_recent_github_commits": "Caricamento di commit recenti", + "log_in": "Entra", + "log_out": "Log Out", + "logging_in": "Entrata in corso", + "login": "Entra", + "login_here": "Entra qui", + "logs_and_output_files": "Log e file di output", + "lost_connection": "Connessione Persa", + "main_document": "Documento principale", + "maintenance": "Manutenzione", + "make_private": "Rendi Privato", + "march": "Marzo", + "math_display": "Formule Mostrate", + "math_inline": "Formule In Linea", + "maximum_files_uploaded_together": "Massimo __max__ file caricati insieme", + "may": "Maggio", + "menu": "Menu", + "merge": "Unisci", + "merging": "Unione", + "month": "mese", + "monthly": "Mensile", + "more": "Più", + "must_be_email_address": "Deve essere un indirizzo email", + "name": "Nome", + "native": "nativo", + "navigation": "Navigazione", + "need_anything_contact_us_at": "Per qualsiasi bisogno puoi contattarci direttamente al", + "need_to_leave": "Vuoi andare via?", + "need_to_upgrade_for_more_collabs": "Devi eseguire l’upgrade dell’account per aggiungere più collaboratori", + "new_file": "Nuovo file", + "new_folder": "Nuova cartella", + "new_name": "Nuovo Nome", + "new_password": "Nuova Password", + "new_project": "Nuovo Progetto", + "next_payment_of_x_collectected_on_y": "Il prossimo pagamento di <0>__paymentAmmount__ sarà riscosso il <1>__collectionDate__", + "nl": "Olandese", + "no": "Norvegese", + "no_members": "Nessun membro", + "no_messages": "Nessun messaggio", + "no_new_commits_in_github": "Nessun nuovo commit in GitHub dall’ultima unione.", + "no_planned_maintenance": "Non c’è nessuna manutenzione correntemente pianificata", + "no_preview_available": "Spiacenti, non è disponibile nessuna anteprima.", + "no_projects": "Nessun progetto", + "no_thanks_cancel_now": "No, grazie - Voglio ancora annullare", + "not_now": "Non adesso", + "november": "Novembre", + "october": "Ottobre", + "off": "Off", + "ok": "OK", + "one_collaborator": "Solo un collaboratore", + "one_free_collab": "Un collaboratore gratuito", + "online_latex_editor": "Editor LaTeX online", + "optional": "Opzionale", + "or": "o", + "other_logs_and_files": "Altri log & file", + "over": "su", + "owner": "Proprietario", + "page_not_found": "Pagina Non Trovata", + "password": "Password", + "password_reset": "Reimposta la Password", + "password_reset_email_sent": "Ti abbiamo inviato una email per completare il reset della password.", + "password_reset_token_expired": "Il tuo codice di password reset è scaduto. Per favore, richiedi una nuova password per email e segui il link che ti verrà fornito.", + "pdf_viewer": "Visualizzatore PDF", + "personal": "Personale", + "pl": "Polacco", + "planned_maintenance": "Manutenzione Pianificata", + "plans_amper_pricing": "Piani & Costi", + "plans_and_pricing": "Piani e Costi", + "please_compile_pdf_before_download": "Per favore, compila il progetto prima di scariare il PDF", + "please_compile_pdf_before_word_count": "Per favore, compila il tuo progetto prima di eseguire il conteggio parole", + "please_enter_email": "Per favore inserisci il tuo indirizzo email", + "please_refresh": "Per favore, aggiorna la pagina per continuare.", + "position": "Posizione", + "presentation": "Presentazione", + "price": "Costo", + "privacy": "Privacy", + "privacy_policy": "Privacy Policy", + "private": "Privato", + "problem_changing_email_address": "C’è stato un problema durante la modifica del tuo indirizzo email. Per favore, riprova fra qualche momento. Se il problema persiste non esitare a contattarci.", + "problem_talking_to_publishing_service": "C’è un problema con il nostro servizio di pubblicazione, si prega di riprovare fra qualche minuto", + "problem_with_subscription_contact_us": "C’è un problema con il tuo abbonamento. Ti preghiamo di contattarci per altre informazioni.", + "processing": "processamento", + "professional": "Professionale", + "project_last_published_at": "Il tuo progetto è stato pubblicato l’ultima volta alle", + "project_name": "Nome Progetto", + "project_not_linked_to_github": "Questo progetto non è collegato ad un repository GitHub. Puoi creare un repository apposito in GitHub:", + "project_synced_with_git_repo_at": "Questo progetto è sincronizzato con il repository GitHub a", + "project_too_large": "Progetto troppo grande", + "project_too_large_please_reduce": "Questo progetto contiene troppo testo, per favore prova a ridurlo.", + "projects": "Progetti", + "pt": "Portoghese", + "public": "Pubblico", + "publish": "Pubblica", + "publish_as_template": "Pubblica come Modello", + "publishing": "Pubblicazione", + "pull_github_changes_into_sharelatex": "Aggiorna da modifiche in GitHub verso __appName__", + "push_sharelatex_changes_to_github": "Invia le modifiche __appName__ a GitHub", + "read_only": "Sola Lettura", + "recent_commits_in_github": "Commit recenti in GitHub", + "recompile": "Ricompila", + "reconnecting": "Riconnessione", + "reconnecting_in_x_secs": "Riconnessione fra __seconds__ secondi", + "refresh_page_after_starting_free_trial": "Per favore aggiorna questa pagina dopo l’inizio del tuo trial gratuito.", + "regards": "Saluti", + "register": "Registrati", + "register_to_edit_template": "Per favore registrati per modificare il modello __templateName__", + "registered": "Registrato", + "registering": "Registrazione in corso", + "remove_collaborator": "Rimuovi collaboratore", + "remove_from_group": "Rimuovi da gruppo", + "removed": "rimosso", + "removing": "Rimozione", + "rename": "Rinomina", + "rename_project": "Rinomina Progetto", + "renaming": "Ridenominazione", + "repository_name": "Nome Repository", + "republish": "Ri-pubblica", + "request_password_reset": "Richiedi reset della password", + "required": "richiesto", + "reset_password": "Ripristino Password", + "reset_your_password": "Reimposta la tua password", + "restore": "Ripristina", + "restoring": "Ripristinando", + "restricted": "Limitato", + "restricted_no_permission": "Vietato, ci dispiace ma non hai i permessi per caricare questa pagina.", + "ro": "Rumeno", + "role": "Ruolo", + "ru": "Russo", + "saving": "Salvataggio", + "saving_notification_with_seconds": "Salvataggio in corso di __docname__... (__seconds__ secondi di modifiche non salvate)", + "search_projects": "Cerca progetti", + "security": "Sicurezza", + "select_github_repository": "Seleziona un repository GitHub da importare in __appName__.", + "send_first_message": "Invia il tuo primo messaggio", + "september": "Settembre", + "server_error": "Errore Server", + "services": "Servizi", + "session_expired_redirecting_to_login": "Sessione scaduta. Redirezione alla pagina di login fra __seconds__ secondi", + "set_new_password": "Imposta nuova password", + "set_password": "Imposta Password", + "settings": "Impostazioni", + "share": "Condividi", + "share_project": "Condividi Progetto", + "share_with_your_collabs": "Condividi con i tuoi collaboratori", + "shared_with_you": "Condiviso con te", + "show_hotkeys": "Mostra Hotkeys", + "somthing_went_wrong_compiling": "Spiacenti, qualcosa è andato storto e il tuo progetto non è stato compilato. Si prega di riprovare fra qualche momento.", + "source": "Sorgente", + "spell_check": "Controllo Lingua", + "start_free_trial": "Inizia Trial Gratuito!", + "state": "Nazione", + "student": "Studente", + "subscribe": "Abbonati", + "subscription": "Abbonamento", + "subscription_canceled_and_terminate_on_x": " Il tuo abbonamento è stato annullato e terminerà il <0>__terminateDate__. Non saranno addebitati ulteriori costi.", + "sure_you_want_to_change_plan": "Sei sicuro di voler cambiare il piano a <0>__planName__?", + "sv": "Svedese", + "sync": "Sincronizza", + "sync_project_to_github_explanation": "Tutte le modifiche fatte in __appName__ saranno inviate e unite con tutti gli aggiornamenti in GitHub.", + "sync_to_dropbox": "Sincronizzazione con Dropbox", + "sync_to_github": "Sincronizza con GitHub", + "take_me_home": "Portami nella home!", + "template_description": "Descrizione del Modello", + "templates": "Modelli", + "terms": "Termini", + "thank_you": "Grazie", + "thanks": "Grazie", + "thanks_for_subscribing": "Grazie per esserti abbonato!", + "thanks_for_subscribing_you_help_sl": "Grazie per esserti abbonato al piano __planName__. E’ il supporto di persone come te che permettono a __appName__ di continuare a crescere e migliorare.", + "thanks_settings_updated": "Grazie, le tue impostazioni sono state aggiornate.", + "theme": "Tema", + "thesis": "Tesi", + "this_is_your_template": "Questo è il template del tuo progetto", + "this_project_is_public": "Questo progetto è pubblico e può essere modificato da chiunque con la URL.", + "this_project_is_public_read_only": "Questo progetto è pubblico e può essere visualizzato, ma non modificato, da chiunque abbia la URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Questo progetto apparirà nella tua cartella Dropbox in ", + "three_free_collab": "Tre collaboratori gratuiti", + "timedout": "Errore di time out", + "title": "Titolo", + "to_many_login_requests_2_mins": "Questo account ha ricevuto troppe richieste di login. Per favore, attendi 2 minuti prima di riprovare ad entrare", + "too_many_files_uploaded_throttled_short_period": "Troppi file caricati, i tuoi caricamenti sono stati limitati per un breve periodo.", + "total_words": "Parole Totali", + "tr": "Turco", + "trash": "Cestino", + "try_now": "Prova Ora", + "uk": "Ucraino", + "university": "Università", + "unlimited_collabs": "Collaboratori illimitati", + "unlimited_projects": "Progetti illimitati", + "unlink": "Scollega", + "unlink_github_warning": "Qualsiasi progetto sincronizzato con GitHub sarà disconnesso e non sarà più mantenuto sincronizzato con GitHub. Sei sicuro di voler scollegare il tuo account GitHub?", + "unpublish": "De-pubblica", + "unpublishing": "Rimozione pubblicazione", + "unsubscribe": "Cancellati", + "unsubscribed": "Cancellato", + "unsubscribing": "Cancellando", + "update": "Aggiorna", + "update_account_info": "Aggiorna Info Account", + "update_dropbox_settings": "Aggiorna Impostazioni Dropbox", + "update_your_billing_details": "Aggiorna Dettagli di Pagamento", + "updating_site": "Aggiornamento del Sito", + "upgrade": "Upgrade", + "upgrade_now": "Effettua l’Upgrade", + "upgrade_to_get_feature": "Esegui l’upgrade per avere __feature__, oltre a:", + "upload": "Carica", + "upload_project": "Carica Progetto", + "upload_zipped_project": "Carica Progetto Zip", + "user_wants_you_to_see_project": "__username__ vorrebbe che tu vedessi __projectname__", + "vat_number": "Partita IVA", + "view_all": "Visualizza Tutto", + "view_in_template_gallery": "Visualizza nella galleria modelli", + "view_your_invoices": "Visualizza le tue fatture", + "welcome_to_sl": "Benvenuto a __appName__", + "word_count": "Conteggio Parole", + "year": "anno", + "you_have_added_x_of_group_size_y": "Hai aggiunto <0>__addedUsersSize__ membri su <1>__groupSize__ disponibili.", + "your_plan": "Il tuo piano", + "your_projects": "Tuoi Progetti", + "your_subscription": "Il tuo abbonamento", + "your_subscription_has_expired": "Il tuo abbonamento è scaduto.", + "zh-CN": "Cinese" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ja.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ja.json new file mode 100644 index 0000000..b4f0d92 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ja.json @@ -0,0 +1,505 @@ +{ + "About": "概要", + "Account": "アカウント", + "Account Settings": "アカウントの設定", + "Documentation": "ドキュメンテーション", + "Projects": "プロジェクト", + "Security": "セキュリティ", + "Subscription": "購読", + "Terms": "規約", + "Universities": "大学", + "about": "概要", + "about_to_delete_projects": "次ののプロジェクトを削除します:", + "about_to_leave_projects": "次のプロジェクトから離れようとしています:", + "accepting_invite_as": "この招待を以下のメールアドレスで承認します", + "account": "アカウント", + "account_not_linked_to_dropbox": "あなたのアカウントはDropboxと接続されていません", + "account_settings": "アカウントの設定", + "actions": "操作", + "activate": "アクティベート", + "activate_account": "アカウントのアクティベート", + "activating": "アクティベート中", + "activation_token_expired": "アクティベーショントークンの期限が切れています。新しいトークンが必要となります。", + "add": "追加", + "add_more_members": "メンバーの追加", + "add_your_first_group_member_now": "最初のグループメンバーを今すぐ追加", + "added": "追加", + "adding": "追加中", + "address": "住所", + "admin": "管理", + "all_projects": "すべてのプロジェクト", + "all_templates": "テンプレート一覧", + "already_have_sl_account": "__appName__ のアカウントをすでにお持ちですか?", + "and": "と", + "annual": "年間", + "anonymous": "匿名", + "april": "4月", + "ask_proj_owner_to_upgrade_for_references_search": "アップグレードして参照検索機能を使用するには、プロジェクトオーナーにお問い合わせください。", + "august": "8月", + "auto_complete": "オートコンプリート", + "autocomplete": "オートコンプリート", + "autocomplete_references": "参照オートコンプリート(\\cite{}ブロック内)", + "back_to_your_projects": "プロジェクトに戻る", + "beta": "ベータ", + "beta_program_already_participating": "ベータプログラムに参加しています。", + "beta_program_badge_description": "__appName__の使用中は、ベータ機能にこのバッジが付いています:", + "beta_program_benefits": "当社は絶えず__appName__を改善しています。当社のベータプログラムに参加することによって、新しい機能にいち早くアクセスし、当社がお客さまのニーズをより良く理解できるようサポートすることができます。", + "beta_program_opt_in_action": "ベータプログラムにオプトイン", + "beta_program_opt_out_action": "ベータプログラムからオプトアウト", + "bibliographies": "参考文献", + "blank_project": "空のプロジェクト", + "blog": "ブログ", + "built_in": "組み込み", + "can_edit": "編集可能", + "cancel": "取消", + "cancel_my_account": "購読をキャンセル", + "cancel_personal_subscription_first": "個人購読をすでに申し込んでいます。これをキャンセルしてグループライセンスに参加しますか?", + "cancel_your_subscription": "購読を中止", + "cannot_invite_non_user": "招待を送信することができません。受信者が__appName__アカウントを所持している必要があります。", + "cant_find_email": "このメールアドレスは登録されていません。申し訳ありません。", + "cant_find_page": "申し訳ありません。お探しのページは見つかりませんでした。", + "change": "変更", + "change_password": "パスワードの変更", + "change_plan": "プランの変更", + "change_to_this_plan": "このプランに変更", + "chat": "チャット", + "checking": "確認中", + "checking_dropbox_status": "Dropboxの状態を確認中", + "checking_project_github_status": "GitHubのプロジェクトステータスを確認中", + "choose_your_plan": "プランの選択", + "city": "市町村", + "clear_cached_files": "キャッシュファイルを削除", + "clear_sessions": "セッションのクリア", + "clear_sessions_description": "これはお客さまのアカウントでアクティブなセッション(ログイン)の一覧です。現在のセッションは含まれていません。下の「セッションのクリア」ボタンをクリックしてログアウトします。", + "clear_sessions_success": "セッションがクリアされました", + "clearing": "削除中", + "click_here_to_view_sl_in_lng": "こちらをクリックして <0>__lngName__ で __appName__ を使用", + "close": "閉じる", + "clsi_maintenance": "コンパイルサーバーはメンテナンス中です。間もなく復旧します。", + "cn": "中国語(簡体字)", + "collaboration": "コラボレーション", + "collaborator": "共同編集者", + "collabs_per_proj": "プロジェクトあたりの __collabcount__ 共同編集者", + "comment": "コメント", + "commit": "コミット", + "common": "共通", + "compile_larger_projects": "大きなプロジェクトをコンパイル", + "compile_mode": "コンパイルモード", + "compile_terminated_by_user": "「コンパイルの中止」ボタンを押してコンパイルがキャンセルされました。RAWログを表示して、コンパイルが停止した場所を確認することができます。", + "compiler": "コンパイラ", + "compiling": "コンパイル中", + "complete": "完了", + "confirm": "確認", + "confirm_new_password": "新しいパスワードの再入力", + "conflicting_paths_found": "競合パスが見つかりました", + "connected_users": "接続したユーザー", + "connecting": "接続中", + "contact": "お問い合わせ", + "contact_message_label": "メッセージ", + "contact_us": "お問い合わせ", + "continue_github_merge": "手動で統合。続行", + "copy": "コピーする", + "copy_project": "プロジェクトのコピー", + "copying": "コピー中", + "country": "国", + "coupon_code": "クーポンコード", + "create": "作成", + "create_first_admin_account": "初めての管理者アカウントの作成", + "create_new_subscription": "新しい購読の作成", + "create_project_in_github": "GitHubリポジトリの作成", + "creating": "作成中", + "credit_card": "クレジットカード", + "cs": "チェコ語", + "current_password": "現在のパスワード", + "currently_subscribed_to_plan": "あなたは現在 <0>__planName__ プランを購読しています。", + "da": "デンマーク語", + "de": "ドイツ語", + "december": "12月", + "delete": "削除", + "delete_account": "アカウントの削除", + "delete_account_warning_message_3": "プロジェクトや設定などの アカウントのデータをすべて削除 しようとしています。続行するには下のボックスにお客さまのアカウントのメールアドレスとパスワードを入力してください。", + "delete_and_leave_projects": "プロジェクトを削除・退出", + "delete_projects": "プロジェクトの削除", + "delete_your_account": "アカウントの削除", + "deleting": "削除中", + "disconnected": "非接続", + "documentation": "ドキュメンテーション", + "doesnt_match": "不一致", + "done": "完了", + "download": "ダウンロード", + "download_pdf": "PDFをダウンロード", + "download_zip_file": "ZIPファイルをダウンロード", + "dropbox_sync": "Dropbox同期", + "dropbox_sync_description": "__appName__ プロジェクトをDropboxと同期しましょう。__appName__ の変更が自動的にDropboxに送信されます。その逆も同じです。", + "editing": "編集中", + "editor_disconected_click_to_reconnect": "エディターの接続が切れました。どこかをクリックして再接続。", + "email": "電子メール", + "email_already_registered": "このメールアドレスはすでに登録されています", + "email_link_expired": "メールのリンクの有効期限が切れています。新しいリンクをリクエストしてください。", + "email_or_password_wrong_try_again": "メールアドレスまたはパスワードが正しくありません。再度お試しください", + "email_sent": "メールが送信されました", + "en": "英語", + "error": "エラー", + "es": "スペイン語", + "every": "毎", + "example_project": "プロジェクト例", + "expiry": "有効期限", + "export_project_to_github": "プロジェクトをGitHubにエクスポート", + "fast": "ファスト", + "features": "機能", + "february": "2月", + "files_cannot_include_invalid_characters": "ファイルには「*」や「/」などの文字を含めることはできません", + "first_name": "名", + "folders": "フォルダ", + "following_paths_conflict": "次のファイルとフォルダーは同一のパスと競合しています", + "font_size": "フォントサイズ", + "forgot_your_password": "パスワード紛失", + "fr": "フランス語", + "free": "無料", + "free_dropbox_and_history": "無料Dropbox・履歴", + "full_doc_history": "すべてのドキュメントの履歴", + "generic_something_went_wrong": "申し訳ありません。エラーが発生しました", + "get_in_touch": "お問い合わせ", + "github_commit_message_placeholder": "__appName__ で行われた変更のコミットメッセージ…", + "github_is_premium": "GitHub統合はプレミアム機能です", + "github_public_description": "このリポジトリは全員が閲覧できます。コミットできる人を選択します。", + "github_successfully_linked_description": "ありがとうございます。GitHubアカウントと __appName__ のリンクが完了しました。これからは __appName__ プロジェクトをGitHubにエクスポート、あるいはGitHubリポジトリからプロジェクトのインポートをすることができます。", + "github_sync": "GitHub同期", + "github_sync_description": "GitHub Syncがあれば、__appName__ プロジェクトとGitHubリポジトリを接続することができます。__appName__ から新しいコミットを作成して、オフラインあるいはGitHubで作成したコミットと統合できます。", + "github_sync_error": "申し訳ありません。GitHubサービスとの接続に問題が発生しました。しばらく時間を置いて再度お試しください。", + "github_validation_check": "リポジトリ名が有効か、リポジトリを作成する権限があるか確認してください。", + "global": "グローバル", + "go_to_code_location_in_pdf": "PDFのコードロケーションに進む", + "go_to_pdf_location_in_code": "コードのPDFロケーションに進む", + "group_admin": "グループ管理", + "groups": "グループ", + "have_more_days_to_try": "トライアルがまだ__days__ 日残っています!", + "headers": "ヘッダー", + "help": "ヘルプ", + "history": "履歴", + "hotkeys": "ショートカットキー", + "i_want_to_stay": "留まります", + "ignore_validation_errors": "シンタックスをチェックしない", + "ill_take_it": "これにします!", + "import_from_github": "GitHubからインポート", + "import_to_sharelatex": "__appName__ にインポート", + "importing": "インポート中", + "importing_and_merging_changes_in_github": "GitHubの変更をインポートおよび統合中", + "indvidual_plans": "それぞれのプラン", + "info": "情報", + "institution": "組織", + "invalid_file_name": "無効なファイル名", + "invalid_password": "パスワードの入力に誤りがあります", + "invite_not_accepted": "招待はまだ承認されていません", + "invite_not_valid": "これは有効なプロジェクト招待ではありません", + "invite_not_valid_description": "招待の有効期限が切れている可能性があります。プロジェクトオーナーにお問い合わせください", + "ip_address": "IPアドレス", + "it": "イタリア語", + "ja": "日本語", + "january": "1月", + "join_project": "プロジェクトに参加", + "join_sl_to_view_project": "__appName__ に参加してこのプロジェクトを表示", + "joining": "参加中", + "july": "7月", + "june": "6月", + "kb_suggestions_enquiry": "当社の <0>__kbLink__ を確認しましたか?", + "keybindings": "キー機能設定", + "knowledge_base": "知識ベース", + "ko": "韓国語", + "language": "言語", + "last_modified": "最終変更", + "last_name": "姓", + "latex_templates": "LaTeXテンプレート", + "ldap": "LDAP", + "learn_more": "さらに詳しく", + "leave_group": "グループを退出", + "leave_now": "今すぐ退出", + "leave_projects": "プロジェクトを退出", + "link_to_github": "あなたのGitHubアカウントに接続", + "link_to_github_description": "プロジェクトを同期するには __appName__ があなたのGitHubアカウントにアクセスするのを許可する必要があります。", + "link_to_mendeley": "Mendeleyのリンク", + "link_to_zotero": "Zoteroのリンク", + "links": "リンク", + "loading": "読み込み中", + "loading_github_repositories": "あなたのGitHubリポジトリを読み込み中", + "loading_recent_github_commits": "最新コミットを読み込み中", + "log_hint_extra_info": "詳しく見る", + "log_in": "ログイン", + "log_in_with": "__provider__ でログイン", + "log_out": "ログアウト", + "logging_in": "ログイン中", + "login": "ログイン", + "login_failed": "ログイン失敗", + "login_here": "ここからログイン", + "login_or_password_wrong_try_again": "ログイン情報またはパスワードが正しくありません。再度お試しください", + "logs_and_output_files": "ログと出力ファイル", + "lost_connection": "接続がありません", + "main_document": "主要文書", + "maintenance": "メンテナンス", + "make_private": "非公開にする", + "manage_beta_program_membership": "ベータプログラムメンバーシップを管理", + "manage_sessions": "セッションの管理", + "manage_subscription": "購読管理", + "march": "3月", + "math_display": "マスディスプレイ", + "math_inline": "マスインライン", + "maximum_files_uploaded_together": "最大 __max__ファイルを一緒にアップロード", + "may": "5月", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley統合", + "mendeley_is_premium": "Mendeley統合はプレミアム機能です", + "mendeley_reference_loading_error": "エラー。Mendeleyからリファレンスを読み込むことができませんでした", + "mendeley_reference_loading_error_expired": "Mendeleyトークンの期限が切れました。アカウントを再リンク付けしてください", + "mendeley_reference_loading_error_forbidden": "Mendeleyのリファレンスを読み込むことができませんでした。アカウントを再リンクして、再度お試しください", + "mendeley_sync_description": "Mendeleyを統合すると、Mendeleyから__appName__プロジェクトにリファレンスをインポートすることができます", + "menu": "メニュー", + "merge": "統合", + "merging": "統合中", + "month": "月", + "monthly": "月額", + "more": "さらに", + "must_be_email_address": "有効なメールアドレスを入力してください", + "name": "名前", + "native": "ネイティブ", + "navigation": "ナビゲーション", + "nearly_activated": "あと一歩であなたの__appName__アカウントがアクティべートされます!", + "need_anything_contact_us_at": "必要なことがございましたら、いつでもごこちらまで連絡ください", + "need_to_leave": "アカウントを離れますか?", + "need_to_upgrade_for_more_collabs": "共同編集者をさらに追加するためにはアカウントのアップグレードが必要です。", + "new_file": "新規ファイル", + "new_folder": "新規フォルダ", + "new_name": "新しい名前", + "new_password": "新しいパスワード", + "new_project": "新規プロジェクト", + "next_payment_of_x_collectected_on_y": "<0>__paymentAmmount__ の次回の支払いは<1>__collectionDate__に集金されます", + "nl": "オランダ語", + "no": "ノルウェー語", + "no_members": "メンバーはいません", + "no_messages": "メッセージはありません", + "no_new_commits_in_github": "最終統合からGitHubに新しいコミットはありません。", + "no_other_sessions": "他にアクティブなセッションはありません", + "no_planned_maintenance": "現在予定されているメンテナンスはありません", + "no_preview_available": "申し訳ありません。プレビューは利用できません。", + "no_projects": "プロジェクトはありません", + "no_search_results": "検索結果なし", + "no_thanks_cancel_now": "結構です - 今すぐキャンセルします", + "normal": "ノーマル", + "not_now": "今はまだありません", + "notification_project_invite": "__userName____projectName__ への参加を求めていますプロジェクトに参加", + "november": "11月", + "october": "10月", + "off": "オフ", + "ok": "OK", + "one_collaborator": "共同編集者1人のみ", + "one_free_collab": "1人の無料共同編集者", + "online_latex_editor": "オンラインLaTeXエディター", + "open_a_file_on_the_left": "左のファイルを開く", + "open_project": "プロジェクトを開く", + "optional": "オプショナル", + "or": "または", + "other_actions": "その他の操作", + "other_logs_and_files": "他のログとファイル", + "over": "以上", + "owner": "管理者", + "page_not_found": "ページが見つかりません", + "password": "パスワード", + "password_reset": "パスワードの再設定", + "password_reset_email_sent": "パスワードの再設定を完了するためのメールを送信しました。", + "password_reset_token_expired": "パスワード再設定トークンの期限が切れました。新しいパスワード再設定メールをリクエストして、そこに記載されたリンクにしたがってください。", + "pdf_rendering_error": "PDFレンダリングエラー", + "pdf_viewer": "PDFビューア", + "pending": "承認待ち", + "personal": "個人", + "pl": "ポーランド語", + "planned_maintenance": "定期メンテナンス", + "plans_amper_pricing": "プランと価格", + "plans_and_pricing": "プランと料金", + "please_compile_pdf_before_download": "PDFをダウンロードする前にプロジェクトをコンパイルして下さい", + "please_compile_pdf_before_word_count": "文字数を計算する前にプロジェクトをコンパイルしてください", + "please_enter_email": "メールアドレスを入力してください", + "please_refresh": "続行するにはページの再読み込みを行ってください", + "please_set_a_password": "パスワードを設定してください", + "position": "役職", + "presentation": "プレゼンテーション", + "price": "価格", + "privacy": "プライバシー", + "privacy_policy": "プライバシーポリシー", + "private": "非公開", + "problem_changing_email_address": "メールアドレスの変更に際して問題が発生しました。しばらく時間を置いて再度お試しください。問題が解消されない場合は、当社までお問い合わせください。", + "problem_talking_to_publishing_service": "公開サービスに問題が発生しました。数分後に再度お試しください。", + "problem_with_subscription_contact_us": "定期購読に問題が発生しました。詳細については当社にお問い合わせください。", + "processing": "実行中", + "professional": "プロフェッショナル", + "project_last_published_at": "プロジェクトの最終公開日", + "project_name": "プロジェクト名", + "project_not_linked_to_github": "このプロジェクトはGitHubリポジトリと接続されていません。GitHubでリポジトリを作成できます:", + "project_synced_with_git_repo_at": "このプロジェクトはGitHubリポジトリと同期しています", + "project_too_large": "プロジェクトが大きすぎます", + "project_too_large_please_reduce": "このプロジェクトには編集可能なテキストが多すぎます。テキストを減らしてください。最大ファイルは次の通りです:", + "project_url": "影響を受けたプロジェクトURL", + "projects": "プロジェクト", + "pt": "ポルトガル語", + "public": "公開", + "publish": "公開", + "publish_as_template": "テンプレートとして公開", + "publishing": "公開中", + "pull_github_changes_into_sharelatex": "GitHubの変更を __appName__ に引き込む", + "push_sharelatex_changes_to_github": "__appName__ の変更をGitHubに押し込む", + "read_only": "読み込み専用", + "recent_commits_in_github": "GitHubの最新コミット", + "recompile": "リコンパイル", + "recompile_pdf": "PDFを再コンパイル", + "reconnecting": "再接続中", + "reconnecting_in_x_secs": "__seconds__秒後に再接続", + "reference_error_relink_hint": "エラーが継続して発生する場合は、こちらでアカウントを再リンク付けしてください:", + "refresh_page_after_starting_free_trial": "無料体験を開始したらにこのページの再読み込みを行ってください。", + "regards": "よろしくお願いいたします", + "register": "登録する", + "register_to_edit_template": "__templateName__ テンプレートを編集するには登録してください", + "registered": "登録済み", + "registering": "登録中", + "remove_collaborator": "共同編集者の削除", + "remove_from_group": "グループから削除", + "removed": "削除", + "removing": "削除中", + "rename": "名前の変更", + "rename_project": "プロジェクト名を変更", + "renaming": "名前の変更中", + "repository_name": "リポジトリ名", + "republish": "再公開", + "request_password_reset": "パスワード再設定のリクエスト", + "request_sent_thank_you": "リクエストが送信されました。ありがとうございます。", + "required": "必須", + "resend": "再送信", + "reset_password": "パスワードの再設定", + "reset_your_password": "パスワードの再設定", + "restore": "戻す", + "restoring": "復元中", + "restricted": "制限されています", + "restricted_no_permission": "制限されています。申し訳ありません。このページを読み込む許可が与えられていません。", + "return_to_login_page": "ログインページに戻る", + "revoke_invite": "招待のキャンセル", + "ro": "ルーマニア語", + "role": "役", + "ru": "ロシア語", + "saving": "保存中", + "saving_notification_with_seconds": "__docname__の保存中 (最後の保存から__seconds__秒経過)", + "search_bib_files": "作成者、タイトル、年ごとに検索", + "search_projects": "プロジェクトの検索", + "search_references": "このプロジェクトの.bibファイルを検索", + "security": "セキュリティ", + "select_github_repository": "__appName__ にインポートするGitHubリポジトリを選択。", + "send_first_message": "最初のメッセージを送信", + "september": "9月", + "server_error": "サーバーエラー", + "services": "サービス", + "session_created_at": "作成されたセッション", + "session_expired_redirecting_to_login": "セッション期限切れ。__seconds__秒後にログインぺージにリダイレクトします", + "sessions": "セッション", + "set_new_password": "新しいパスワードの設定", + "set_password": "パスワードの設定", + "settings": "設定", + "share": "共有", + "share_project": "プロジェクトの共有", + "share_with_your_collabs": "共同編集者と共有", + "shared_with_you": "シェアされたプロジェクト", + "sharelatex_beta_program": "__appName__ベータプログラム", + "show_hotkeys": "ショートカットキーの表示", + "site_description": "簡単に使用できるオンラインLaTeXエディター。インストール不要、リアルタイムコラボレーション、バージョン管理、何百種類のLaTeXテンプレートなど多数の機能。", + "something_went_wrong_rendering_pdf": "このPDFのレンダリング中にエラーが発生しました。", + "somthing_went_wrong_compiling": "申し訳ありませんが、なんらかの理由によりあなたのプロジェクトはコンパイルできませんでした。しばらく経ってから再度お試しください。", + "source": "ソース", + "spell_check": "スペルチェック", + "start_free_trial": "無料トライアルを開始!", + "state": "状態", + "status_checks": "ステータスの確認", + "stop_compile": "コンパイルの停止", + "stop_on_validation_error": "コンパイルの前にシンタックスをチェック", + "student": "学生", + "subject": "件名", + "subscribe": "定期購読", + "subscription": "購読", + "subscription_canceled_and_terminate_on_x": " あなたの購読はキャンセルされ、<0>__terminateDate__ に終了します。今後支払いが発生することはありません。", + "suggestion": "提案", + "sure_you_want_to_change_plan": "本当にプランを <0>__planName__ に変えますか?", + "sure_you_want_to_delete": "以下のファイルを完全に消去しますか?", + "sure_you_want_to_leave_group": "このグループから本当に退出しますか?", + "sv": "スェーデン語", + "sync": "同期", + "sync_project_to_github_explanation": "__appName__ で行った変更はすべてGitHubの更新と関連付けられ、統合されます。", + "sync_to_dropbox": "Dropboxとの同期", + "sync_to_github": "GitHubと同期", + "syntax_validation": "コードチェック", + "take_me_home": "元に戻る!", + "template_description": "テンプレート説明", + "templates": "テンプレート", + "terminated": "コンパイルがキャンセルされました", + "terms": "規約", + "thank_you": "ありがとうございます", + "thanks": "ありがとうございます", + "thanks_for_subscribing": "購読ありがとうございます!", + "thanks_for_subscribing_you_help_sl": "__planName__ プランの購読をありがとうございます。あなたのようなサポートが __appName__ の成長を後押ししてくれます。", + "thanks_settings_updated": "ありがとうございます。設定が更新されました。", + "theme": "テーマ", + "thesis": "学位論文", + "this_is_your_template": "これはあなたのプロジェクトのテンプレートです", + "this_project_is_public": "このプロジェクトは公開されておりURLを知っている人なら誰でも編集可能です。", + "this_project_is_public_read_only": "このプロジェクトは公開されており、URLを知っている人に表示されますが、編集はできません。", + "this_project_will_appear_in_your_dropbox_folder_at": "このプロジェクトはあなたのDropboxフォルダに表示されます ", + "three_free_collab": "3人の無料共同編集者", + "timedout": "タイムアウト", + "title": "タイトル", + "to_many_login_requests_2_mins": "このアカウントはあまりに多くのログインリクエストを行っています。2分後に再度ログインしてください", + "to_modify_your_subscription_go_to": "購読を変更するには、次に進んでください", + "too_many_files_uploaded_throttled_short_period": "あまりにも多くのファイルがアップロードされました。アップロードがしばらく調整されます。", + "too_recently_compiled": "プロジェクトは最近コンパイルされました。そのため、このコンパイルはスキップされました。", + "total_words": "合計文字数", + "tr": "トルコ語", + "try_now": "今すぐ試す", + "uk": "ウクライナ語", + "university": "大学", + "unlimited_collabs": "無制限の共同編集者", + "unlimited_projects": "プロジェクト数無制限", + "unlink": "リンク解除", + "unlink_github_warning": "GitHubと同期したプロジェクトは接続を断たれ、GitHubと同期されなくなります。本当にGitHubアカウントの接続を解除しますか?", + "unlink_reference": "リファレンスプロバイダーのリンク解除", + "unlink_warning_reference": "警告:このプロバイダーからアカウントをリンク解除すると、リファレンスをプロジェクトにインポートすることができなくなります。", + "unpublish": "未公開", + "unpublishing": "非公開", + "unsubscribe": "購読中止", + "unsubscribed": "未購読", + "unsubscribing": "購読解除処理中", + "update": "更新", + "update_account_info": "アカウント情報の更新", + "update_dropbox_settings": "Dropboxの設定を更新", + "update_your_billing_details": "支払明細の更新", + "updating_site": "サイトの更新中", + "upgrade": "アップグレード", + "upgrade_cc_btn": "今すぐアップグレード、支払いは1週間後", + "upgrade_now": "今すぐアップグレード", + "upgrade_to_get_feature": "__feature__のアップグレードを取得、プラス:", + "upload": "アップロード", + "upload_project": "プロジェクトのアップロード", + "upload_zipped_project": "ZIPプロジェクトのアップロード", + "user_wants_you_to_see_project": "__username__ が __projectname__ への参加を求めています。", + "vat_number": "VAT番号", + "view_all": "すべて表示", + "view_in_template_gallery": "テンプレートギャラリーで表示", + "welcome_to_sl": "__appName__ にようこそ", + "word_count": "文字数", + "year": "年", + "you_have_added_x_of_group_size_y": "<1>__groupSize__ メンバーの <0>__addedUsersSize__ を追加しました。", + "your_plan": "現在のプラン", + "your_projects": "あなたのプロジェクト", + "your_sessions": "あなたのセッション", + "your_subscription": "あなたの購読内容", + "your_subscription_has_expired": "あなたの購読は有効期限切れです。", + "zh-CN": "中国語", + "zotero": "Zotero", + "zotero_integration": "Zotero統合。", + "zotero_is_premium": "Zotero統合はプレミアム機能です", + "zotero_reference_loading_error": "エラー。Zoteroからリファレンスを読み込むことができませんでした", + "zotero_reference_loading_error_expired": "Zoteroトークンの期限が切れました。アカウントを再リンクしてください", + "zotero_reference_loading_error_forbidden": "Zoteroのリファレンスを読み込むことができませんでした。アカウントを再リンクして、再度お試しください", + "zotero_sync_description": "Zoteroを統合すると、Zoteroから__appName__プロジェクトにリファレンスをインポートすることができます。" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ko.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ko.json new file mode 100644 index 0000000..6247d1a --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ko.json @@ -0,0 +1,594 @@ +{ + "About": "소개", + "Account": "계정", + "Account Settings": "계정 설정", + "Documentation": "참고 문서", + "Projects": "프로젝트", + "Security": "보안", + "Subscription": "구독", + "Terms": "약관", + "Universities": "대학교", + "about": "소개", + "about_to_delete_projects": "다음과 같은 프로젝트를 삭제하려 합니다:", + "about_to_leave_projects": "다음과 같은 프로젝트를 나가려고합니다:", + "accept": "승락", + "accept_all": "모두 승락", + "accept_or_reject_each_changes_individually": "각각의 변경 사항 승락 또는 거절", + "accepting_invite_as": "다음 이메일로 온 초대를 승락합니다.", + "account": "계정", + "account_not_linked_to_dropbox": "계정이 Dropbox에 연결되지 않았습니다", + "account_settings": "계정 설정", + "actions": "실행", + "activate": "활성화하기", + "activate_account": "계정 활성화", + "activating": "활성화중", + "activation_token_expired": "활성화 토큰이 만료되었습니다. 새로 받은 토큰을 사용하셔야 합니다.", + "add": "추가", + "add_comment": "코멘트 추가", + "add_more_members": "더많은 멤버 추가", + "add_your_comment_here": "여기에 코멘트 추가", + "add_your_first_group_member_now": "지금 첫 그룹 멤버 추가", + "added": "추가완료", + "adding": "추가하기", + "address": "주소", + "admin": "관리", + "admin_user_created_message": "생성된 관리 계정으로 로그인", + "aggregate_changed": "변경:", + "aggregate_to": "-->", + "all_premium_features": "모든 프리미엄 기능", + "all_projects": "전체 프로젝트", + "all_templates": "모든 템플릿", + "already_have_sl_account": "__appName__계정을 이미 보유하고 계신가요?", + "and": "및", + "annual": "매년", + "anonymous": "익명", + "anyone_with_link_can_edit": "이 링크에 있는 사람은 프로젝트 편집 가능", + "anyone_with_link_can_view": "이 링크에 있는 사람은 프로젝트를 볼 수 있음", + "april": "4월", + "are_you_sure": "확실한가요?", + "ask_proj_owner_to_upgrade_for_references_search": "레퍼런스 탐색 기능을 사용하시려면 프로젝트 소유자에게 업그레이드를 요청하십시오.", + "august": "8월", + "auto_close_brackets": "괄호 자동완성", + "auto_compile": "자동 컴파일", + "auto_complete": "자동 완성", + "autocompile_disabled": "자동 컴파일 불가", + "autocompile_disabled_reason": "서버에 부하가 많이 걸려서 백그라운드 재컴파일이 잠시 불가능했습니다. 위의 버튼을 다시 클릭해서 재컴파일 하십시오.", + "autocomplete": "자동 완성", + "autocomplete_references": "레퍼런스 자동완성 (\\cite{} 블록 안에서)", + "back_to_your_projects": "프로젝트로 돌아가기", + "beta": "베타", + "beta_program_already_participating": "당신은 베타 프로그램에 등록되었습니다.", + "beta_program_badge_description": "__appName__을 사용하는 동안 다음과 같은 뱃지로 표시된 베타 기능을 보실 수 있습니다.", + "beta_program_benefits": "저희는 지금도 __appName__을 개선하고 있습니다. 베타 프로그램에 참여하여 새로운 기능을 먼저 사용해보시고 더 필요한 것을 알려주십시오.", + "beta_program_opt_in_action": "베타 프로그램 들어가기", + "beta_program_opt_out_action": "베타 프로그램에서 나옴", + "bibliographies": "서지(bibliography)", + "blank_project": "빈 프로젝트", + "blog": "블로그", + "built_in": "빌트인", + "bulk_accept_confirm": "선택하신 __nChanges__개의 변경 사항을 승락하시겠습니까?", + "bulk_reject_confirm": "선택하신 __nChanges__개의 변경 사항을 거절하시겠습니까?", + "can_edit": "편집가능", + "cancel": "취소", + "cancel_my_account": "구독 취소하기", + "cancel_personal_subscription_first": "이미 개인 구독을 하고 있습니다. 그룹 라이센스를 사용하기 전에 개인 구독을 취소하시겠습니까?", + "cancel_your_subscription": "구독 그만하기", + "cannot_invite_non_user": "초대할 수 없습니다. 수신자는 반드시 __appName__ 계정을 보유하고 있어야 합니다.", + "cannot_invite_self": "자신을 초대할 수는 없습니다.", + "cannot_verify_user_not_robot": "죄송합니다. 로봇이 아니라고 확신할 수 없습니다. 애드블록이나 방화벽에 의해 Google reCAPTCHA가 차단되지 않았는지 확인해주십시오.", + "cant_find_email": "해당 이메일 주소는 등록되지 않았습니다, 죄송합니다.", + "cant_find_page": "죄송합니다. 찾으시려는 페이지를 발견하지 못했습니다.", + "change": "변경", + "change_password": "암호 변경", + "change_plan": "플랜 선택하기", + "change_to_this_plan": "이 플랜으로 변경하기", + "chat": "채팅", + "checking": "확인하기", + "checking_dropbox_status": "Dropbox 상태를 확인중", + "checking_project_github_status": "GitHub에 프로젝트 상태 확인 중", + "choose_your_plan": "나만의 플랜을 선택하세요", + "city": "시/도", + "clear_cached_files": "캐시 파일 정리하기", + "clear_sessions": "세션 클리어", + "clear_sessions_description": "이 리스트는 다른 (로그인) 세션입니다. 이 세션들은 활성화되어 있지만 현재 세션에는 포함되어 있지 않습니다. 이들을 로그아웃하시려면 \"세션 클리어\" 버튼을 클릭하십시오.", + "clear_sessions_success": "세션 클리어 완료", + "clearing": "지우는 중", + "click_here_to_view_sl_in_lng": "<0>__lngName__로 __appName__을 사용하시려면 이곳을 클릭하세요", + "close": "닫기", + "clsi_maintenance": "서버 유지를 위해 컴파일 서버를 다운했습니다. 금방 돌아오겠습니다.", + "cn": "중국어(간체)", + "code_check_failed": "코드 체크 실패", + "code_check_failed_explanation": "자동 컴파일 실행 전에 에러를 수정해야합니다.", + "collaboration": "콜라보레이션", + "collaborator": "콜라보레이터", + "collabs_per_proj": "프로젝트 당 __collabcount__명까지 공유 가능", + "comment": "댓글", + "commit": "커밋", + "common": "일반", + "compile_larger_projects": "큰 프로젝트 컴파일", + "compile_mode": "컴파일 모드", + "compile_terminated_by_user": "’컴파일 중지’ 버튼을 사용하여 컴파일이 취소되었습니다. Raw log를 보시면 어디에서 중지 되었는지 확인할 수 있습니다.", + "compiler": "컴파일러", + "compiling": "컴파일링", + "complete": "완료", + "confirm": "확인", + "confirm_new_password": "새로운 암호 확인하기", + "conflicting_paths_found": "경로 충돌 발견", + "connected_users": "접속한 사용자", + "connecting": "연결중", + "contact": "문의하기", + "contact_message_label": "문의 사항", + "contact_us": "문의하기", + "continue_github_merge": "수동으로 합병했습니다. 계속하기", + "copy": "복사하기", + "copy_project": "프로젝트 복사", + "copying": "복사중", + "country": "국가", + "coupon_code": "쿠폰 코드", + "create": "만들기", + "create_first_admin_account": "첫 관리 계정 생성", + "create_new_subscription": "새로운 구독 만들기", + "create_project_in_github": "GitHub 저장소 만들기", + "creating": "만드는 중", + "credit_card": "신용카드", + "cs": "Čeština", + "current_file": "현재 파일", + "current_password": "현재 암호", + "currently_subscribed_to_plan": "현재 <0>__planName__플랜을 구독중입니다.", + "da": "Dansk", + "de": "Deutsch", + "december": "12월", + "delete": "삭제", + "delete_account": "계정 삭제", + "delete_account_warning_message_3": "프로젝트와 설정을 포함한 계정의 모든 것을 영구 삭제를 하시겠습니까. 계속 진행하시려면 계정 이메일 주소와 비밀번호를 아래 상자에 입력하십시오.", + "delete_and_leave_projects": "프로젝트를 나가면서 삭제", + "delete_projects": "프로젝트 삭제", + "delete_your_account": "나의 계정 삭제", + "deleting": "삭제중", + "disconnected": "연결끊김", + "documentation": "참고 문서", + "doesnt_match": "일치하지 않습니다", + "done": "완료", + "download": "다운로드", + "download_pdf": "PDF 다운로드", + "download_zip_file": ".zip 파일 다운로드", + "drag_here": "여기로 드래그", + "drop_files_here_to_upload": "여기에 파일 드랍 후 업로드", + "dropbox_integration_lowercase": "Dropbox 통합", + "dropbox_sync": "Dropbox 동기화", + "dropbox_sync_description": "Dropbox 동기화로 __appName__프로젝트를 저장하세요. __appName__ 변경사항들은 자동적으로 Dropbox에 전송됩니다.", + "dropbox_sync_error": "Dropbox 동기 오류", + "edit": "편집", + "editing": "편집", + "editor_disconected_click_to_reconnect": "에디터 접속 끊김. 재접속하려면 아무곳이나 클릭.", + "email": "이메일", + "email_already_registered": "이 이메일은 이미 등록되어있습니다.", + "email_link_expired": "이메일 연결이 만료되었습니다. 새로운 계정을 요청하십시오.", + "email_or_password_wrong_try_again": "이메일 또는 암호가 부정확합니다. 다시 시도해주세요", + "email_sent": "이메일 보냄", + "en": "English", + "error": "오류", + "es": "Espagnol", + "every": "매", + "example_project": "견본 프로젝트", + "expiry": "유효기간", + "export_project_to_github": "GitHub으로 프로젝트 보내기", + "fast": "고속", + "features": "기능", + "february": "2월", + "file_already_exists": "동일한 이름의 파일 혹은 폴더가 존재합니다.", + "files_cannot_include_invalid_characters": "파일에 ’*’과 ’/’은 사용할 수 없습니다.", + "find_out_more": "더 알아보기", + "first_name": "이름", + "folders": "폴더", + "following_paths_conflict": "다음 파일과 폴더의 경로가 충돌합니다.", + "font_size": "글자 크기", + "forgot_your_password": "암호를 잊어버리셨나요", + "fr": "Le français", + "free": "무료", + "free_dropbox_and_history": "무료 Dropbox 및 히스토리", + "full_doc_history": "전체 문서 히스토리", + "generic_something_went_wrong": "죄송합니다. 문제가 생겼습니다.", + "get_in_touch": "연락하기", + "github_commit_message_placeholder": "__appName__로 만들어진 변경사항에 대한 메시지 커밋...", + "github_credentials_expired": "GitHub 아이디와 비밀번호가 만료되었습니다.", + "github_integration_lowercase": "GitHub 통합", + "github_is_premium": "GitHub 동기화는 프리미엄 기능입니다", + "github_public_description": "모두가 이 저장소를 볼 수 있습니다. 커밋할 수 있는 분을 선택하실 수 있습니다.", + "github_successfully_linked_description": "감사합니다, __appName__로 GitHub 계정을 성공적으로 연결하였습니다. __appName__ 프로젝트를 GitHub으로 전송하시거나 GitHub 저장소의 프로젝트를 불러올 수 있습니다.", + "github_sync": "GitHub 동기화", + "github_sync_description": "GitHub 동기화로, __appName__ 프로젝트를 GitHub 저장소로 연결하실 수 있습니다. __appName__의 새로운 커밋을 만들고, 오프라인이나 GitHub에서 만들어진 커밋과 합치세요.", + "github_sync_error": "죄송합니다, GitHub 서비스에 대한 에러가 있었습니다. 잠시 후 다시 시도해주시기 바랍니다.", + "github_validation_check": "저장소 이름이 유효한지 확인하시기 바랍니다, 그리고 저장소를 만들기위해 허가를 가지셔야 합니다.", + "global": "글로벌", + "go_to_code_location_in_pdf": "PDF의 코드 위치로 가기", + "go_to_pdf_location_in_code": "코드에서 PDF 위치로 가세요", + "group_admin": "그룹 관리", + "groups": "그룹", + "have_more_days_to_try": "__days__ days일 더 사용해 보십시오!", + "headers": "헤더", + "help": "도움말", + "history": "히스토리", + "hit_enter_to_reply": "답을 하시려면 엔터를 누르세요.", + "hotkeys": "단축키", + "i_want_to_stay": "계속하겠습니다.", + "ignore_validation_errors": "문법 확인 안 함", + "ill_take_it": "이걸로 할게요.", + "import_from_github": "GitHub에서 불러오기", + "import_to_sharelatex": "__appName__에 불러오기", + "importing": "불러오는 중", + "importing_and_merging_changes_in_github": "GitHub의 변경사항들을 불러오고 합칩니다", + "in_good_company": "좋은 회사에 다니시네요", + "indvidual_plans": "개인 플랜", + "info": "정보", + "institution": "기관", + "invalid_email": "이메일 주소가 잘못되었습니다.", + "invalid_file_name": "파일 이름이 부적절합니다.", + "invalid_password": "비밀번호 틀림", + "invite_not_accepted": "받지 않은 초대장", + "invite_not_valid": "프로젝트 초대가 유효하지 않습니다.", + "invite_not_valid_description": "초대가 만료되었습니다. 프로젝트 소유자에게 연락하십시오.", + "ip_address": "IP 주소", + "it": "Italiano", + "ja": "日本語", + "january": "1월", + "join_project": "프로젝트 참여", + "join_sl_to_view_project": "이 프로젝트를 보시려면 __appName__에 참여하세요", + "joining": "참여하기", + "july": "7월", + "june": "6월", + "kb_suggestions_enquiry": "<0>__kbLink__를 확신하셨습니까?", + "keybindings": "키바인딩", + "knowledge_base": "지식 베이스", + "ko": "한국어", + "language": "언어", + "last_modified": "마지막 수정", + "last_name": "성", + "latex_templates": "LaTeX 템플릿", + "ldap": "LDAP", + "ldap_create_admin_instructions": "__appName__ 관리 계정으로 사용할 이메일 주소를 선택하십시오. 사용하실 이메일 주소는 LDAP 시스템에서 사용하는 계정이어야합니다. 이 계정으로의 로그인을 요청받으실 것입니다.", + "learn_more": "더 배우기", + "learn_more_about_link_sharing": "링크 공유 더 알아보기", + "leave_group": "그룹 떠나기", + "leave_now": "지금 떠나기", + "leave_projects": "프로젝트 나가기", + "link_sharing": "링크 공유", + "link_sharing_is_off": "링크 공유를 끄고 초대된 사용자만 볼 수 있습니다.", + "link_sharing_is_on": "링크 공유 중", + "link_to_github": "GitHub 계정에 연결하기", + "link_to_github_description": "프로젝트를 동기화할 수 있도록 GitHub 계정에 접속할 수 있는 __appName__ 권한이 필요합니다.", + "link_to_mendeley": "Mendeley 연결", + "links": "연결", + "loading": "로딩중", + "loading_github_repositories": "GitHub 저장소를 불러오는 중입니다", + "loading_recent_github_commits": "최근 커밋 로딩 중", + "log_hint_extra_info": "더 알아보기", + "log_in": "로그인", + "log_in_with": "__provider__(으)로 로그인", + "log_out": "로그아웃", + "logging_in": "로그인중", + "login": "로그인", + "login_failed": "로그인 실패", + "login_here": "이곳에서 로그인하세요", + "login_or_password_wrong_try_again": "계정 또는 비밀번호가 틀렸습니다. 다시 입력하세요.", + "logs_and_output_files": "로그 및 파일 출력", + "lost_connection": "연결이 끊겼습니다", + "main_document": "주 문서", + "main_file_not_found": "main 도큐멘트 알 수 없음 ", + "maintenance": "유지", + "make_private": "비공개로 만들기", + "manage_beta_program_membership": "베타 프로그램 멤버십 관리", + "manage_sessions": "나의 세션 관리", + "manage_subscription": "구독 관리", + "march": "3월", + "mark_as_resolved": "해결됨으로 표시", + "math_display": "수식 표시", + "math_inline": "수식 갯수", + "maximum_files_uploaded_together": "최대 __max__ 파일 업로드됨", + "may": "5월", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley 통합", + "mendeley_is_premium": "Mendeley 통합은 프리미엄 기능입니다.", + "mendeley_reference_loading_error": "오류. Mendeley에서 레퍼런스를 가져올 수 없습니다.", + "mendeley_reference_loading_error_expired": "Mendeley 토큰이 만료되었습니다. 계정을 다시 연결해주세요.", + "mendeley_reference_loading_error_forbidden": "Mendeley에서 레퍼런스를 가져올 수 없습니다. 계정을 다시 연결한 후 다시 시도해주세요.", + "mendeley_sync_description": "Mendeley 통합을 이용해서 __appName__ 프로젝트로 mendeley 레퍼런스를 가져올 수 있습니다.", + "menu": "메뉴", + "merge": "합치기", + "merging": "합치는중", + "month": "월", + "monthly": "매달", + "more": "더보기", + "must_be_email_address": "반드시 이메일주소여야 합니다", + "name": "이름", + "native": "기본", + "navigation": "네비게이션", + "nearly_activated": "__appName__ 계정 활성화를 거의 마쳤습니다.", + "need_anything_contact_us_at": "필요하신게 있으시다면, 언제든지 연락주시기 바랍니다:", + "need_to_leave": "떠나시나요?", + "need_to_upgrade_for_more_collabs": "더 많은 콜레보레이터를 추가하기위해 계정을 업그레이드하셔야 합니다", + "new_file": "새로운 파일", + "new_folder": "새로운 폴더", + "new_name": "새로운 이름", + "new_password": "새로운 암호", + "new_project": "신규 프로젝트", + "next_payment_of_x_collectected_on_y": "<1>__collectionDate__에 <0>__paymentAmmount__원이 지불됩니다.", + "nl": "Nederlands", + "no": "Norsk", + "no_comments": "코멘트 없음", + "no_members": "멤버없음", + "no_messages": "메시지 없음", + "no_new_commits_in_github": "지난번에 합친 이후로 GitHub에 새로운 명령이 없습니다.", + "no_other_sessions": "활성화된 세션이 없습니다.", + "no_planned_maintenance": "플랜 유지가 현재 없습니다", + "no_preview_available": "죄송합니다, 미리보기를 이용하실 수 없습니다.", + "no_projects": "프로젝트 없음", + "no_resolved_threads": "해결된 코멘트 없음", + "no_search_results": "검색 결과 없음", + "no_thanks_cancel_now": "괜찮습니다. 지금 취소합니다.", + "normal": "보통", + "not_now": "지금은 안 함", + "notification_project_invite": "__userName__님이 __projectName__에 참여하고자 합니다. Join Project", + "november": "11월", + "number_collab": "공저자 수", + "october": "10월", + "off": "끄기", + "ok": "OK", + "one_collaborator": "1명 공유 가능", + "one_free_collab": "콜레보레이터 1명 무료", + "online_latex_editor": "온라인 LaTex 편집기", + "open_a_file_on_the_left": "왼쪽에서 파일 열기", + "open_project": "프로젝트 열기", + "optional": "선택사항", + "or": "또는", + "other_actions": "다른 방법들", + "other_logs_and_files": "기타 로그 및 파일 출력", + "over": "더 많은", + "overview": "개요", + "owner": "소유자", + "page_not_found": "페이지를 찾을 수 없습니다", + "password": "암호", + "password_reset": "암호 재설정", + "password_reset_email_sent": "암호 재설정을 완료하기위해 이메일을 전송하였습니다.", + "password_reset_token_expired": "암호 재설정 토큰이 만료되었습니다. 새로운 암호 재설정 이메일을 요청하시고 그곳의 링크를 따르세요.", + "pdf_compile_in_progress_error": "다른 창에서 컴파일 중", + "pdf_compile_rate_limit_hit": "컴파일 빈도 제한 초과", + "pdf_compile_try_again": "재시도 전에 현재 진행 중인 컴파일이 끝날 때까지 기다려주세요.", + "pdf_rendering_error": "PDF 렌더링 오류", + "pdf_viewer": "PDF 뷰어", + "pending": "보류", + "personal": "개인", + "pl": "폴란드어", + "planned_maintenance": "플랜 유지", + "plans_amper_pricing": "플랜 & 가격", + "plans_and_pricing": "플랜 및 가격", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "변경 내용 추적을 사용하시려면 프로젝트 소유자에게 업그레이드를 요구하세요.", + "please_compile_pdf_before_download": "PDF를 다운로드하기 전에 프로젝트를 컴파일하세요", + "please_compile_pdf_before_word_count": "단어 수 세기를 실행하기 전에 프로젝트를 컴파일 하십시오.", + "please_enter_email": "이메일 주소를 입력해주세요", + "please_refresh": "계속하시려면 페이지를 새로고침하세요.", + "please_set_a_password": "비밀번호를 설정하세요.", + "please_set_main_file": "프로젝트 메뉴에서 이 프로젝트의 main 파일을 선택하세요. ", + "position": "직책", + "presentation": "프레젠테이션", + "price": "가격", + "priority_support": "우선권 지원", + "privacy": "개인정보", + "privacy_policy": "개인정보보호", + "private": "비공개", + "problem_changing_email_address": "이메일 주소 변경에 문제가 있었습니다. 잠시후에 다시 시도해주세요. 문제가 계속되면 저희에게 연락주시기 바랍니다.", + "problem_talking_to_publishing_service": "서비스 게시에 문제가 있습니다, 몇 분 후에 다시 시도해주세요", + "problem_with_subscription_contact_us": "구독에 문제가 있습니다. 더 많은 정보를위해 저희에게 연락해주세요.", + "processing": "처리중", + "professional": "전문가", + "project_flagged_too_many_compiles": "이 프로젝트에서 컴파일 플래그가 너무 자주 있었습니다. 곧 제한이 풀립니다.", + "project_last_published_at": "프로젝트 마지막 게시일:", + "project_name": "프로젝트 이름", + "project_not_linked_to_github": "이 프로젝트는 GitHub 저장소에 연결되어있지 않습니다. GitHub에 프로젝트를위한 저장소를 만드실 수 있습니다:", + "project_synced_with_git_repo_at": "이 프로젝트는 다음 위치에 GitHub 저장소와 동기화 됩니다:", + "project_too_large": "프로젝트가 너무 큽니다", + "project_too_large_please_reduce": "이 프로젝트는 글자가 너무 많습니다. 글자수를 줄여주세요.", + "project_url": "관련 프로젝트 URL", + "projects": "프로젝트", + "pt": "Português", + "public": "공개", + "publish": "공개", + "publish_as_template": "템플릿으로 공개", + "publishing": "공개중", + "pull_github_changes_into_sharelatex": "GitHub 변경사항들을 __appName__로 당겨주세요", + "push_sharelatex_changes_to_github": "__appName__ 변경사항을 GitHub으로 밀어주세요", + "quoted_text_in": "인용문", + "read_only": "읽기만 허용", + "realtime_track_changes": "실시간 변경 내용 추적", + "reauthorize_github_account": "GitHub 계정 재확인", + "recent_commits_in_github": "GitHub의 최근 커밋", + "recompile": "다시 컴파일하기", + "recompile_pdf": "PDF 다시 컴파일하기", + "reconnecting": "재연결중", + "reconnecting_in_x_secs": "__seconds__초에 재연결", + "reference_error_relink_hint": "이 에러가 지속되면 여기에서 계정을 다시 연결하십시오:", + "reference_search": "고급 레퍼런스 검색", + "reference_sync": "레퍼런스 매니저 동기화", + "refresh_page_after_starting_free_trial": "무료 시험 시작 후 이 페이지를 새로고침하세요.", + "regards": "감사합니다", + "register": "등록", + "register_to_edit_template": "__templateName__ 템플릿을 편집하기위해 등록해주세요", + "registered": "등록됨", + "registering": "등록중", + "reject": "거절", + "reject_all": "모두 거절", + "remove_collaborator": "공동 연구자 삭제", + "remove_from_group": "그룹에서 삭제하기", + "removed": "제거완료", + "removing": "삭제하기", + "rename": "이름 바꾸기", + "rename_project": "프로젝트 이름 바꾸기", + "renaming": "이름 재설정", + "reopen": "다시 열기", + "reply": "대답", + "repository_name": "저장소 이름", + "republish": "다시 공개하기", + "request_password_reset": "암호 재설정 요청", + "request_sent_thank_you": "요청을 보냈습니다. 감사합니다.", + "required": "필수", + "resend": "다시 보냄", + "reset_password": "암호 재설정", + "reset_your_password": "암호 재설정", + "resolve": "해결", + "resolved_comments": "해결된 코멘트", + "restore": "복원하기", + "restoring": "복원중", + "restricted": "권한 없음", + "restricted_no_permission": "이 페이지를 불러올 권한이 없습니다.", + "return_to_login_page": "로그인 페이지로 이동", + "review": "검토", + "review_your_peers_work": "동료의 작업 검토", + "revoke_invite": "초대 취소", + "ro": "로마니아어", + "role": "역할", + "ru": "Русский", + "saml": "SAML", + "saml_create_admin_instructions": "__appName__ 관리 계정으로 사용할 이메일 주소를 선택하십시오. 사용하실 이메일 주소는 LDAP 시스템에서 사용하는 계정이어야합니다. 이 계정으로의 로그인을 요청받으실 것입니다.", + "saving": "저장중", + "saving_notification_with_seconds": "__docname__문서를 저장중 입니다... (저장되지않은 변경사항 중 __seconds__초)", + "search_bib_files": "저자, 제목, 연도로 검색", + "search_projects": "프로젝트 검색", + "search_references": "이 프로젝트에서 .bib 파일 검색", + "security": "보안", + "see_changes_in_your_documents_live": "문서 변경사항 실시간으로 보기", + "select_all_projects": "전체 선택", + "select_github_repository": "__appName__에 불러올 GitHub 저장소를 선택합니다.", + "send": "발신", + "send_first_message": "첫 메시지를 전송하세요", + "send_test_email": "테스트 이메일 보내기", + "sending": "발신 중", + "september": "9월", + "server_error": "서버 오류", + "services": "서비스", + "session_created_at": "생성된 세션", + "session_expired_redirecting_to_login": "세션 종료. __seconds__ seconds 초 후 다시 로그인", + "sessions": "세션", + "set_new_password": "새로운 암호 설정", + "set_password": "암호 설정", + "settings": "설정", + "share": "공유", + "share_project": "프로젝트 공유", + "share_with_your_collabs": "콜레보레이터와 공유", + "shared_with_you": "공유받은 프로젝트", + "sharelatex_beta_program": "__appName__ 베타 프로그램", + "show_all": "모두 보기", + "show_hotkeys": "단축키보기", + "show_less": "적게 보기", + "site_description": "사용하기 쉬운 온라인 LaTex 편집기. 설치 필요없음. 실시간 협업. 버전 관리. 수백 개의 LaTex 템플릿. 그리고 그 이상.", + "something_went_wrong_rendering_pdf": "PDF 렌더링 중 무언가 잘못되었습니다.", + "somthing_went_wrong_compiling": "죄송합니다. 무언가 잘못되어 프로젝트가 컴파일되지 않았습니다. 나중에 다시 시도해주세요.", + "source": "소스", + "spell_check": "철자 확인", + "start_free_trial": "무료로 사용해보세요!", + "state": "주", + "status_checks": "상태 확인", + "still_have_questions": "궁금하신 점이 남아 있나요?", + "stop_compile": "컴파일 중지", + "stop_on_validation_error": "컴파일 전에 문법 확인", + "student": "학생", + "subject": "제목", + "subscribe": "구독", + "subscription": "구독", + "subscription_canceled_and_terminate_on_x": " 구독이 취소되고 <0>__terminateDate__에 만기될 것 입니다. 더이상 지불해야 하는 금액은 없습니다.", + "suggestion": "제안", + "sure_you_want_to_change_plan": "<0>__planName__에 계획을 변경하길 원하시나요?", + "sure_you_want_to_leave_group": "이 그룹을 떠나시겠습니까?", + "sv": "Svenska", + "sync": "동기화", + "sync_dropbox_github": "Dropbox와 GitHub 연동", + "sync_project_to_github_explanation": "__appName__에 만들어진 모든 변경사항이 GitHub의 모든 업데이트와 통합될 것 입니다.", + "sync_to_dropbox": "Dropbox 동기화", + "sync_to_github": "GitHub 동기화", + "syntax_validation": "코드 확인", + "take_me_home": "홈으로!", + "tc_everyone": "모든 사람", + "tc_guests": "게스트", + "tc_switch_everyone_tip": "모두에게 변경 사항 추적 고정", + "tc_switch_guests_tip": "링크를 공유하는 모든 게스트에게 변경 사항 추적 고정", + "tc_switch_user_tip": "이 사용자에게 변경 사항 추적 고정", + "template_description": "템플릿 설명", + "templates": "템플릿", + "terminated": "컴파일 취소됨", + "terms": "약관", + "thank_you": "감사합니다", + "thanks": "감사합니다", + "thanks_for_subscribing": "구독해주셔서 감사합니다!", + "thanks_for_subscribing_you_help_sl": "__planName__ 플랜을 구독해주셔서 감사합니다. __appName__(이)가 지속적으로 성장하고 향상될 수 있도록 사람들에게 많이 알려주세요.", + "thanks_settings_updated": "감사합니다, 당신의 설정사항이 업데이트되었습니다.", + "theme": "테마", + "thesis": "학위 논문", + "this_is_your_template": "당신의 프로젝트에서 가져온 템플릿입니다.", + "this_project_is_public": "이 프로젝트는 공개되어 있으며, URL에 접근한 모든 사람들이 편집할 수 있습니다.", + "this_project_is_public_read_only": "이 프로젝트는 공개여서 모든 사람들이 볼 수 있지만 URL로 접속한 분들은 편집할 수 없습니다.", + "this_project_will_appear_in_your_dropbox_folder_at": "이 프로젝트는 Dropbox 폴더에 나타날 것 입니다 ", + "three_free_collab": "콜레버레이터 3명 무료", + "timedout": "시간초과", + "title": "제목", + "to_many_login_requests_2_mins": "이 계정으로 너무 많은 로그인을 시도했습니다. 다시 로그인 하기 전에 2분만 기다려주세요", + "to_modify_your_subscription_go_to": "구독 변경하러 가기", + "too_many_files_uploaded_throttled_short_period": "너무 많은 파일이 업로드되어 잠시 보류되었습니다.", + "too_recently_compiled": "이 프로젝트는 방금에 컴파일 되었기 때문에 컴파일을 생략합니다.", + "tooltip_hide_filetree": "파일 트리를 숨기려면 클릭", + "tooltip_hide_pdf": "PDF를 숨기려면 클릭", + "tooltip_show_filetree": "파일 트리를 보려면 클릭", + "tooltip_show_pdf": "PDF를 보려면 클릭", + "total_words": "총 단어 수", + "tr": "Türkçe", + "track_any_change_in_real_time": "실시간으로 모든 변경 사항 추적", + "track_changes": "변경 내용 추적", + "track_changes_is_off": "변경 내용 추적 꺼짐", + "track_changes_is_on": "변경 내용 추적 사용", + "tracked_change_added": "추가됨", + "tracked_change_deleted": "삭제됨", + "try_it_for_free": "무료로 사용해보세요", + "try_now": "지금 시도하세요", + "turn_off_link_sharing": "링크 공유 끄기", + "turn_on_link_sharing": "링크 공유 켜기", + "uk": "우크라이나어", + "uncategorized": "기타", + "university": "대학교", + "unlimited": "무제한", + "unlimited_collabs": "공유 무제한", + "unlimited_projects": "무제한 프로젝트", + "unlink": "연결해제", + "unlink_github_warning": "GitHub로 동기화한 모든 프로젝트는 연결이 끊길 것이며 GitHub과 더이상 동기화되지 않을 것 입니다. GitHub 계정 연결을 정말로 해지하시겠습니까?", + "unlink_reference": "레퍼렌스 제공자 연결 해제", + "unlink_warning_reference": "경고: 이 공급자로부터의 계정을 해제하면 레퍼런스를 프로젝트로 가져올 수 없습니다.", + "unpublish": "비공개", + "unpublishing": "비공개", + "unsubscribe": "구독해제", + "unsubscribed": "구독해제", + "unsubscribing": "구독해제중", + "update": "업데이트", + "update_account_info": "계정 정보 업데이트", + "update_dropbox_settings": "Dropbox 설정 업데이트", + "update_your_billing_details": "청구서 세부사항 업데이트", + "updating_site": "사이트 업데이트", + "upgrade": "업그레이드", + "upgrade_cc_btn": "지금 업그레이드하고 7일 후 지불", + "upgrade_now": "지금 업그레이드", + "upgrade_to_get_feature": "__feature__와 다음 기능 사용을 위해 업그레이드:", + "upgrade_to_track_changes": "변경 내용 추적을 위해 업그레이드", + "upload": "업로드", + "upload_project": "프로젝트 업로드", + "upload_zipped_project": "압축된 프로젝트 업로드", + "user_wants_you_to_see_project": "__username__ 님이 __projectname__에 참여하길 원합니다", + "vat_number": "VAT 번호", + "view_all": "모두 보기", + "view_in_template_gallery": "템플릿 갤러리에서 보기", + "welcome_to_sl": "__appName__에 오신걸 환영합니다", + "word_count": "단어 수 세기", + "year": "년", + "you_have_added_x_of_group_size_y": "이용가능한<1>__groupSize__멤버 중 <0>__addedUsersSize__멤버가 추가되었습니다", + "your_plan": "나의 플랜", + "your_projects": "나의 프로젝트", + "your_sessions": "나의 세션", + "your_subscription": "나의 구독", + "your_subscription_has_expired": "구독이 만료되었습니다.", + "zh-CN": "中國語" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/nl.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/nl.json new file mode 100644 index 0000000..c923b00 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/nl.json @@ -0,0 +1,598 @@ +{ + "About": "Over", + "Account": "Account", + "Account Settings": "Accountinstellingen", + "Documentation": "Documentatie", + "Projects": "Projecten", + "Security": "Beveiliging", + "Subscription": "Abonnementen", + "Terms": "Voorwaarden", + "Universities": "Universiteiten", + "about": "Over", + "about_to_archive_projects": "Je staat op het punt de volgende projecten te achiveren:", + "about_to_delete_projects": "Je staat op het punt de volgende projecten te verwijderen:", + "about_to_leave_projects": "Je staat op het punt de volgende projecten te verlaten:", + "accept": "Accepteer", + "accept_invitation": "Accepteer de uitnodiging", + "accept_or_reject_each_changes_individually": "Accepteer of verwerp iedere wijziging individueel", + "accepted_invite": "Uitnodiging geaccepteerd", + "accepting_invite_as": "U accepteert deze uitnodiging als", + "account": "Account", + "account_not_linked_to_dropbox": "Je account is niet gekoppeld aan Dropbox", + "account_settings": "Accountinstellingen", + "actions": "Acties", + "activate": "Activeer", + "activate_account": "Activeer je account", + "activating": "Activeren", + "activation_token_expired": "Je activatie token is verlopen, je zal een nieuwe moeten laten versturen.", + "add": "Toevoegen", + "add_another_email": "Voeg nog een email toe", + "add_comment": "Voeg opmerking toe", + "add_more_members": "Meer leden toevoegen", + "add_new_email": "Voeg nieuwe email toe", + "add_role_and_department": "Voeg rol en afdeling toe", + "add_your_comment_here": "Voeg uw opmerking hier toe", + "add_your_first_group_member_now": "Voeg je eerste groepsleden nu toe", + "added": "toegevoegd", + "adding": "Toevoegen", + "address": "Straat", + "admin": "beheerder", + "admin_user_created_message": "Admin gebruiker aangemaakt, Log hier in om verder te gaan", + "all_projects": "Alle projecten", + "all_templates": "Alles Sjablonen", + "already_have_sl_account": "Heb je al een __appName__-account?", + "and": "en", + "annual": "Jaarlijks", + "anonymous": "Anoniem", + "april": "april", + "archive": "Archief", + "archive_projects": "Archiveer projecten", + "archived_projects": "Gearchiveerde Projecten", + "are_you_sure": "Weet u het zeker?", + "ask_proj_owner_to_upgrade_for_full_history": "Vraag de projecteigenaar om te upgraden om toegang te krijgen tot de volledige geschiedenis van dit project.", + "ask_proj_owner_to_upgrade_for_references_search": "Vraag alstublieft de projecteigenaar up te graden om de Zoek Referenties optie te gebruiken", + "august": "augustus", + "auto_complete": "Autocorrectie", + "autocomplete": "Autocomplete", + "autocomplete_references": "Refereer Autocomplete (in een \\cite{} blok)", + "back_to_editor": "Terug naar de editor", + "back_to_your_projects": "Terug naar je projecten", + "beta": "Beta", + "beta_program_already_participating": "U neemt al deel aan het Bèta Programma", + "beta_program_badge_description": "TIjdens het gebruik van __appName__, zullen bèta opties gemarkeerd zijn met deze badge:", + "beta_program_benefits": "We zijn altijd bezig met het verbeteren van __appName__. Door deel te nemen aan ons Bèta programma heeft u vervroegd toegang tot nieuwe opties en kan u ons helpen uw wensen beter te begrijpen.", + "beta_program_opt_in_action": "Schrijf in voor Bèta Programma", + "beta_program_opt_out_action": "Uitschrijven uit het Bèta Programma", + "bibliographies": "Bibliografieën", + "blank_project": "Blanco Project", + "blog": "Blog", + "built_in": "Ingebouwd", + "can_edit": "Kan Bewerken", + "cancel": "Annuleren", + "cancel_my_account": "Annuleer mijn abonnement", + "cancel_personal_subscription_first": "U heeft al een persoonlijke inschrijving, wilt u dat wij deze annuleren voordat u deel neemt aan de groepslicentie?", + "cancel_your_subscription": "Annuleer je abonnement", + "cannot_invite_non_user": "Kan geen uitnodiging versturen. Ontvanger moet al een __appName__ account hebben", + "cannot_invite_self": "Kan geen uitnodiging naar jezelf sturen", + "cant_find_email": "Dat e-mailadres is niet geregistreerd, sorry.", + "cant_find_page": "Sorry, we kunnen die pagina waar je naar zocht niet vinden.", + "change": "Wijzigen", + "change_password": "Wachtwoord Wijzigen", + "change_plan": "Abonnement wijzigen", + "change_to_this_plan": "Overstappen naar dit abonnement", + "chat": "Chat", + "checking": "Controleren", + "checking_dropbox_status": "Dropboxstatus aan het controleren", + "checking_project_github_status": "Bezig met controleren van de projectstatus in GitHub", + "choose_your_plan": "Kies je abonnement", + "city": "Stad", + "clear_cached_files": "Wis bestanden in tijdelijke geheugen", + "clear_sessions": "Verwijder sessies", + "clear_sessions_description": "Dit is een lijst van andere sessies (logins) die actief zijn op uw account, exclusief uw huidige sessie. Klik de \"Sessies Opschonen\" knop hieronder om ze uit te loggen", + "clear_sessions_success": "Sessies verwijderd", + "clearing": "Aan het leegmaken", + "click_here_to_view_sl_in_lng": "Klik hier om __appName__ te gebruiken in het <0>__lngName__", + "close": "Sluiten", + "clsi_maintenance": "De compilatie servers zijn momenteel in onderhoud, en zullen binnenkort weer beschikbaar zijn.", + "cn": "Chinees (vereenvoudigd)", + "collaboration": "Samenwerking", + "collaborator": "Bijdrager", + "collabs_per_proj": "__collabcount__ bijdragers per project", + "comment": "Reageren", + "commit": "Toevoegen", + "common": "Veelvoorkomend", + "compact": "Compact", + "compile_larger_projects": "Compileer grote projecten", + "compile_mode": "Compileer Mode", + "compile_terminated_by_user": "Het compileren was gestopt door de ’Stop Compilatie’ knop. U kan in de log files zien waar het compileren is gestopt", + "compiler": "Compilator", + "compiling": "Aan het compileren", + "complete": "Klaar", + "confirm": "Bevestig", + "confirm_email": "Bevestig email", + "confirm_new_password": "Bevestig Nieuwe Wachtwoord", + "conflicting_paths_found": "Conflicterende Bestandspaden Gevonden", + "connected_users": "Verbonden gebruikers", + "connecting": "Aan het verbinden", + "contact": "Contact", + "contact_message_label": "Bericht", + "contact_us": "Contact", + "continue_github_merge": "Ik heb handmatig samengevoegd. Doorgaan.", + "copy": "Kopiëren", + "copy_project": "Project Kopiëren", + "copying": "aan het kopiëren", + "country": "Land", + "coupon_code": "Coupon code", + "create": "Creëren", + "create_first_admin_account": "Creëer het eerste Admin account", + "create_new_subscription": "Nieuw Abonnement Maken", + "create_project_in_github": "Een GitHub repository maken", + "creating": "Aan het maken", + "credit_card": "Creditcard", + "cs": "Tsjechisch", + "current_file": "Huidige bestand", + "current_password": "Huidige Wachtwoord", + "currently_subscribed_to_plan": "Je bent op dit moment geabonneerd op <0>__planName__.", + "da": "Deens", + "de": "Duits", + "december": "december", + "default": "Standaard", + "delete": "Verwijderen", + "delete_account": "Account verwijderen", + "delete_account_warning_message_3": "Je staat op het punt permanent all je accountgegevens te verwijderen, inclusief je projecten en instellingen. Type uw account e-mail adres in onderstaande tekstvakken om verder te gaan", + "delete_and_leave_projects": "Verwijder en verlaat projecten", + "delete_projects": "Verwijder projecten", + "delete_your_account": "Account verwijderen", + "deleting": "Aan het verwijderen", + "description": "Beschrijving", + "disconnected": "Niet Verbonden", + "documentation": "Documentatie", + "doesnt_match": "Komt niet overeen", + "done": "Klaar", + "download": "Downloaden", + "download_pdf": "PDF Downloaden", + "download_zip_file": "Als .zip-bestand downloaden", + "dropbox_integration_lowercase": "Dropbox integratie", + "dropbox_sync": "Dropbox-synchronisatie", + "dropbox_sync_description": "Houd je __appName__-projecten gesynchroniseerd met je Dropbox veranderingen in __appName__ worden automatisch naar Dropbox verzonden en andersom.", + "dropbox_sync_error": "synchronisatiefout met Dropbox", + "edit": "Pas aan", + "editing": "Aan het bewerken", + "editor_disconected_click_to_reconnect": "Verbinding Editor verbroken, klik om opnieuw te verbinden", + "email": "E-mail", + "email_already_registered": "Dit e-mailadres is al geregistreerd", + "email_link_expired": "E-maillink is verlopen, vraag een nieuwe aan.", + "email_or_password_wrong_try_again": "Je e-mailadres of wachtwoord is incorrect. Probeer het opnieuw", + "email_sent": "E-mail verzonden", + "emails_and_affiliations_explanation": "Voeg extra e-mailadressen toe aan uw account om toegang te krijgen tot eventuele upgrades die uw universiteit of instelling heeft, om het voor bijdragers gemakkelijker te maken om u te vinden en om ervoor te zorgen dat u uw account kunt herstellen.", + "en": "Engels", + "error": "Fout", + "error_performing_request": "Er is een fout opgetreden tijdens het uitvoeren van uw verzoek.", + "es": "Spaans", + "every": "per", + "example_project": "Voorbeeldproject", + "expiry": "Vervaldatum", + "export_project_to_github": "Project exporteren naar GitHub", + "faq_how_free_trial_works_question": "Hoe werkt de gratis proefperiode?", + "fast": "Snel", + "features": "Functies", + "february": "februari", + "files_cannot_include_invalid_characters": "Bestandsnaam mag niet ’*’ of ’/’ bevatten", + "find_out_more": "Kom meer te weten", + "first_name": "Voornaam", + "folders": "Mappen", + "following_paths_conflict": "De volgende bestanden en folders hebben hetzelfde bestandspad", + "font_family": "Font familie", + "font_size": "Lettergrootte", + "forgot_your_password": "Wachtwoord vergeten", + "fr": "Frans", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox en Geschiedenis", + "full_doc_history": "Volledige documentsgeschiedenis", + "generic_something_went_wrong": "Sorry, er ging iets fout", + "get_in_touch": "Contacteer ons", + "github_commit_message_placeholder": "Bericht voor wijzigingen aangebracht in __appName__...", + "github_integration_lowercase": "Github integratie", + "github_is_premium": "GitHubsnychronisatie is een premium functie", + "github_public_description": "Iedereen kan deze repository zien. Jij kiest wie eraan kan bijdragen.", + "github_successfully_linked_description": "Bedankt, we hebben je GitHub-account kunnen koppelen aan __appName__. Je kunt nu je __appName__-projecten exporteren naar GitHub, of je projecten vanuit je GitHub repositories importeren.", + "github_sync": "GitHub-synchonisatie", + "github_sync_description": "Met GitHub Sync kun je je __appName__-projecten koppelen aan GitHub repositories. Maak nieuwe toevoegingen vanuit __appName__ en voeg deze samen met toevoegingen die offline of in GitHub gemaakt zijn.", + "github_sync_error": "Sorry, er trad een fout op tijdens het communiceren met onze GitHub-dienst. Probeer het opnieuw over een ogenblik.", + "github_validation_check": "Controleer of de naam van de repository geldig is en of je toestemming heb om de repository te maken.", + "global": "globaal", + "go_to_code_location_in_pdf": "Ga naar codelocatie in de PDF", + "go_to_pdf_location_in_code": "Ga naar de PDF-locatie in de code", + "group_admin": "Groepsbeheerder", + "group_plans": "Groepspakketten", + "groups": "Groepen", + "have_more_days_to_try": "Hier zijn __days__ dagen extra Proefperiode!", + "headers": "Koppen", + "help": "Help", + "history": "Geschiedenis", + "history_add_label": "Voeg label toe", + "history_adding_label": "Label aan het toevoegen", + "history_are_you_sure_delete_label": "Weet u zeker dat u het volgende label wilt verwijderen:", + "history_delete_label": "Verwijder label", + "history_deleting_label": "Label aan het verwijderen", + "history_label_created_by": "Aangemaakt door", + "history_label_this_version": "Label deze versie", + "history_new_label_name": "Nieuwe labelnaam", + "history_view_all": "Alle geschiedenis", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Toets Enter om te antwoorden", + "hotkeys": "Sneltoetsen", + "i_want_to_stay": "Ik wil blijven", + "ignore_validation_errors": "Check syntax niet", + "ill_take_it": "Ik neem hem!", + "import_from_github": "Uit GitHub importeren", + "import_to_sharelatex": "Naar __appName__ importeren", + "importing": "Aan het importeren", + "importing_and_merging_changes_in_github": "Veranderingen aan het importeren en toevoegen in GitHub", + "in_good_company": "Je bent in goed gezelschap", + "indvidual_plans": "Individuele Abonnementen", + "info": "Info", + "institution": "Instelling", + "institution_and_role": "Instelling en rol", + "invalid_file_name": "Ongeldige Bestandsnaam", + "invalid_password": "Onjuist Wachtwoord", + "invite_not_accepted": "Uitnodiging nog niet geaccepteerd", + "invite_not_valid": "Dit is geen valide projectuitnodiging", + "invite_not_valid_description": "De uitnodiging kan verlopen zijn. Neem contact op met de projecteigenaar", + "invited_to_group": "<0>__inviterName__ heeft je uitgenodigd om lid te worden van een team op __appName__", + "ip_address": "IP-adres", + "it": "Italiaans", + "ja": "Japans", + "january": "januari", + "join_project": "Neem deel aan Project", + "join_sl_to_view_project": "Word lid van __appName__ om dit project te bekijken", + "joined_team": "Je bent lid geworden van het team dat door __inviterName__ wordt beheerd", + "joining": "Aan het toevoegen", + "july": "juli", + "june": "juni", + "kb_suggestions_enquiry": "Heeft u onze <0>__kbLink__ al gezien?", + "keybindings": "Sneltoetsen", + "knowledge_base": "Kennisbasis", + "ko": "Koreaans", + "language": "Taal", + "last_modified": "Laatst Gewijzigd", + "last_name": "Achternaam", + "latex_templates": "LaTeX-sjablonen", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Kies een e-mail adres voor het eerste __appName__ admin account. Dit moet corresponderen met een account in het LDAP systeem. U zal daarna gevraagd worden in te loggen met dit account", + "learn_more": "Meer weten", + "leave": "Verlaten", + "leave_group": "Verlaat groep", + "leave_now": "Verlaat nu", + "leave_projects": "Verlaat projecten", + "let_us_know": "Laat het ons weten", + "line_height": "Regel afstand", + "link_to_github": "Verbinden met je GitHubaccount", + "link_to_github_description": "Je dient __appName__ te autoriseren voor toegang tot je GitHub-account om je projecten te synchroniseren.", + "link_to_mendeley": "Verbinden met Mendeley", + "link_to_zotero": "Verbinden met Zotero", + "links": "Links", + "loading": "Aan het laden", + "loading_github_repositories": "Bezig met laden van jouw GitHub repositories", + "loading_recent_github_commits": "Recente toevoegingen laden", + "log_hint_extra_info": "Meer informatie", + "log_in": "Inloggen", + "log_in_with": "Log in met __provider__", + "log_out": "Uitloggen", + "logging_in": "Aan het inloggen", + "login": "Inloggen", + "login_failed": "Login mislukt", + "login_here": "Log hier in", + "login_or_password_wrong_try_again": "Uw inlognaam of wachtwoord is incorrect. Probeer a.u.b. opnieuw", + "logs_and_output_files": "Logs en outputbestanden", + "looking_multiple_licenses": "Op zoek naar meerdere licenties?", + "lost_connection": "Verbinding Verbroken", + "main_document": "Hoofddocument", + "maintenance": "Onderhous", + "make_private": "Privé Maken", + "manage_beta_program_membership": "Manage Bèta Programma Lidmaatschap", + "manage_sessions": "Manage Uw Sessies", + "manage_subscription": "Beheer abonnementen", + "march": "maart", + "mark_as_resolved": "Markeer als opgelost", + "math_display": "Math Display", + "math_inline": "Math Inline", + "maximum_files_uploaded_together": "Maximum __max__ bestanden tegelijk geüplaod", + "may": "mei", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley Integratie", + "mendeley_is_premium": "Mendeley Integratie is een premium functie", + "mendeley_reference_loading_error": "Error, kan referenties niet laden vanaf Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token verlopen, gelieve je account opnieuw te koppelen", + "mendeley_reference_loading_error_forbidden": "Kon referenties niet laden vanaf Mendeley, gelieve je account opnieuw te koppelen en nogmaals te proberen", + "mendeley_sync_description": "Met Mendeley integratie kan u uw referenties uit mendeley in uw __appName__ projecten importeren", + "menu": "Menu", + "merge": "Samenvoegen", + "merging": "Bezig met samenvoegen", + "month": "maand", + "monthly": "Maandelijks", + "more": "Meer", + "must_be_email_address": "Moet een e-mailadres zijn", + "name": "Naam", + "native": "Browserkeuze", + "navigation": "Navigatie", + "nearly_activated": "Je bent één stap verwijderd van het activeren van je __appName__ account", + "need_anything_contact_us_at": "Als er iets is dat je ooit nodig hebt, neem gerust direct contact met ons op via", + "need_to_leave": "Moet je weg?", + "need_to_upgrade_for_more_collabs": "Je dient je account te upgraden om meer bijdragers toe te voegen", + "new_file": "Nieuw bestand", + "new_folder": "Nieuwe map", + "new_name": "Nieuwe Naam", + "new_password": "Nieuwe Wachtwoord", + "new_project": "Nieuw Project", + "next_payment_of_x_collectected_on_y": "De volgende betaling van <0>__paymentAmmount__ zal worden geïnd op <1>__collectionDate__", + "nl": "Nederlands", + "no": "Noors", + "no_comments": "Geen opmerkingen", + "no_members": "Geen leden", + "no_messages": "Geen berichten", + "no_new_commits_in_github": "Geen nieuwe toevoegingen op GitHub sinds laatste samenvoeging.", + "no_other_sessions": "Geen andere sessies actief", + "no_planned_maintenance": "Er is op dit moment geen gepland onderhoud", + "no_preview_available": "Sorry, er is geen voorbeeld beschikbaar.", + "no_projects": "Geen projecten", + "no_resolved_threads": "Geen opgeloste onderwerpen", + "no_search_results": "Geen zoek resultaten", + "no_thanks_cancel_now": "Nee bedankt - Ik wil nog steeds annuleren.", + "normal": "Normaal", + "not_now": "Niet nu", + "notification_project_invite": "__userName__ wil dat u deelneemt aan __projectName__ Neem deel aan Project", + "november": "november", + "number_collab": "Aantal bijdragers", + "october": "oktober", + "off": "Uit", + "ok": "OK", + "one_collaborator": "Slechts één bijdrager", + "one_free_collab": "Één gratis bijdrager", + "online_latex_editor": "Online LaTeX-verwerker", + "open_a_file_on_the_left": "Open een bestand aan de linkerkant", + "open_project": "Open Project", + "optional": "Optioneel", + "or": "of", + "other_actions": "Andere acties", + "other_logs_and_files": "Andere logs en bestanden", + "over": "meer dan", + "overview": "Overzicht", + "owner": "Eigenaar", + "page_not_found": "Pagina Niet Gevonden", + "password": "Wachtwoord", + "password_reset": "Wachtwoord Herstellen", + "password_reset_email_sent": "Er is een e-mail naar je verstuur om je wachtwoordreset te voltooien.", + "password_reset_token_expired": "Je wachtwoordherstelsleutel is verlopen. Vraag een nieuwe herstel-e-mail aan en volg daarin de link.", + "pdf_rendering_error": "PDF Render Error", + "pdf_viewer": "PDF-lezer", + "pending": "In afwachting", + "personal": "Persoonlijk", + "pl": "Pools", + "planned_maintenance": "Gepland Onderhoud", + "plans_amper_pricing": "Abonnementen en Prijzen", + "plans_and_pricing": "Abonnementen en Prijzen", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Vraag alstublieft de projecteigenaar om te upgraden zodat de optie ’Wijzigingen bijhouden’ gebruikt kan worden", + "please_check_your_inbox": "Controleer uw inbox", + "please_compile_pdf_before_download": "Compileer je project alvorens de PDF te downloaden", + "please_compile_pdf_before_word_count": "Compileer je project alvorens het aantal woorden te tellen", + "please_confirm_your_email_before_making_it_default": "Bevestig uw e-mail voordat u deze als standaard gebruikt.", + "please_enter_email": "Vul je e-mailadres in", + "please_refresh": "Ververs de pagina om door te gaan.", + "please_set_a_password": "Gelieve een wachtwoord te kiezen", + "position": "Functie", + "presentation": "Presentatie", + "price": "Prijs", + "privacy": "Privacy", + "privacy_policy": "Privacybeleid", + "private": "Privé", + "problem_changing_email_address": "Er was een probleem tijdens het veranderen van je e-mailadres. Probeer het over een ogenblik opnieuw. Als het probleem blijft bestaan, neem dan a.u.b. contact met ons op.", + "problem_talking_to_publishing_service": "Er is een probleem met onze publicatiedienst, probeer het over enkele minuten opnieuw", + "problem_with_subscription_contact_us": "Er is een probleem met je abonnement. Neem contact met ons op voor meer informatie.", + "processing": "aan het verwerken", + "professional": "Professioneel", + "project_last_published_at": "Je project is voor het laatst gepubliceerd om", + "project_name": "Projectnaam", + "project_not_linked_to_github": "Dit project is niet verbonden aan het GitHub repository. Je kunt er een repository voor aanmaken in GitHub:", + "project_synced_with_git_repo_at": "Dit project is gesynchroniseerd met de GitHub repository op", + "project_too_large": "Project is te groot", + "project_too_large_please_reduce": "Dit project bevat teveel tekst, probeer dit te verminderen. De grootste bestanden zijn:", + "project_url": "Getroffen Project URL", + "projects": "Projecten", + "pt": "Portugees", + "public": "Publiek", + "publish": "Publiceren", + "publish_as_template": "Publiceren als Sjabloon", + "publishing": "Aan het publiceren", + "pull_github_changes_into_sharelatex": "Wijzigingen op GitHub naar __appName__ halen", + "push_sharelatex_changes_to_github": "Wijzigingen op __appName__ naar GitHub verplaatsen", + "quoted_text_in": "Gequote tekst in", + "read_only": "Alleen Lezen", + "recent_commits_in_github": "Recente toevoegingen in GitHub", + "recompile": "Hercompileren", + "recompile_pdf": "Hercompileer de PDF", + "reconnecting": "Opnieuw aan het verbinden", + "reconnecting_in_x_secs": "Opnieuw verbinden over __seconds__ seconden", + "reduce_costs_group_licenses": "U kunt de administratie verkleinen en de kosten verlagen met onze scherp geprijsde groeplicenties.", + "reference_error_relink_hint": "Als deze foutmelding blijft verschijnen, probeer dan uw account hier opnieuw te linken:", + "refresh_page_after_starting_free_trial": "Ververs deze pagina nadat je de gratis proefperiode hebt gestart.", + "regards": "Groeten", + "register": "Registreren", + "register_to_edit_template": "Registreet om het sjabloon __templateName__ te bewerken", + "registered": "Geregistreerd", + "registering": "Aan het registreren", + "reject": "Verwerp", + "remove": "Verwijder", + "remove_collaborator": "Bijdrager verwijderen", + "remove_from_group": "Uit groep verwijderen", + "removed": "verwijderd", + "removing": "Verwijderen", + "rename": "Hernoemen", + "rename_project": "Project Hernoemen", + "renaming": "Hernoemen", + "reopen": "Heropen", + "reply": "Beantwoord", + "repository_name": "Repository-naam", + "republish": "Herpubliceren", + "request_password_reset": "Wachtwoordherstel aanvragen", + "request_sent_thank_you": "Verzoek verzonden, bedankt.", + "required": "Vereist", + "resend": "Stuur opnieuw", + "resend_confirmation_email": "Verstuur bevestigingsmail opnieuw", + "reset_password": "Wachtwoord Herstellen", + "reset_your_password": "Herstel je wachtwoord", + "resolve": "Los op", + "resolved_comments": "Opgeloste opmerkingen", + "restore": "Herstellen", + "restoring": "Aan het herstellen", + "restricted": "Beperkt", + "restricted_no_permission": "Beperkt, sorry. Je hebt geen toegang tot deze pagina.", + "return_to_login_page": "Keer terug naar inlogpagina", + "review": "Review", + "review_your_peers_work": "Review werk van uw collega’s", + "revoke_invite": "Herroep uitnodiging", + "ro": "Roemeens", + "role": "Functie", + "ru": "Russisch", + "saml": "SAML", + "saml_create_admin_instructions": "Kies een e-mail adres voor het eerste __appName__ admin account. Dit moet corresponderen met een account in het SAML systeem. U zal daarna gevraagd worden in te loggen met dit account", + "save_or_cancel-cancel": "Anuleer", + "save_or_cancel-or": "of", + "save_or_cancel-save": "Sla op", + "saving": "Aan het opslaan", + "saving_notification_with_seconds": "__docname__ aan het opslaan... (__seconds__ seconden aan niet-opgeslagen wijzigingen)", + "search_bib_files": "Zoek op auteur, titel, jaar", + "search_projects": "Projecten zoeken", + "search_references": "Doorzoek het .bib bestand in dit project", + "security": "Veiligheid", + "see_changes_in_your_documents_live": "Zie verandering in uw documenten, live", + "select_github_repository": "Selecteer een GitHub repository om naar __appName__ te importeren.", + "send": "Verstuur", + "send_first_message": "Verzend je eerste bericht", + "send_test_email": "Stuur een test e-mail", + "sending": "Versturen", + "september": "september", + "server_error": "Serverfout", + "services": "Diensten", + "session_created_at": "Sessie gecreëerd op", + "session_expired_redirecting_to_login": "Sessie verlopen. Doorsturen naar de inlog pagina in __seconds__ seconden.", + "sessions": "Sessies", + "set_new_password": "Nieuw wachtwoord instellen", + "set_password": "Wachtwoord Instellen", + "settings": "Instellingen", + "share": "Delen", + "share_project": "Project Delen", + "share_with_your_collabs": "Delen met je bijdragers", + "shared_with_you": "Gedeeld met jou", + "sharelatex_beta_program": "__appName__ Beta Programma", + "show_all": "Laat alles zien", + "show_hotkeys": "Sneltoetsen Tonen", + "show_less": "Laat minder zien", + "site_description": "Een online LaTeX editor die makkelijk te gebruiken is. Geen installatie, real-time samenwerken, versiecontrole, honderden LaTeX templates en meer.", + "something_went_wrong_rendering_pdf": "Er is iets misgegaan tijdens het renderen van deze PDF.", + "somthing_went_wrong_compiling": "Sorry, er ging iets fout en je project kon niet gecompileerd worden. Probeer het over enkele ogenblikken opnieuw.", + "source": "Bron", + "spell_check": "Spellingscontrole", + "start_by_adding_your_email": "Begin met het toevoegen van je e-mailadres", + "start_free_trial": "Start Gratis Proefperiode!", + "state": "Provincie", + "status_checks": "Status Checks", + "still_have_questions": "Zijn er nog meer vragen?", + "stop_compile": "Stop met compileren", + "stop_on_validation_error": "Check syntax voor compileren", + "student": "Student", + "subject": "Onderwerp", + "subscribe": "Abonneren", + "subscription": "Abonnementen", + "subscription_canceled_and_terminate_on_x": " Je abonnement is geannuleerd en zal eindigen op <0>__terminateDate__. Er zullen geen betalingen meer worden vereist.", + "suggestion": "Suggestie", + "sure_you_want_to_change_plan": "Weet je zeker dat je wilt overstappen naar <0>__planName__?", + "sure_you_want_to_delete": "Weet je zeker dat je de volgende bestanden permanent wilt verwijderen?", + "sure_you_want_to_leave_group": "Weet je zeker dat je deze groep wilt verlaten?", + "sv": "Zweeds", + "sync": "Synchronisatie", + "sync_project_to_github_explanation": "Aangebrachte wijzigingen in __appName__ zullen worden toegevoegd en samengevoegd met updates in GitHub.", + "sync_to_dropbox": "Synchroniseren met Dropbox", + "sync_to_github": "Synchroniseer met GitHub", + "syntax_validation": "Code check", + "take_me_home": "Terug naar huis dan maar!", + "template_description": "Sjabloonbeschrijving", + "templates": "Sjablonen", + "terminated": "Compileren gestopt", + "terms": "Voorwaarden", + "thank_you": "Dankjewel", + "thanks": "Bedankt", + "thanks_for_subscribing": "Bedankt voor het abonneren!", + "thanks_for_subscribing_you_help_sl": "Bedankt voor het abonneren op __planName__. De ondersteuning van mensen zoals jij maakt het mogelijk dat __appName__ groeit en verbetert.", + "thanks_settings_updated": "Bedankt, je instellingen zijn bijgewerkt.", + "theme": "Thema", + "thesis": "Scriptie", + "this_is_your_template": "Dit is jouw sjabloon uit jouw project", + "this_project_is_public": "Dit project is publiek toegankelijk en kan gewijzigd worden door iedereen die de URL heeft.", + "this_project_is_public_read_only": "Dit project is publiek toegankelijk en kan bekeken, maar niet bewerkt worden door iedereen die de URL heeft", + "this_project_will_appear_in_your_dropbox_folder_at": "Dit project zal verschijnen in je Dropbox map in ", + "three_free_collab": "Drie gratis bijdragers", + "timedout": "Time-out", + "title": "Titel", + "to_many_login_requests_2_mins": "Er is te vaak geprobeerd bij dit account in te loggen. Wacht 2 minuten alvorens het opnieuw te proberen.", + "to_modify_your_subscription_go_to": "Om je abonnement aan te passen, ga naar", + "too_many_files_uploaded_throttled_short_period": "Teveel bestanden geüpload, je uploads zijn afgeknepen voor een korte periode.", + "too_recently_compiled": "Dit project is recentelijk nog gecompileerd, daarom is het nu overgeslagen.", + "total_words": "Aantal woorden", + "tr": "Turks", + "track_any_change_in_real_time": "Hou alle veranderingen bij, in realtime", + "track_changes_is_off": "Wijzigingen bijhouden staat uit", + "track_changes_is_on": "Wijzigingen bijhouden staat aan", + "tracked_change_added": "Toegevoegd", + "tracked_change_deleted": "Verwijderd", + "try_it_for_free": "Probeer het gratis", + "try_now": "Nu Proberen", + "uk": "Oekraïens", + "unconfirmed": "Niet bevestigd", + "university": "Universiteit", + "unlimited_collabs": "Onbeperkt aantal bijdragers", + "unlimited_projects": "Onbeperkt aantal projecten", + "unlink": "Ontkoppelen.", + "unlink_github_warning": "Projecten die je gesynchroniseerd hebt met GitHub zullen niet meer gekoppeld zijn en niet meer gesynchroniseerd worden met GitHub. Weet je zeker dat je je GitHub-account wilt ontkoppelen?", + "unlink_reference": "Ontkoppel Referentie Provider", + "unlink_warning_reference": "Waarschuwing: Wanneer u uw account van deze provider losmaakt kan u geen referenties meer in uw projecten importeren", + "unpublish": "Onpubliceren", + "unpublishing": "Aan het ontpubliceren", + "unsubscribe": "Uitschrijven", + "unsubscribed": "Uitgeschreven", + "unsubscribing": "Aan het uitschrijven", + "update": "Bijwerken", + "update_account_info": "Accountinfo Bijwerken", + "update_dropbox_settings": "Dropboxinstellingen Updaten", + "update_your_billing_details": "Werk Je Factuurgegevens Bij", + "updating_site": "Site Aan Het Updaten", + "upgrade": "Upgraden", + "upgrade_cc_btn": "Upgrade nu, betaal na 7 dagen", + "upgrade_now": "Upgrade Nu", + "upgrade_to_get_feature": "Upgrade om __feature__ te krijgen, plus:", + "upgrade_to_track_changes": "Upgrade naar Wijzigingen Bijhouden", + "upload": "Uploaden", + "upload_project": "Project Uploaden", + "upload_zipped_project": "Gezipt Project Uploaden", + "user_wants_you_to_see_project": "__username__ wil dat u deelneemt aan __projectname__", + "vat_number": "BTW nummer", + "view_all": "Alle Bekijken", + "view_in_template_gallery": "Bekijk het in de sjablonengalerij", + "welcome_to_sl": "Welkom bij __appName__", + "wide": "Breed", + "word_count": "Aantal woorden", + "year": "jaar", + "you_have_added_x_of_group_size_y": "Je hebt <0>__addedUsersSize__ van de <1>__groupSize__ beschikbare leden", + "your_plan": "Jouw abonnement", + "your_projects": "Jouw Projecten", + "your_sessions": "Uw Sessies", + "your_subscription": "Jouw Abonnement", + "your_subscription_has_expired": "Je abonnement is verlopen.", + "zh-CN": "Chinees", + "zotero": "Zotero", + "zotero_integration": "Zetro Integratie", + "zotero_is_premium": "Zotero Integratie is een premium functie", + "zotero_reference_loading_error": "Error, kan referenties niet laden vanaf Mendeley", + "zotero_reference_loading_error_expired": "Zotero token verlopen, gelieve je account opnieuw te koppelen", + "zotero_reference_loading_error_forbidden": "Kon referenties niet laden vanaf Zotero, gelieve je account opnieuw te koppelen en nogmaals te proberen" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/no.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/no.json new file mode 100644 index 0000000..8acc6a7 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/no.json @@ -0,0 +1,404 @@ +{ + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoinnstillinger", + "Documentation": "Dokumentasjon", + "Projects": "Prosjekter", + "Security": "Sikkerhet", + "Subscription": "Abonnement", + "Terms": "Vilkår", + "Universities": "Universiteter", + "about": "Om", + "about_to_delete_projects": "Du er i ferd med å slette følgende prosjekt:", + "about_to_leave_projects": "Du er i ferd med å forlate følgende prosjekter:", + "account": "Konto", + "account_not_linked_to_dropbox": "Din konto er ikke koblet til Dropbox", + "account_settings": "Kontoinnstillinger", + "actions": "Handlinger", + "activate_account": "Aktiver din konto", + "add": "Legg til", + "add_more_members": "Legg til flere medlemmer", + "add_your_first_group_member_now": "Legg til ditt første gruppemedlem nå", + "added": "lagt til", + "adding": "Legge til", + "address": "Adresse", + "admin": "admin", + "all_projects": "Alle prosjekter", + "all_templates": "Alle maler", + "already_have_sl_account": "Allerede __appName__-bruker?", + "and": "og", + "annual": "Årlig", + "anonymous": "Anonym", + "april": "April", + "ask_proj_owner_to_upgrade_for_references_search": "Vennligst spør prosjekteieren om å oppgradere for å bruke Referansesøk-funksjonen", + "august": "August", + "auto_complete": "Autofullfør", + "back_to_your_projects": "Tilbake til prosjektene dine", + "beta": "Beta", + "bibliographies": "Bibliografi", + "blank_project": "Tomt prosjekt", + "blog": "Blogg", + "built_in": "Innebygget", + "can_edit": "Kan redigere", + "cancel": "Avbryt", + "cancel_personal_subscription_first": "Du har allerede et personlig abonnement, vil du at vi skal kansellere det før du blir medlem av gruppelisensen?", + "cant_find_email": "Epostadressen er ikke registrert, beklager.", + "cant_find_page": "Beklager, vi kan ikke finne siden du leter etter.", + "change": "Endre", + "change_password": "Endre passord", + "change_plan": "Forandre plan", + "change_to_this_plan": "Bytt til denne planen", + "chat": "Chat", + "checking_dropbox_status": "sjekker Dropbox-status", + "checking_project_github_status": "Sjekker prosjektstatus i GitHub", + "choose_your_plan": "Velg din plan", + "city": "By", + "clear_cached_files": "Slett cache", + "clearing": "Rydder opp", + "click_here_to_view_sl_in_lng": "Trykk her for å bruke __appName__ på <0>__lngName__", + "close": "Lukk", + "clsi_maintenance": "Kompileringsserverene er nede for vedlikehold, og vil være tilbake snart.", + "cn": "Kinesisk (Forenklet)", + "collaboration": "Samarbeid", + "collaborator": "Samarbeidspartner", + "collabs_per_proj": "__collabcount__ samarbeidspartnere per prosjekt", + "comment": "Kommenter", + "commit": "Commit", + "common": "Vanilige", + "compile_larger_projects": "Kompiler Større Prosjekter", + "compile_mode": "Kompileringsmodus", + "compiler": "Kompilator", + "compiling": "Kompilerer", + "complete": "Ferdig", + "confirm": "Bekreft", + "confirm_new_password": "Bekreft nytt passord", + "connected_users": "Tilkoblede brukere", + "connecting": "Kobler til", + "contact": "Kontakt", + "contact_us": "Kontakt oss", + "continue_github_merge": "Jeg har merget manuelt. Fortsett", + "copy": "Kopier", + "copy_project": "Kopier prosjekt", + "copying": "kopierer", + "country": "Land", + "coupon_code": "kupong kode", + "create": "Opprett", + "create_new_subscription": "Lag nytt abonnement", + "create_project_in_github": "Lag et GitHub-repository", + "creating": "Oppretter", + "credit_card": "Kredittkort", + "cs": "Tsjekkisk", + "current_password": "Nåværende passord", + "currently_subscribed_to_plan": "Du har for øyeblikket et abonnement på <0>__planName__-planen.", + "da": "Dansk", + "de": "Tysk", + "december": "Desember", + "delete": "Slett", + "delete_account": "Slett konto", + "delete_and_leave_projects": "Slett of forlat prosjekter", + "delete_projects": "Slett prosjekter", + "delete_your_account": "Slett kontoen din", + "deleting": "Sletter", + "disconnected": "Frakoblet", + "documentation": "Dokumentasjon", + "doesnt_match": "Samsvarer ikke", + "done": "Ferdig", + "download": "Last ned", + "download_pdf": "Last ned PDF", + "download_zip_file": "Last ned .zip-fil", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_description": "Synkroniser __appName__-prosjektene dine med Dropbox. Endringer i __appName__ blir automatisk sendt til din Dropbox, og motsatt.", + "editing": "Redigerer", + "editor_disconected_click_to_reconnect": "Editor frakoblet, klikk hvor som helst for å koble til igjen.", + "email": "Epost", + "email_already_registered": "Denne eposten er allerede registrert", + "email_or_password_wrong_try_again": "Epostadressen eller passordet er feil. Vennligst prøv på nytt", + "en": "Engelsk", + "es": "Spansk", + "example_project": "Eksempelprosjekt", + "expiry": "Utløpsdato", + "export_project_to_github": "Eksporter prosjekt til GitHub", + "fast": "Hurtig", + "features": "Funksjoner", + "february": "Februar", + "first_name": "Fornavn", + "folders": "Mapper", + "font_size": "Skriftstørrelse", + "forgot_your_password": "Glemt passordet", + "fr": "Fransk", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox og revisjonshistorikk", + "full_doc_history": "Full dokument-historikk", + "generic_something_went_wrong": "Beklager, noe gikk feil :(", + "get_in_touch": "Ta kontakt", + "github_commit_message_placeholder": "Commit-melding for endringer gjort i __appName__...", + "github_is_premium": "Synkronisering med GitHub er en premium funksjonalitet", + "github_public_description": "Hvem som helst kan se dette repositoriet. Du velger hvem som kan gjøre commits.", + "github_successfully_linked_description": "Takk, kobling av GitHub-kontoen din til __appName__ var vellykket. Du kan nå eksportere __appName__-prosjektene dine til GitHub, eller importere prosjekter fra GitHub-repositoriene dine.", + "github_sync": "GitHub Synk.", + "github_sync_description": "Med GitHub-Sync kan du koble dine prosjekter i __appName__ til GitHub-repositories. Lag nye commits fra __appName__, og merge med commits gjort offline eller i GitHub.", + "github_sync_error": "Beklager, det oppstod en feil da vi forsøkte å snakke med vår GitHub-service. Prøv igjen om ett øyeblikk", + "github_validation_check": "Vennligst sjekk at navnet til repositoriet er gyldig, og at du har tilgang til å lage repositoriet.", + "global": "global", + "go_to_code_location_in_pdf": "Gå til kodeplassering i PDF", + "go_to_pdf_location_in_code": "Gå til PDF plassering i kode", + "group_admin": "Gruppeadministrator", + "groups": "Grupper", + "headers": "Overskrifter", + "help": "Hjelp", + "hotkeys": "Hurtigtaster", + "import_from_github": "Importer fra GitHub", + "import_to_sharelatex": "Importer til __appName__", + "importing": "Importerer", + "importing_and_merging_changes_in_github": "Importerer og merger endringer i GitHub", + "indvidual_plans": "Individuelle planer", + "info": "Info", + "institution": "Institusjon", + "it": "Italiensk", + "ja": "Japansk", + "january": "Januar", + "join_sl_to_view_project": "Bli med i __appName__ for å se dette prosjektet", + "july": "Juli", + "june": "Juni", + "keybindings": "Tastatursnarveier", + "ko": "Koreansk", + "language": "Språk", + "last_modified": "Sist endret", + "last_name": "Etternavn", + "latex_templates": "LaTex-maler", + "learn_more": "Lær mer", + "leave_group": "Forlat gruppe", + "leave_now": "Forlat nå", + "leave_projects": "Forlat prosjekter", + "link_to_github": "Koble til din GitHub-konto", + "link_to_github_description": "Du må autorisere __appName__ for å få tilgang til GitHub-kontoen din slik at vi kan synkronisere prosjektene dine.", + "loading": "Laster", + "loading_github_repositories": "Laster dine GitHub-repositories", + "loading_recent_github_commits": "Laster nylige commits.", + "log_in": "Logg inn", + "log_out": "Logg ut", + "logging_in": "Logger inn", + "login": "Innlogging", + "login_here": "Logg inn her", + "logs_and_output_files": "Logger og output-filer", + "lost_connection": "Mistet tilkobling", + "main_document": "Hoveddokument", + "maintenance": "Vedlikehold", + "make_private": "Gjør privat", + "march": "Mars", + "math_display": "Matematikk utstilt", + "math_inline": "Matematikk i linje", + "maximum_files_uploaded_together": "Maksimalt __max__ filer lastet opp samtidig", + "may": "Mai", + "menu": "Meny", + "merge": "Merge", + "merging": "Merging", + "month": "måned", + "monthly": "Månedlig", + "more": "Mer", + "must_be_email_address": "Må være en epostadresse", + "name": "Navn", + "native": "integrert", + "navigation": "Navigasjon", + "nearly_activated": "Du er ett steg unna fra å aktivere din __appName__ konto!", + "need_anything_contact_us_at": "Dersom det er noe du trenger, ikke nøl med å kontakte oss direkte på", + "need_to_leave": "Må du dra?", + "need_to_upgrade_for_more_collabs": "Du må oppgradere kontoen din for å legge til flere samarbeidspartnere", + "new_file": "Ny fil", + "new_folder": "Ny mappe", + "new_name": "Nytt navn", + "new_password": "Nytt passord", + "new_project": "Nytt prosjekt", + "next_payment_of_x_collectected_on_y": "Neste betaling av <0>__paymentAmmount__ vil bli belastet den <1>__collectionDate__", + "nl": "Nederlandsk", + "no": "Norsk", + "no_members": "Ingen medlemmer", + "no_messages": "Ingen meldinger", + "no_new_commits_in_github": "Ingen nye commits i GitHub siden siste merge.", + "no_planned_maintenance": "Det er for tiden ikke planlagt noe vedlikehold", + "no_preview_available": "Beklager, ingen forhåndsvisning er tilgjengelig", + "no_projects": "Ingen prosjekter", + "no_search_results": "Ingen søkeresultater", + "normal": "Normal", + "not_now": "Ikke nå", + "november": "November", + "october": "Oktober", + "off": "Av", + "ok": "OK", + "one_collaborator": "Kun én samarbeidspartner", + "one_free_collab": "Én gratis samarbeidspartner", + "online_latex_editor": "Online LaTeX-redigeringsprogram", + "optional": "Valgfri", + "or": "eller", + "other_logs_and_files": "Andre logger & filer", + "over": "over", + "owner": "Eier", + "page_not_found": "Fant ikke siden", + "password": "Passord", + "password_reset": "Tilbakestill passord", + "password_reset_email_sent": "Vi har sendt deg en email hvor du kan tilbakestille passordet ditt.", + "password_reset_token_expired": "Token for tilbakestilling av passord har utløpt. Vennligst be om ny email for tilbakestilling av passord og følg lenken.", + "pdf_viewer": "PDF-viser", + "personal": "Personlig", + "pl": "Polsk", + "planned_maintenance": "Planlagt vedlikehold", + "plans_amper_pricing": "Planer & Priser", + "plans_and_pricing": "Planer og priser", + "please_compile_pdf_before_download": "Vennligst kompiler prosjektet før du laster ned PDF", + "please_compile_pdf_before_word_count": "Vennligst kompiler prosjektet ditt før du utfører en ordtelling", + "please_enter_email": "Vennligst fyll inn epostadressen din", + "please_refresh": "Vennligst refresh siden for å fortsette.", + "please_set_a_password": "Vennligst velg et passord", + "position": "Stilling", + "presentation": "Presentasjon", + "price": "Pris", + "privacy": "Personvern", + "privacy_policy": "Erklæring om personvern", + "private": "Privat", + "problem_changing_email_address": "Det oppstod et problem med å endre epostadressen din. Prøv igjen om noen øyeblikk. Vennligst ta kontakt med oss dersom problemet vedvarer.", + "problem_talking_to_publishing_service": "Det er et problem med vår publiseringstjeneste, vennligst prøv igjen om noen få minutter", + "problem_with_subscription_contact_us": "Det er et problem med abonnementet ditt. Vennligst kontakt oss for mer informasjon.", + "processing": "Jobber", + "professional": "Profesjonell", + "project_last_published_at": "Ditt prosjekt ble sist publisert", + "project_name": "Prosjektnavn", + "project_not_linked_to_github": "Dette prosjektet er ikke koblet til et GitHub-repository. Du kan lage et repository for det i GitHub:", + "project_synced_with_git_repo_at": "Dette prosjektet er synkronisert med GitHub-repositoriet på", + "project_too_large": "Prosjektet er for stort", + "project_too_large_please_reduce": "Prosjektet har for mye tekst. Vennligst reduser størrelsen.", + "project_url": "Prosjekt URL", + "projects": "Prosjekter", + "pt": "Portugisisk", + "public": "Offentlig", + "publish": "Publiser", + "publish_as_template": "Publiser som mal", + "publishing": "Publiserer", + "pull_github_changes_into_sharelatex": "Pull forandringer i GitHub til __appName__", + "push_sharelatex_changes_to_github": "Push forandringer i __appName__ til GitHub", + "read_only": "Skrivebeskyttet", + "recent_commits_in_github": "Nylige commits i GitHub", + "recompile": "Rekompiler", + "reconnecting": "Kobler til", + "reconnecting_in_x_secs": "Kobler til om __seconds__ sekunder", + "refresh_page_after_starting_free_trial": "Vennligst last inn siden på nytt etter at du har startet din gratis prøveperiode.", + "regards": "Takk", + "register": "Registrer", + "register_to_edit_template": "Vennligst registrer deg for å redigere __templateName__ malen", + "registered": "Registrert", + "registering": "Registrerer", + "remove_collaborator": "Fjern samarbeidspartner", + "remove_from_group": "Fjern fra gruppe", + "removed": "fjernet", + "removing": "Fjerning", + "rename": "Gi nytt navn", + "rename_project": "Gi prosjektet nytt navn", + "repository_name": "Repository-navn", + "republish": "Re-publiser", + "request_password_reset": "Be om nytt passord", + "request_sent_thank_you": "Forespørsel sendt. Takk.", + "required": "påkrevd", + "reset_password": "Tilbakestill passord", + "reset_your_password": "Tilbakestill passordet ditt", + "restore": "Gjenopprett", + "restoring": "Gjenoppretter", + "restricted": "Begrenset", + "restricted_no_permission": "Begrenset, beklager, du har ikke tillatelse til å laste denne siden.", + "ro": "Rumensk", + "role": "Stilling", + "ru": "Russisk", + "saving": "Lagrer", + "saving_notification_with_seconds": "Lagrer __docname__... (__seconds__ sekunder med ulagrede endringer)", + "search_bib_files": "Søk etter forfatter, tittel, år", + "search_projects": "Søk prosjekter", + "search_references": "Søk i .bib-filene for dette prosjektet", + "security": "Sikkerhet", + "select_github_repository": "Velg et GitHub-repository å importere til __appName__.", + "send_first_message": "Send din første melding", + "september": "September", + "server_error": "Serverfeil", + "set_new_password": "Sett nytt passord", + "set_password": "Sett passord", + "settings": "Innstillinger", + "share": "Del", + "share_project": "Del prosjekt", + "share_with_your_collabs": "Del med dine samarbeidspartnere", + "shared_with_you": "Delt med deg", + "show_hotkeys": "Vis hurtigtaster", + "somthing_went_wrong_compiling": "Beklager, noe gikk galt og prosjektet ditt kunne ikke bli kompilert. Vennligst prøv igjen om noen få øyeblikk.", + "source": "Kilde", + "spell_check": "Stavekontroll", + "start_free_trial": "Start gratis prøveperiode!", + "state": "Fylke", + "student": "Student", + "subject": "Emne", + "subscribe": "Abonner", + "subscription": "Abonnement", + "subscription_canceled_and_terminate_on_x": " Ditt abonnement har blitt kansellert og vil avsluttes den <0>__terminateDate__. Ingen ytterligere belastninger vil bli foretatt.", + "suggestion": "Forslag", + "sure_you_want_to_change_plan": "Er du sikker på at du vil bytte plan til <0>__planName__?", + "sure_you_want_to_leave_group": "Er du sikker på at du vil forlate denne gruppen?", + "sv": "Svensk", + "sync": "Synk", + "sync_project_to_github_explanation": "Alle endringer du har gjort i __appName__ vil bli commited og merged med eventuelle oppdateringer i GitHub.", + "sync_to_dropbox": "Synkroniser til Dropbox", + "sync_to_github": "Synkroniser til GitHub", + "take_me_home": "Ta meg hjem!", + "template_description": "Mal Beskrivelse", + "templates": "Maler", + "terms": "Betingelser", + "thank_you": "Takk", + "thanks": "Takk", + "thanks_for_subscribing": "Takk for at du abonnerer!", + "thanks_for_subscribing_you_help_sl": "Takk for at du abonnerer til __planName__ planen. Støtte fra personer som deg gjør at __appName__ kan fortsette å vokse og forbedres.", + "thanks_settings_updated": "Takk, endringene dine har blitt lagret.", + "theme": "Tema", + "thesis": "Avhandling", + "this_project_is_public": "Dette prosjektet er offentlig og kan redigeres av alle med riktig URL.", + "this_project_is_public_read_only": "Dette prosjektet er offentlig og kan bli vist, men ikke redigert, av alle med URLen.", + "this_project_will_appear_in_your_dropbox_folder_at": "Dette prosjektet vil bli plassert i din Dropbox-mappe på ", + "three_free_collab": "Tre gratis samarbeidspartnere", + "timedout": "Tok for lang tid", + "title": "Tittel", + "to_many_login_requests_2_mins": "Denne kontoen har hatt for mange innloggingsforsøk. Vennligst vent 2 minutter før du prøver å logge inn igjen", + "to_modify_your_subscription_go_to": "For å endre abonnementet ditt gå til", + "too_many_files_uploaded_throttled_short_period": "For mange filer lastet opp, dine opplastninger har blitt begrenset i en kort periode.", + "too_recently_compiled": "Dette prosjektet ble kompilert veldig nylig, så kompilasjonen har blitt hopper over.", + "total_words": "Totalt antall ord", + "tr": "Tyrkisk", + "try_now": "Prøv nå", + "uk": "Ukrainsk", + "university": "Universitet", + "unlimited_collabs": "Ubegrenset antall samarbeidspartnere", + "unlimited_projects": "Ubegrenset antall prosjekter", + "unlink": "Koble fra", + "unlink_github_warning": "Eventuelle prosjekter du har synkronisert med GitHub vil bli koblet fra og vil ikke lenger bli holdt synkronisert med GitHub. Er du sikker på at du vil koble fra GitHub-kontoen din?", + "unpublish": "Trekk tilbake", + "unpublishing": "Avpubliserer", + "unsubscribe": "Avslutt abonnement", + "unsubscribed": "Abonnement avsluttet", + "unsubscribing": "Avslutter abonnement", + "update": "Oppdater", + "update_account_info": "Oppdater kontoinformasjon", + "update_dropbox_settings": "Oppdater Dropbox-innstillinger", + "update_your_billing_details": "Oppdater dine faktureringsdetaljer", + "updating_site": "Oppdaterer side", + "upgrade": "Oppgrader", + "upgrade_now": "Oppgrader Nå", + "upgrade_to_get_feature": "Oppgrader for å få __feature__, pluss:", + "upload": "Last opp", + "upload_project": "Last opp prosjekt", + "upload_zipped_project": "Last opp zippet prosjekt", + "user_wants_you_to_see_project": "__username__ ønsker at du skal se __projectname__", + "vat_number": "Org. nummer", + "view_all": "Vis alle", + "view_in_template_gallery": "Se i malgalleri", + "welcome_to_sl": "Velkommen til __appName__", + "word_count": "Ordtelling", + "year": "år", + "you_have_added_x_of_group_size_y": "Du har lagt til <0>__addedUsersSize__ av <1>__groupSize__ tilgjengelige deltagere", + "your_plan": "Din plan", + "your_projects": "Dine prosjekter", + "your_subscription": "Ditt abonnement", + "your_subscription_has_expired": "Dit abonnement har utgått.", + "zh-CN": "Kinesisk" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pl.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pl.json new file mode 100644 index 0000000..e5007ea --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pl.json @@ -0,0 +1,234 @@ +{ + "about_to_delete_projects": "Zaraz usuniesz następujące projekty:", + "account": "Konto", + "account_not_linked_to_dropbox": "Twoje konto nie jest powiązane z Dropboxem", + "account_settings": "Ustawienia konta", + "actions": "Akcje", + "add": "Dodaj", + "add_more_members": "Dodaj członków", + "all_projects": "Wszystkie projekty", + "already_have_sl_account": "Czy masz już konto __appName__?", + "and": "i", + "annual": "Rocznie", + "anonymous": "Anonimowy", + "auto_complete": "automatyczne dopełnianie", + "back_to_your_projects": "Wróć do swoich projektów", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Pusty projekt", + "blog": "Blog", + "built_in": "Wbudowana", + "can_edit": "Może edytować", + "cancel": "Anuluj", + "cant_find_email": "Przykro nam, ale ten adres email nie jest zarejestrowany.", + "cant_find_page": "Przykro nam, ale nie możemy znaleźć strony której szukasz.", + "change": "Zmień", + "change_password": "Zmień hasło", + "chat": "Czat", + "checking_dropbox_status": "sprawdzanie statusu Dropboxa", + "choose_your_plan": "Wybierz swój plan", + "clear_cached_files": "Wyczyść pliki z cache", + "clearing": "Czyszczenie", + "click_here_to_view_sl_in_lng": "Kliknij tutaj, żeby używać __appName__ w <0>__lngName__m", + "collaborator": "Współpracownik", + "collabs_per_proj": "__collabcount__ współpracowników na projekt", + "comment": "Skomentuj", + "common": "Wspólne", + "compiler": "Kompilator", + "compiling": "Kompilowanie", + "complete": "Zakończono", + "confirm_new_password": "Potwierdź nowe hasło", + "connecting": "Łączenie", + "contact": "Kontakt", + "contact_us": "Skontaktuj się z nami", + "copy": "Kopiuj", + "copy_project": "Kopiuj projekt", + "copying": "kopiowanie", + "create": "Utwórz", + "creating": "Tworzenie", + "cs": "Czeski", + "current_password": "Aktualne hasło", + "da": "Duński", + "de": "Niemiecki", + "delete": "Usuń", + "delete_account": "Usuń konto", + "delete_your_account": "Usuń konto", + "deleting": "Usuwanie", + "disconnected": "Rozłączony", + "documentation": "Dokumentacja", + "doesnt_match": "Nie zgadza się", + "done": "Zrobione", + "download": "Ściągnij", + "download_pdf": "Ściągnij PDF", + "download_zip_file": "Ściągnij plik .zip", + "dropbox_sync": "Synchronizacja z Dropbox", + "editing": "Edytowanie", + "email": "Email", + "en": "Angielski", + "error": "Błąd", + "es": "Hiszpański", + "example_project": "Przykładowy projekt", + "first_name": "Imię", + "folders": "Foldery", + "font_size": "Rozmiar czcionki", + "forgot_your_password": "Zapomniałeś hasła?", + "fr": "Francuski", + "free": "Darmowy", + "free_dropbox_and_history": "Darmowy Dropbox i historia", + "full_doc_history": "Pełna historia dokumentu", + "generic_something_went_wrong": "Przepraszamy, coś poszło nie tak :(", + "github_sync_error": "Przepraszamy, ale wystąpił błąd komunikacji z naszym kontem GitHub. Proszę spróbuj ponownie za parę chwil.", + "help": "Pomoc", + "hotkeys": "Skróty klawiszowe", + "indvidual_plans": "Plany indywidualne", + "info": "Informacje", + "institution": "Instytucja", + "it": "Włoski", + "join_sl_to_view_project": "Dołącz do __appName__, aby zobaczyć ten projekt", + "language": "Język", + "last_modified": "Ostatnio modyfikowany", + "last_name": "Nazwisko", + "latex_templates": "Szablony LaTeX", + "learn_more": "Dowiedz się więcej", + "loading": "Ładowanie", + "log_in": "Zaloguj się", + "log_out": "Wyloguj się", + "logging_in": "Logowanie", + "login": "Login", + "login_here": "Zaloguj się tutaj", + "logs_and_output_files": "Logi i pliki wynikowe", + "lost_connection": "Utracono połączenie", + "main_document": "Główny plik", + "make_private": "Ustaw projekt jako prywatny", + "menu": "Menu", + "month": "miesiąc", + "monthly": "Miesięcznie", + "more": "więcej", + "must_be_email_address": "Musi być adresem email", + "name": "Nazwa", + "native": "natywna", + "navigation": "Nawigacja", + "need_to_leave": "Musisz nas opuścić?", + "new_file": "Nowy plik", + "new_folder": "Nowy folder", + "new_name": "Nowa nazwa", + "new_password": "Nowe hasło", + "new_project": "Nowy projekt", + "nl": "Duński", + "no": "Norweski", + "no_members": "Brak członków", + "no_messages": "Brak wiadomości", + "no_planned_maintenance": "Nie ma obecnie żadnych zaplanowanych konserwacji", + "no_preview_available": "Przepraszamy, pogląd jest niedostępny.", + "no_projects": "Brak projektów", + "off": "Wyłączone", + "ok": "OK", + "one_collaborator": "Tylko jeden współpracownik", + "one_free_collab": "Jeden darmowy współpracownik", + "or": "lub", + "other_logs_and_files": "Inne logi i pliki", + "owner": "Właściciel", + "page_not_found": "Strona nie znaleziona", + "password": "Hasło", + "password_reset": "Resetowanie hasła", + "password_reset_email_sent": "Wysłaliśmy do Ciebie emaila, żeby dokończyć proces resetowania hasła", + "pdf_viewer": "Przeglądarka PDF", + "personal": "Osobiste", + "pl": "Polski", + "planned_maintenance": "Planowana konserwacja", + "plans_and_pricing": "Plany i cennik", + "please_enter_email": "Wpisz swój adres email", + "please_refresh": "Proszę odśwież stronę aby kontynuować.", + "position": "Stanowisko", + "presentation": "Prezentacja", + "price": "Cena", + "privacy": "Prywatność", + "privacy_policy": "Polityka prywatności", + "private": "Prywatny", + "processing": "przetwarzanie", + "professional": "Profesjonalne", + "project_last_published_at": "Twój projekt był ostatnio publikowany dnia", + "project_name": "Nazwa projektu", + "projects": "Projekty", + "pt": "Portugalski", + "public": "Publiczny", + "publish": "Publikuj", + "publish_as_template": "Publikuj jako szablon", + "read_only": "tylko odczyt", + "recompile": "Przekompiluj", + "reconnecting": "Ponowne łączenie", + "reconnecting_in_x_secs": "Próba połączenia za __seconds__ s", + "refresh_page_after_starting_free_trial": "Odśwież tę stronę po rozpoczęciu darmowego trialu", + "regards": "Dziękujemy", + "register": "Zarejestruj się", + "register_to_edit_template": "Zarejestruj się, żeby edytować szablon __templateName__", + "registered": "Zarejestrowany", + "registering": "Rejestracja", + "remove_from_group": "Usuń z grupy", + "rename": "Zmień nazwę", + "rename_project": "Zmień nazwę projektu", + "request_password_reset": "Poproś o nowe hasło", + "required": "wymagane", + "reset_your_password": "Zresetuj swoje hasło", + "restore": "Przywróć", + "restoring": "Przywracanie", + "restricted_no_permission": "Wstęp wzbroniony - nie masz uprawnień, aby załadować tę stronę.", + "ro": "Rumuński", + "role": "Rola", + "ru": "Rosyjski", + "saving": "Zapisywanie", + "saving_notification_with_seconds": "Zapisywanie pliku __docname__... (__seconds__ sekund niezapisanych zmian)", + "search_projects": "Przeszukaj projekty", + "security": "Bezpieczeństwo", + "send_first_message": "Wyślij pierwszą wiadomość", + "server_error": "Błąd serwera", + "set_new_password": "Ustaw nowe hasło", + "settings": "Ustawienia", + "share": "Udostępnij", + "share_project": "Udostępnij projekt", + "share_with_your_collabs": "Udostępnij swoim współpracownikom", + "shared_with_you": "Udostępnione dla Ciebie", + "show_hotkeys": "Pokaż skróty klawiszowe", + "somthing_went_wrong_compiling": "Przepraszamy, coś poszło nie tak i twój projekt nie mógł zostać skompilowany. Spróbuj ponownie za kilka chwil.", + "source": "Pliki źródłowe", + "spell_check": "Sprawdzanie pisowni", + "start_free_trial": "Rozpocznij darmowy okres próbny!", + "student": "Student", + "sv": "Szwedzki", + "sync": "Synchronizacja", + "sync_to_dropbox": "Synchronizuj z Dropbox", + "take_me_home": "Zabierz mnie do domu!", + "template_description": "Opis szablony", + "templates": "Szablony", + "terms": "Warunki", + "thanks": "Dziękuję", + "thanks_settings_updated": "Dziękuję, twoje ustawienia zostały zaktualizowane.", + "theme": "Skórka", + "thesis": "Praca dyplomowa", + "this_project_is_public": "Ten projekt jest publiczny i może być edytowany przez każdego kto posiada link.", + "timedout": "Koniec limitu czasu", + "title": "Tytuł", + "try_now": "Spróbuj teraz", + "uk": "Ukraiński", + "university": "Uniwersytet", + "unlimited_collabs": "Bez limitu współpracowników", + "unlimited_projects": "Nielimitowane projekty", + "unpublish": "Zaprzestaj publikację", + "unsubscribe": "Wypisz", + "unsubscribed": "Wypisano", + "unsubscribing": "Wypisywanie", + "update": "Zakutalizuj", + "update_account_info": "Zaktualizuj informacje o koncie", + "update_dropbox_settings": "Zaktualizuj ustawienia Dropbox", + "upload": "Wyślij plik", + "upload_project": "Wyślij projekt", + "upload_zipped_project": "Wyślij projekt w pliku ZIP", + "user_wants_you_to_see_project": "__username__ chce, żebyś zobaczył __projectname__", + "view_all": "Zobacz wszystko", + "view_in_template_gallery": "Zobacz w galerii szablonów", + "welcome_to_sl": "Witaj w __appName__", + "year": "rok", + "your_plan": "Twój plan", + "your_projects": "Twoje projekty", + "your_subscription": "Twoja subskrypcja" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pt.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pt.json new file mode 100644 index 0000000..b344dae --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pt.json @@ -0,0 +1,717 @@ +{ + "About": "Sobre", + "Account": "Conta", + "Account Settings": "Configurações da Conta", + "Documentation": "Documentação", + "Projects": "Projetos", + "Security": "Segurança", + "Subscription": "Inscrição", + "Terms": "Termos", + "Universities": "Universidades", + "about": "Sobre", + "about_to_archive_projects": "Você está prestes a arquivar os seguintes projetos:", + "about_to_delete_projects": "Você está prestes a excluir os seguintes projetos:", + "about_to_leave_projects": "Você está prestes à deixar de seguir os projetos:", + "accept": "Aceitar", + "accept_all": "Aceitar todos", + "accept_invitation": "Aceitar convite", + "accept_or_reject_each_changes_individually": "Aceitar ou rejeitar cada alteração individualmente", + "accepted_invite": "Convite aceito", + "accepting_invite_as": "Você está aceitando esse convite como", + "account": "Conta", + "account_not_linked_to_dropbox": "Sua conta não está vinculada ao Dropbox", + "account_settings": "Configurações da Conta", + "actions": "Ações", + "activate": "Ativar", + "activate_account": "Ative sua conta", + "activating": "Ativando", + "activation_token_expired": "Seu token de ativação expirou, você precisa que outro seja enviado para você.", + "add": "Adicionar", + "add_another_email": "Adicionar outro e-mail", + "add_comma_separated_emails_help": "Separa múltiplos endereços de emails utilizando vírgula (,).", + "add_comment": "Adicionar comentário", + "add_more_members": "Adicionar mais membros", + "add_new_email": "Adicionar novo e-mail", + "add_role_and_department": "Adicionar perfil e departamento", + "add_your_comment_here": "Adicione seu comentário aqui", + "add_your_first_group_member_now": "Adicione seu primeiro membro no grupo agora", + "added": "adicionado", + "adding": "Adicionando", + "address": "Endereço", + "admin": "admin", + "admin_user_created_message": "Criar um usuário admin, Entrar aqui para continuar", + "aggregate_changed": "Alterado", + "aggregate_to": "para", + "all_premium_features": "Todos os recursos premium", + "all_projects": "Todos Projetos", + "all_templates": "Todos os Modelos", + "already_have_sl_account": "Já possui uma conta no __appName__?", + "and": "e", + "annual": "Anual", + "anonymous": "Anônimo", + "anyone_with_link_can_edit": "Qualquer um com esse link pode editar esse projeto", + "anyone_with_link_can_view": "Qualquer um com esse link pode ver esse projeto", + "april": "Abril", + "archive": "Arquivar", + "archive_projects": "Projetos Arquivados", + "archived_projects": "Projetos Arquivados", + "are_you_sure": "Você tem certeza?", + "ask_proj_owner_to_upgrade_for_full_history": "Por favor, peça ao dono do projeto para atualizar para acessar o recurso de Histórico Completo.", + "ask_proj_owner_to_upgrade_for_references_search": "Peça ao proprietário do projeto para atualizar para usar o recurso de Pesquisa de Referências.\n", + "august": "Agosto", + "auto_close_brackets": "Fechamento Automático de Delimitadores", + "auto_compile": "Compilar Automaticamente", + "auto_complete": "Auto-completar", + "autocompile_disabled": "Autocompilação desativada", + "autocompile_disabled_reason": "Devido à alta carga do servidor, a recompilação de fundo foi desativada temporariamente. Recompile clicando no botão acima.", + "autocomplete": "Autocompletar", + "autocomplete_references": "Referência Autocompletar (dentro do bloco \\cite{})", + "back_to_editor": "Voltar ao editor", + "back_to_your_projects": "Voltar ao seus projetos", + "beta": "Beta", + "beta_program_already_participating": "Você está inscrito no Programa Beta.", + "beta_program_badge_description": "Enquanto usa o __appName__, você verá os recursos beta marcados com este emblema:", + "beta_program_benefits": "Nós estamos sempre melhorando o __appName__. Ingressando em nosso Programa Beta você pode ter acesso aos novos recursos e nos ajudar a entender melhor suas necessidades.", + "beta_program_opt_in_action": "Cadastrar no Programa Beta", + "beta_program_opt_out_action": "Descadastrar do Programa Beta", + "bibliographies": "Bibliografia", + "blank_project": "Projeto Em Branco", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de 50% aos planos premium nesta página para nossos usuários no Brasil. Confira os novos preços mais baixos.", + "built_in": "Embutido", + "bulk_accept_confirm": "Vocês tem certeza que deseja aceitar as __nChanges__ alterações selecionadas?", + "bulk_reject_confirm": "Vocês tem certeza que deseja rejeitar as __nChanges__ alterações selecionadas?", + "by": "por", + "can_edit": "Pode Editar", + "cancel": "Cancelar", + "cancel_my_account": "Cancelar minha inscrição", + "cancel_personal_subscription_first": "Você já tem uma inscrição pessoal, você gostaria que cancelássemos a primeira antes de se juntar à licença de grupo?", + "cancel_your_subscription": "Parar Sua Inscrição", + "cannot_invite_non_user": "Não foi possível enviar o convite. O destinatário deve ter uma conta no __appName__", + "cannot_invite_self": "Não pode enviar convite para você mesmo", + "cannot_verify_user_not_robot": "Desculpe, não conseguimos verificar se você não é um robô. Por favor, verifique se o Google reCAPTCHA não está sendo bloqueado por algum firewall ou bloqueador de anúncios.", + "cant_find_email": "Esse email não está registrado, desculpe.", + "cant_find_page": "Desculpe, não conseguimos achar a página que você está procurando.", + "change": "Modificado", + "change_password": "Mudar Senha", + "change_plan": "Mudar plano", + "change_to_this_plan": "Alterar para esse plano", + "chat": "Bate-papo", + "checking": "Verificando", + "checking_dropbox_status": "verificando estado do Dropbox", + "checking_project_github_status": "Verificando estado do projeto no GitHub", + "choose_your_plan": "Escolha seu plano", + "city": "Cidade", + "clear_cached_files": "Limpar arquivos em cache", + "clear_search": "limpar pesquisa", + "clear_sessions": "Limpar Sessões", + "clear_sessions_description": "Essa é a lista de outras sessões (logins) que estão ativas na sua conta, sem incluir sua sessão corrente. Clique no botão \"Limpar Sessões\" para desconectar elas.", + "clear_sessions_success": "Sessões Limpas", + "clearing": "Limpando", + "click_here_to_view_sl_in_lng": "Clique aqui e veja a página __appName__ em <0>__lngName__", + "clone_with_git": "Clonar com o Git", + "close": "Fechar", + "clsi_maintenance": "O servidor de compilação está fora do ar para manutenção, logo estará de volta.", + "cn": "Chinês (Simplificado)", + "code_check_failed": "Verificação do código falhou", + "code_check_failed_explanation": "Seu código contém erros que precisam ser corrigidos antes de rodar a auto-compilação", + "collaboration": "Colaboração", + "collaborator": "Colaborador", + "collabs_per_proj": "__collabcount__ colaboradores por projeto", + "comment": "Comentário", + "commit": "Commitar", + "common": "Comum", + "compact": "Compacto", + "compile_larger_projects": "Compile projetos maiores", + "compile_mode": "Modo de Compilação", + "compile_terminated_by_user": "O compilador foi cancelado usando o botão \"Parar Compilação\". Você pode olhar os logs e ver onde a compilação parou.", + "compiler": "Compilador", + "compiling": "Compilando", + "complete": "Completo", + "confirm": "Confirmar", + "confirm_email": "Confirme o Email", + "confirm_new_password": "Confirmar Nova Senha", + "conflicting_paths_found": "Conflito de Caminhos Encontrado", + "connected_users": "Usuários Conectados", + "connecting": "Conectando", + "contact": "Contato", + "contact_message_label": "Mensagem", + "contact_us": "Entre em Contato", + "continue_github_merge": "Mesclei manualmente. Continuar", + "copy": "Copiar", + "copy_project": "Copiar Projeto", + "copying": "Copiando", + "country": "País", + "coupon_code": "Código de cupom", + "create": "Criar", + "create_first_admin_account": "Criar o primeira conta de Administrador", + "create_new_subscription": "Crie Nova Inscrição", + "create_project_in_github": "Criar um repositório no GitHub", + "creating": "Criando", + "credit_card": "Cartão de Crédito", + "cs": "Tcheco", + "current_file": "Arquivo atual", + "current_password": "Senha Atual", + "currently_seeing_only_24_hrs_history": "Você está vendo as alterações das últimas 24 horas neste projeto.", + "currently_subscribed_to_plan": "Você está atualmente inscrito no plano <0>__planName__", + "da": "Dinamarquês", + "de": "Alemão", + "december": "Dezembro", + "default": "Padrão", + "delete": "Excluir", + "delete_account": "Excluir Conta", + "delete_account_warning_message_3": "Você está prestes a excluir todos os dados de sua conta permanentemente, incluindo seus projetos e configurações. Digite o endereço de e-mail e sua senha da conta nas caixas abaixo para continuar.", + "delete_and_leave_projects": "Deletar e Deixar Projetos", + "delete_projects": "Deletar Projetos", + "delete_your_account": "Exclua sua conta", + "deleting": "Excluindo", + "description": "Descrição", + "disconnected": "Desconectado", + "documentation": "Documentação", + "doesnt_match": "Não corresponde", + "done": "Pronto", + "dont_have_account": "Não tem uma conta?", + "download": "Baixar", + "download_pdf": "Baixar PDF", + "download_zip_file": "Baixar arquivo .zip", + "drag_here": "arraste aqui", + "drop_files_here_to_upload": "Largar arquivos aqui para enviar", + "dropbox_for_link_share_projs": "Este projeto foi acessado via compartilhamento de links e não será sincronizado com o seu Dropbox, a menos que você seja convidado por e-mail pelo proprietário do projeto", + "dropbox_integration_info": "Trabalhe online ou offline perfeitamente com a sincronia do Dropbox. As suas alterações locais serão enviadas automaticamente para a sua versão do Overleaf e vice-e-versa.", + "dropbox_integration_lowercase": "Integração com Dropbox", + "dropbox_sync": "Sincronização Dropbox", + "dropbox_sync_description": "Mantenha seus projetos __appName__ sincronizados com o Dropbox. Mudanças no __appName__ serão enviadas automaticamente para o Dropbox, e o inverso também.", + "dropbox_sync_error": "Erro de sincronização do Dropbox", + "edit": "Editar", + "editing": "Editando", + "editor_disconected_click_to_reconnect": "Editor desconectado, clique em qualquer lugar para reconectar.", + "editor_theme": "Tema do editor", + "email": "Email", + "email_already_registered": "Este email já está registrado", + "email_link_expired": "Link do email expirou, por favor, solicite um link novo.", + "email_or_password_wrong_try_again": "Seu email ou senha estão incorretos. Tente novamente.", + "email_required": "Email obrigatório", + "email_sent": "Email Enviado", + "emails": "E-mails", + "emails_and_affiliations_explanation": "Adicionar outros e-mails à sua conta para acessar qualquer melhoria que a sua universidade ou instituição tem, para facilitar para colaboradores encontrarem vocês e para ter certeza que você consiga recuperar a sua conta.", + "emails_and_affiliations_title": "E-mails e Afiliações", + "en": "Inglês", + "error": "Erro", + "error_performing_request": "Um erro ocorreu enquanto sua solicitação era processada.", + "es": "Espanhol", + "every": "por", + "example_project": "Projeto Exemplo", + "expiry": "Data de Validade", + "export_csv": "Exportar CSV", + "export_project_to_github": "Exportar Projeto para o GitHub", + "faq_how_does_free_trial_works_answer": "Você obtém acesso total ao plano __appName__ escolhido durante a avaliação gratuita de __len__ dias. Não há obrigação de continuar além da versão de avaliação. Seu cartão será cobrado no final da avaliação de __len__ dias, a menos que você cancele antes disso. Você pode cancelar via suas configurações de assinatura.", + "faq_how_free_trial_works_question": "Como foi o uso da versão de experimentação?", + "faq_pay_by_invoice_question": "Eu posso pagar com boleto ou ordem de pedido?", + "fast": "Rápido", + "featured_latex_templates": "Templates LaTeX Destacados", + "features": "Recursos", + "february": "Fevereiro", + "file_action_created": "Criado", + "file_action_deleted": "Deletado", + "file_action_edited": "Editado", + "file_action_renamed": "Renomeado", + "file_already_exists": "Já existe um arquivo ou pasta com esse nome", + "files_cannot_include_invalid_characters": "Arquivos não podem ter os caracteres ’*’ ou ’/’", + "find_out_more": "Descubra Mais", + "first_name": "Primeiro Nome", + "folders": "Pastas", + "following_paths_conflict": "Os arquivos e diretórios a seguir conflitam com o mesmo caminho", + "font_family": "Família da Fonte", + "font_size": "Tamanho da Fonte", + "forgot_your_password": "Esqueceu sua senha", + "fr": "Francês", + "free": "Grátis", + "free_dropbox_and_history": "Dropbox e Histórico Grátis", + "full_doc_history": "Histórico de todo o documento", + "generic_something_went_wrong": "Desculpe, algo saiu errado", + "get_discounted_plan": "Obtenha um plano com desconto", + "get_in_touch": "Entre em contato", + "git": "Git", + "github_commit_message_placeholder": "Mensagem de commit para as alterações feitas no __appName__...", + "github_credentials_expired": "Suas credenciais de autorização do GitHub expiraram", + "github_integration_lowercase": "Integração com GitHub", + "github_is_premium": "Sincronizar com GitHub é um recurso premium", + "github_public_description": "Qualquer um pode ver esse repositório.", + "github_successfully_linked_description": "Obrigado, nós vinculamos com sucesso sua conta do GitHub com o __appName__. Agora você pode exportar seus projetos do __appName__ para o GitHub e importar seus projetos de repositórios do GitHub.", + "github_sync": "Sincronizar com GitHub", + "github_sync_description": "Com a Sincronização GitHub você pode vincular seus projetos __appName__ com os repositórios do GitHub. Crie novos commits no __appName__ e mescle com commits feitos fora ou no GitHub.", + "github_sync_error": "Desculpe, houve um erro ao se comunicar com nosso serviço do GitHub. Por favor, tente novamente mais tarde.", + "github_validation_check": "Por favor, verifique se o nome do projeto é válido e que você tem permissão para criar o repositório.", + "global": "global", + "go_to_code_location_in_pdf": "Vá para a localização do código no PDF", + "go_to_pdf_location_in_code": "Ir para a localização do PDF no código", + "group_admin": "Administrador do Grupo", + "group_plans": "Planos de Grupos", + "groups": "Grupos", + "have_more_days_to_try": "Ganhe mais __days__ dias na sua Experimentação!", + "headers": "Cabeçalhos", + "help": "Ajuda", + "help_articles_matching": "Artigos de ajuda que correspondem ao seu assunto", + "history": "Histórico", + "history_add_label": "Adicionar etiqueta", + "history_adding_label": "Adicionando marcador", + "history_are_you_sure_delete_label": "Tem certeza de que deseja excluir o seguinte marcador", + "history_delete_label": "Excluir marcador", + "history_deleting_label": "Excluindo marcador", + "history_label_created_by": "Criado por", + "history_label_project_current_state": "Estado atual", + "history_label_this_version": "Etiquetar esta versão", + "history_new_label_name": "Novo nome do marcador", + "history_view_a11y_description": "Mostrar todo o histórico do projeto ou apenas versões com marcadores.", + "history_view_all": "Todo o histórico", + "history_view_labels": "Marcadores", + "hit_enter_to_reply": "Pressione Enter para responder", + "hotkeys": "Atalhos", + "hundreds_templates_info": "Faça documentos lindos começando com modelos LaTeX da nossa galeria: revistas, conferências, teses, relatórios, currículos e muito mais.", + "i_want_to_stay": "Quero ficar", + "ignore_validation_errors": "Não verificar sintaxe", + "ill_take_it": "Eu fico com isso!", + "import_from_github": "Importar do GitHub", + "import_to_sharelatex": "Importar para o __appName__", + "importing": "Importando", + "importing_and_merging_changes_in_github": "Importar e mesclar mudanças no GitHub", + "in_good_company": "Você esta em Boa Companhia", + "indvidual_plans": "Planos individuais", + "info": "Info", + "institution": "Instituição", + "institution_account": "Conta Institucional", + "institution_and_role": "Instituição e papel", + "invalid_email": "Algum email está inválido", + "invalid_file_name": "Nome de Arquivo Inválido", + "invalid_password": "Senha inválida", + "invite_not_accepted": "Convite ainda não aceito", + "invite_not_valid": "Esse não é um convite válido do projeto", + "invite_not_valid_description": "Talvez o convite tenha expirado. Por favor, entre em contato com o dono do projeto.", + "invited_to_group": "<0>__inviterName__ lhe convidou para entrar no time no __appName__", + "ip_address": "Endereço de IP", + "is_email_affiliated": "O seu e-mail está afiliado a uma instituição? ", + "it": "Italiano", + "ja": "Japonês", + "january": "Janeiro", + "join_project": "Entrar no Projeto", + "join_sl_to_view_project": "Entre no __appName__ para ver esse projeto", + "join_team_explanation": "Por favor, clique no botão abaixo para entrar no time e aproveitar os benefícios de uma conta paga no __appName__.", + "joined_team": "Você entrou no time gerenciado por __inviterName__", + "joining": "Participando", + "july": "Julho", + "june": "Junho", + "kb_suggestions_enquiry": "Você já viu nossa <0>__kbLink__?", + "keybindings": "Atalhos", + "knowledge_base": "base de conhecimento", + "ko": "Coreano", + "language": "Idioma", + "last_modified": "Última Modificação", + "last_name": "Sobrenome", + "latam_discount_modal_info": "Obtenha todo o potencial do Overleaf com desconto de __discount__% em assinaturas premium pagas em __currencyName__. Obtenha um tempo limite de compilação mais longo, histórico completo de documentos, controle de alterações, colaboradores adicionais e muito mais.", + "latam_discount_modal_title": "Desconto em assinaturas premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de __discount__ aos planos premium nesta página para nossos usuários no __country__. Confira os novos preços mais baixos (em __currency__).", + "latex_templates": "Modelos LaTeX", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Escolha um endereço de e-mail para a primeira conta de administrador do __appName__. Isso deve corresponder a uma conta no sistema LDAP. Você será solicitado a fazer login com esta conta.", + "learn_more": "Aprenda mais", + "learn_more_about_link_sharing": "Saiba mais sobre Compartilhamento de Link", + "leave": "Sair", + "leave_group": "Sair do grupo", + "leave_now": "Sair agora", + "leave_projects": "Deixar Projetos", + "let_us_know": "Conte para nós", + "line_height": "Altura da Linha", + "link_sharing": "Compartilhamento de link", + "link_sharing_is_off": "Compartilhamento de Link está desligado, somente usuários convidados podem ver esse projeto.", + "link_sharing_is_on": "Compartilhamento de Link está ligado", + "link_to_github": "Vincule à sua conta do GitHub", + "link_to_github_description": "Você precisa autorizar o __appName__ para acessar sua conta no GitHub para permitir a sincronização dos projetos.", + "link_to_mendeley": "Vincular ao Mendeley", + "link_to_zotero": "Vincular ao Zotero", + "linked_accounts": "contas ligadas", + "links": "Links", + "loading": "Carregando", + "loading_github_repositories": "Carregando seu repositório do GitHub", + "loading_recent_github_commits": "Carregando commits recentes", + "log_hint_extra_info": "Saiba mais", + "log_in": "Entrar", + "log_in_with": "Entrar com __provider__", + "log_out": "Sair", + "logging_in": "Entrando", + "login": "Entrar", + "login_failed": "Login falhou", + "login_here": "Entre aqui", + "login_or_password_wrong_try_again": "Seu usário ou senha estão incorretos. Tente novamente.", + "login_register_or": "ou", + "login_to_overleaf": "Faça o login no Overleaf", + "login_with_service": "Logar com __service__", + "logs_and_output_files": "Logs e arquivos de saída", + "looking_multiple_licenses": "Procurando por lincenças múltiplas?", + "lost_connection": "Conexão perdida", + "main_document": "Documento principal", + "main_file_not_found": "Arquivo principal desconhecido.", + "maintenance": "Manutenção", + "make_private": "Tornar Privado", + "manage_beta_program_membership": "Gerenciar a participação no Programa Beta", + "manage_sessions": "Administrar suas sessões", + "manage_subscription": "Administrar Inscrição", + "managers_cannot_remove_admin": "Administradores não podem ser removidos", + "managers_cannot_remove_self": "Gerentes não podem remover a si mesmos", + "managers_management": "Gerenciamento de gerentes", + "march": "Março", + "mark_as_resolved": "Marcar como resolvido", + "math_display": "Exibição Matemática", + "math_inline": "Matemática em Linha", + "maximum_files_uploaded_together": "Máximo de __max__ arquivos enviados juntos", + "may": "maio", + "maybe_later": "Talvez mais tarde", + "members_management": "Gerenciamento de membros", + "mendeley": "Mendeley", + "mendeley_integration": "Integração Mendeley", + "mendeley_is_premium": "A integração com Mendeley é um recurso premium", + "mendeley_reference_loading_error": "Erro, não foi possível carregar as referências do Mendeley", + "mendeley_reference_loading_error_expired": "O token do Mendeley expirou, por favor, revincule sua conta", + "mendeley_reference_loading_error_forbidden": "Não foi possível carregar as referências do Mendeley, por favor, revincule sua conta e tente novamente", + "mendeley_sync_description": "A integração com Mendeley permite importar suas referências do mendeley para seus projetos no __appName__", + "menu": "Menu", + "merge": "Mesclar", + "merging": "Mesclando", + "month": "mês", + "monthly": "Mensalmente", + "more": "Mais", + "must_be_email_address": "Deve ser um endereço de email", + "name": "Nome", + "native": "Nativo", + "navigation": "Navegação", + "nearly_activated": "Você está a um passo de ativar sua conta no __appName__!", + "need_anything_contact_us_at": "Se houver qualquer coisa que você precisar, sinta-se à vontade para entrar em contato conosco por", + "need_to_leave": "Precisa sair?", + "need_to_upgrade_for_more_collabs": "Você precisa aprimorar sua conta para adicionar mais colaboradores.", + "new_file": "Novo arquivo", + "new_folder": "Nova pasta", + "new_name": "Novo Nome", + "new_password": "Nova Senha", + "new_project": "Novo Projeto", + "next_payment_of_x_collectected_on_y": "O próximo pagamento de <0>__paymentAmmount__ será coletado em <1>__collectionDate__", + "nl": "Holandês", + "no": "Noroeguês", + "no_comments": "Sem comentários", + "no_featured_templates": "Sem templates destacados", + "no_members": "Sem membros", + "no_messages": "Sem mensagens", + "no_new_commits_in_github": "Nenhum novo commit no GitHub desde a última mesclagem.", + "no_other_sessions": "Nenhuma outra sessão ativa.", + "no_planned_maintenance": "Não há nenhuma manutenção planejada", + "no_preview_available": "Desculpe, não há pré-visualização disponível.", + "no_projects": "Sem projetos", + "no_resolved_threads": "Não existem comentários resolvidos.", + "no_search_results": "Sem resultados", + "no_thanks_cancel_now": "Não, obrigado - Ainda quero Cancelar Agora", + "normal": "Normal", + "not_found_error_from_the_supplied_url": "O link para abrir este conteúdo no Overleaf apontou para um arquivo que não foi encontrado. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "not_now": "Não agora", + "not_registered": "Não registrado", + "notification_project_invite": "__userName__ você gostaria de entrar em __projectName__ Entrar no Projeto", + "november": "Novembro", + "number_collab": "Número de colaboradores", + "october": "Outubro", + "off": "Desligar", + "ok": "OK", + "on": "Ligado", + "one_collaborator": "Um colaborador apenas", + "one_free_collab": "Um colaborador grátis", + "online_latex_editor": "Editor LaTeX Online", + "open_a_file_on_the_left": "Abra em arquivo à esquerda", + "open_project": "Abrir Projeto", + "optional": "Opcional", + "or": "ou", + "other_actions": "Outras Ações", + "other_logs_and_files": "Outros Logs & Arquivos", + "over": "mais de", + "overall_theme": "Tema Geral", + "overview": "Visão geral", + "owner": "Dono", + "page_not_found": "Página Não Encontrada", + "password": "Senha", + "password_change_passwords_do_not_match": "Senhas não coincidem", + "password_change_successful": "Senha alterada", + "password_reset": "Reiniciar Senha", + "password_reset_email_sent": "Você receberá um email para terminar de reiniciar sua senha.", + "password_reset_token_expired": "Sua ficha de reinicialização de senha expirou.Por favor, solicite um novo email de reinicialização de senha e clique no link contido nele.", + "pdf_compile_in_progress_error": "Compilador já está executando em outra janela", + "pdf_compile_rate_limit_hit": "Limite de taxa de compilação atingido", + "pdf_compile_try_again": "Aguarde até que sua outra compilação termine antes de tentar novamente.", + "pdf_rendering_error": "Erro ao renderizar PDF", + "pdf_viewer": "Visualizador PDF", + "pending": "Pendente", + "personal": "Pessoal", + "pl": "Polonês", + "planned_maintenance": "Manutenção Planejada", + "plans_amper_pricing": "Planos & Preços", + "plans_and_pricing": "Planos e Preços", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Solicite ao proprietário do projeto que atualize para utilizar o controle de alterações", + "please_check_your_inbox": "Por favor, verifique sua caixa de entrada", + "please_compile_pdf_before_download": "Por favor, compile seu projeto antes de baixar o PDF", + "please_compile_pdf_before_word_count": "Por favor, compile seu projeto antes de executar a contagem de palavras", + "please_confirm_email": "Por favor, confirme seu e-mail __emailAddress__ clicando no link no e-mail de confirmação", + "please_confirm_your_email_before_making_it_default": "Por favor, confirme o seu email antes de tornar ele padrão.", + "please_enter_email": "Por favor, insira seu endereço de email", + "please_refresh": "Por favor, atualize a página para continuar.", + "please_set_a_password": "Por favor, insira sua senha", + "please_set_main_file": "Por favor, selecione o arquivo principal para esse projeto no menu do projeto. ", + "position": "Posição", + "presentation": "Apresentação", + "price": "Preço", + "priority_support": "Suporte prioritário", + "privacy": "Privacidade", + "privacy_policy": "Política de Privacidade", + "private": "Privado", + "problem_changing_email_address": "Houve um problema ao alterar seu endereço de email. Por favor, tente novamente em alguns minutos. Se o problema persistir, por favor, entre em contato conosco.", + "problem_talking_to_publishing_service": "Há um problema com nosso serviço de publicação, por favor tente mais tarde", + "problem_with_subscription_contact_us": "Houve um problema na sua inscrição. Por favor, entre em contato conosco para mais informações.", + "processing": "processando", + "professional": "Profissional", + "project_flagged_too_many_compiles": "Este projeto foi marcado por compilar com muita frequência. O limite vai ser restabelecido logo.", + "project_last_published_at": "Seu projeto foi publicado pela última vez em", + "project_name": "Nome do Projeto", + "project_not_linked_to_github": "Esse projeto não está vinculado a um repositório no GitHub. Você pode criar um repositório para ele no GitHub.", + "project_synced_with_git_repo_at": "Esse projeto foi sincronizado com um repositório no GitHub em", + "project_too_large": "Projeto muito grande", + "project_too_large_please_reduce": "Esse projeto tem muitos textos editáveis, por favor tente e reduza. Os maiores arquivos são:", + "project_url": "URL do projeto afetada", + "projects": "Projetos", + "pt": "Português", + "public": "Público", + "publish": "Publicar", + "publish_as_template": "Publicar Modelo", + "publishing": "Publicando", + "pull_github_changes_into_sharelatex": "Puxar mudanças do GitHub no __appName__", + "push_sharelatex_changes_to_github": "Empurrar mudanças do __appName__ no GitHub", + "quoted_text_in": "Texto citado em", + "read_only": "Somente Ler", + "realtime_track_changes": "Acompanhe alterações em tempo real.", + "reauthorize_github_account": "Reautorize sua conta GitHub", + "recent_commits_in_github": "Commits recentes no GitHub", + "recompile": "Recompilar", + "recompile_pdf": "Recompilar o PDF", + "reconnecting": "Reconectando", + "reconnecting_in_x_secs": "Reconectando em __seconds__ segs", + "reduce_costs_group_licenses": "Você pode diminuir seu trabalho e reduzir os custos com nosso desconto para licenças para grupo.", + "reference_error_relink_hint": "Se os problemas persistirem, tente revincular sua conta aqui:", + "reference_search": "Busca avançada de referências", + "reference_sync": "Gerenciador de sincronia de referências", + "refresh_page_after_starting_free_trial": "Por favor atualize essa página depois de iniciar seu teste grátis.", + "regards": "Saudações", + "register": "Registrar", + "register_to_edit_template": "Por favor, registre-se para editar o modelo __templateName__", + "registered": "Registrado", + "registering": "Registrando", + "registration_error": "Erro de Registro", + "reject": "Rejeitar", + "reject_all": "Rejeitar todos", + "remove": "remover", + "remove_collaborator": "Remover colaborador", + "remove_from_group": "Remover do grupo", + "remove_manager": "Remover gerente", + "removed": "removido", + "removing": "Removendo", + "rename": "Renomear", + "rename_project": "Renomear Projeto", + "renaming": "Renomeando", + "reopen": "Reabrir", + "reply": "Responder", + "repository_name": "Nome do Repositório", + "republish": "Replublicar", + "request_password_reset": "Solicitar redefinição de senha", + "request_sent_thank_you": "Requisição Enviada, Obrigado.", + "required": "Obrigatório", + "resend": "Reenviar", + "resend_confirmation_email": "Reenviar e-mail de confirmação", + "resending_confirmation_email": "Reenviando email de confirmação", + "reset_password": "Trocar Senha", + "reset_your_password": "Redefinir sua senha", + "resolve": "Resolver", + "resolved_comments": "Comentários resolvidos", + "restore": "Restaurar", + "restoring": "Restaurando", + "restricted": "Restrito", + "restricted_no_permission": "Restrito, desculpe você não tem permissão para carregar essa página.", + "return_to_login_page": "Retornar à página de Login", + "review": "Revisar", + "review_your_peers_work": "Revisar o trabalho de seus colegas", + "revoke_invite": "Revogar Convite", + "ro": "Romeno", + "role": "Papel", + "ru": "Russo", + "saml": "SAML", + "saml_create_admin_instructions": "Escolha um email para ser a conta de administrador do __appName__. Isso deve corresponder a uma conta no sistema SAML. Você deverá entrar com essa conta.", + "save_or_cancel-cancel": "Cancelar", + "save_or_cancel-or": "ou", + "save_or_cancel-save": "Salvar", + "saving": "Salvando", + "saving_notification_with_seconds": "Salvando __docname__... (__seconds__ segundos de alterações não salvas)", + "search_bib_files": "Busque por autor, título ou ano", + "search_projects": "Buscar projetos", + "search_references": "Buscar os arquivos .bib no projeto", + "security": "Segurança", + "see_changes_in_your_documents_live": "Ver alterações nos seus documentos, ao vivo", + "select_all_projects": "Selecionar todos", + "select_github_repository": "Selecione um repositório no GitHub para importar para o __appName__.", + "send": "Enviar", + "send_first_message": "Envie sua primeira mensagem", + "send_test_email": "Enviar email de teste", + "sending": "Enviando", + "september": "Setembro", + "server_error": "Erro no Servidor", + "services": "Serviços", + "session_created_at": "Sessão Criada Em", + "session_expired_redirecting_to_login": "Sessão Expirada. Redirecionando para a página de login em __seconds__ segundos", + "sessions": "Sessões", + "set_new_password": "Adicionar nova senha", + "set_password": "Inserir Senha", + "settings": "Configurações", + "share": "Compartilhar", + "share_project": "Compartilhar Projeto", + "share_with_your_collabs": "Compartilhar com os colaboradores", + "shared_with_you": "Compartilhado com você", + "sharelatex_beta_program": "Programa Beta __appName__", + "show_all": "mostrar tudo", + "show_hotkeys": "Mostrar Atalhos", + "show_less": "mostrar menos", + "site_description": "Um editor de LaTeX online fácil de usar. Sem instalação, colaboração em tempo real, controle de versões, centenas de templates LaTeX e mais.", + "something_went_wrong_rendering_pdf": "Alguma coisa deu errado ao renderizar o PDF.", + "somthing_went_wrong_compiling": "Desculpe, alguma coisa saiu errado e seu projeto não pode ser compilado. Por favor, tente mais tarde.", + "source": "Fonte", + "spell_check": "Verificar ortografia", + "start_by_adding_your_email": "Comece adicionando o seu e-mail.", + "start_free_trial": "Comece o Teste Grátis!", + "state": "Estado", + "status_checks": "Verificações de Status", + "still_have_questions": "Ainda tem dúvidas?", + "stop_compile": "Parar compilação", + "stop_on_validation_error": "Verificar sintaxe antes de compilar", + "student": "Estudante", + "student_disclaimer": "O desconto educacional se aplica à todos os estudantes de instituições secundárias e pós-secundárias (escolas e universidades). Nos poderemos entrar em contato com você para confirmar se você é elegível para o desconto.", + "subject": "Assunto", + "submit": "enviar", + "subscribe": "Inscrever", + "subscription": "Inscrição", + "subscription_canceled_and_terminate_on_x": "Sua inscrição foi cancelada e irá terminar em <0>__terminateDate__. Nenhum pagamento futuro será cobrado.", + "suggestion": "Sugestões", + "sure_you_want_to_change_plan": "Você tem certeza que deseja alterar o plano para <0>__planName__?", + "sure_you_want_to_delete": "Você tem certeza que deseja excluir permanentemente os seguintes arquivos?", + "sure_you_want_to_leave_group": "Você tem certeza que deseja sair do grupo?", + "sv": "Suéco", + "sync": "Sincronia", + "sync_dropbox_github": "Sincronize com Dropbox e GitHub", + "sync_project_to_github_explanation": "Qualquer mudança feita no __appName__ será commitada e mesclada com qualquer atualização no GitHub.", + "sync_to_dropbox": "Sincronize com Dropbox", + "sync_to_github": "Sincronizar com GitHub", + "syntax_validation": "Checar código", + "take_me_home": "Ir para o início!", + "tc_everyone": "Todos", + "tc_guests": "Convidados", + "tc_switch_everyone_tip": "Alternar acompanhar-alterações para todos", + "tc_switch_guests_tip": "Alternar acompanhar-alterações para todos os convidados por links compartilhado", + "tc_switch_user_tip": "Alternar acompanhar-alterações para esse usuário", + "template_description": "Descrição do Modelo", + "templates": "Modelos", + "terminated": "Compilação cancelada", + "terms": "Termos", + "thank_you": "Obrigado", + "thanks": "Obrigado", + "thanks_for_subscribing": "Obrigado por se inscrever!", + "thanks_for_subscribing_you_help_sl": "Obrigado por se inscriver ao plano __planName__. É a ajuda de pessoas como você que permitem ao __appName__ continuar a crescer e melhorar.", + "thanks_settings_updated": "Obrigado, suas configurações foram salvas.", + "the_file_supplied_is_of_an_unsupported_type ": "O link para abrir este conteúdo no Overleaf apontou para o tipo errado de arquivo. Tipos de arquivos válidos são arquivos .tex e .zip. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", + "the_requested_conversion_job_was_not_found": "O link para abrir este conteúdo no Overleaf especificou um trabalho de conversão que não pôde ser encontrado. É possível que o trabalho tenha expirado e precise ser executado novamente. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "O link para abrir este conteúdo no Overleaf incluiu um URI inválido. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "theme": "Tema", + "thesis": "Tese", + "this_is_your_template": "Este é seu modelo de seu projeto", + "this_project_is_public": "Esse projeto é publico e pode ser editado por qualquer pessoa com a URL.", + "this_project_is_public_read_only": "Esse projeto é público e pode ser visualizado, mas não editado, por qualquer pessoa com a URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Esse projeto irá aparecer em sua pasta Dropbox em ", + "thousands_templates": "Milhares de templates", + "three_free_collab": "Três colaboradores grátis", + "timedout": "Tempo Expirado", + "title": "Título", + "to_add_more_collaborators": "Para adicionar mais colaboradores ou ativar o compartilhamento de links, pergunte ao proprietário do projeto", + "to_many_login_requests_2_mins": "Essa conta teve muitas solicitações de entrada. Por favor, aguarde 2 minutos antes de tentar novamente.", + "to_modify_your_subscription_go_to": "Para modificar sua inscrição, vá para", + "too_many_files_uploaded_throttled_short_period": "Excesso de arquivos enviados, seus envios foram suprimidos por um curto tempo.", + "too_many_requests": "Muitas solicitações foram recebidas em um curto espaço de tempo. Por favor, aguarde alguns instantes e tente novamente.", + "too_recently_compiled": "Esse projeto foi compilado recentemente, então a compilação foi pulada.", + "tooltip_hide_filetree": "Clique para esconder a árvore de arquivos", + "tooltip_hide_pdf": "Clique para esconder o PDF", + "tooltip_show_filetree": "Clique para mostrar a árvore de arquivos", + "tooltip_show_pdf": "Clique para mostrar o PDF", + "total_words": "Total de Palavras", + "tr": "Turco", + "track_any_change_in_real_time": "Acompanhar qualquer alteração, em tempo real", + "track_changes": "Acompanhe as mudanças", + "track_changes_is_off": "Controle de alterações está desligado", + "track_changes_is_on": "Controle de alterações está ligado", + "tracked_change_added": "Adicionado", + "tracked_change_deleted": "Deletado", + "try_again": "Por favor, tente novamente", + "try_it_for_free": "Experimente gratuitamente", + "try_now": "Tente Agora", + "turn_off_link_sharing": "Desligar compartilhamento de Link", + "turn_on_link_sharing": "Ligar compartilhamento de Link.", + "uk": "Ucraniano", + "unable_to_extract_the_supplied_zip_file": "Abrir este conteúdo no Overleaf falhou porque o arquivo zip não pôde ser extraído. Por favor, certifique-se de que é um arquivo zip válido. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", + "uncategorized": "Sem Categoria", + "unconfirmed": "Não confirmado", + "university": "Universidade", + "unlimited": "Ilimitado", + "unlimited_collabs": "Colaboradores Ilimitados", + "unlimited_projects": "Projetos ilimitados", + "unlink": "Desvincular", + "unlink_github_warning": "Qualquer projeto que você tenha sincronizado com o GitHub será desconectado e não poderão mais ser sincronizados com o GitHub. Você tem certeza que deseja desvincular sua conta do GitHub.", + "unlink_reference": "Desvincular Provedor de Referências", + "unlink_warning_reference": "Cuidado: Quando você desvincular sua conta desse provedor você não poderá mais importar as referências para os seus projetos.", + "unpublish": "Despublicar", + "unpublishing": "Despublicando", + "unsubscribe": "Cancelar Inscrição", + "unsubscribed": "Não inscrito", + "unsubscribing": "Cancelando Inscrição", + "update": "Atualizar", + "update_account_info": "Atualizar Informações da Conta", + "update_dropbox_settings": "Atualizar configurações do Dropbox", + "update_your_billing_details": "Atualize Seus Detalhes de Pagamento", + "updating_site": "Atualizando Site", + "upgrade": "Atualizar", + "upgrade_cc_btn": "Aprimorar agora, pague depois de 7 dias", + "upgrade_now": "Aprimorar Agora", + "upgrade_to_get_feature": "Aprimore para ter __feature__, mais:", + "upgrade_to_track_changes": "Atualizar para acompanhar alterações", + "upload": "Carregar", + "upload_project": "Carregar Projeto", + "upload_zipped_project": "Subir Projeto Zipado", + "user_already_added": "Usuário já foi adicionado", + "user_not_found": "Usuário não encontrado", + "user_wants_you_to_see_project": "__username__ gostaria que você participasse de __projectname__", + "vat_number": "Número IVA", + "view_all": "Ver Todos", + "view_in_template_gallery": "Ver isso na galeria de modelos", + "welcome_to_sl": "Bem-vindo ao __appName__", + "wide": "Largo", + "word_count": "Contagem de Palavras", + "year": "ano", + "you_have_added_x_of_group_size_y": "Você adicionou <0>__addedUsersSize__ de <1>__groupSize__ membros disponíveis.", + "your_plan": "Seu plano", + "your_projects": "Seus Projetos", + "your_sessions": "Suas Sessões", + "your_subscription": "Sua Inscrição", + "your_subscription_has_expired": "Sua inscrição expirou.", + "zh-CN": "Chinês", + "zotero": "Zotero", + "zotero_integration": "Integração Zotero.", + "zotero_is_premium": "A integração Zotero é um recurso premium", + "zotero_reference_loading_error": "Erro, não foi possível carregar as referências do Zotero", + "zotero_reference_loading_error_expired": "O token do Zotero expirou, por favor, revincule sua conta", + "zotero_reference_loading_error_forbidden": "Não foi possível carregar as referências do Zotero, por favor, revincule sua conta e tente novamente", + "zotero_sync_description": "A integração Zotero permite você importar as referências do zotero para seus projetos no __appName__." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ru.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ru.json new file mode 100644 index 0000000..2e23f81 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/ru.json @@ -0,0 +1,458 @@ +{ + "About": "О сайте", + "Account": "Учётная запись", + "Account Settings": "Параметры учётной записи", + "Documentation": "Документация", + "Projects": "Проекты", + "Security": "Безопасность", + "Subscription": "Подписка", + "Terms": "Условия", + "Universities": "Университеты", + "about": "О проекте", + "about_to_delete_projects": "Следующие проекты будут удалены:", + "about_to_leave_projects": "Вы собираетесь оставить следующие проекты:", + "accepting_invite_as": "Вы принимаете приглашение как", + "account": "Аккаунт", + "account_not_linked_to_dropbox": "Ваш аккаунт не синхронизирован с Dropbox", + "account_settings": "Настройки профиля", + "actions": "Действия", + "activate": "Активировать", + "activate_account": "Активируйте Ваш аккаунт", + "activating": "Активация", + "activation_token_expired": "Срок действия Вашего ключа истёк. Вам необходимо запросить новый ключ активации.", + "add": "Добавить", + "add_more_members": "Добавить участников", + "add_your_first_group_member_now": "Добавьте первых участников группы сейчас", + "added": "добавлены", + "adding": "Добавление", + "address": "Адрес", + "admin": "администратор", + "all_projects": "Все проекты", + "all_templates": "Все шаблоны", + "already_have_sl_account": "Есть аккаунт __appName__?", + "and": "и", + "annual": "Цена за год", + "anonymous": "Аноним", + "april": "Апрель", + "august": "Август", + "auto_complete": "Автодополнение", + "autocomplete": "Автозавершение", + "autocomplete_references": "Автодополнение ссылок (внутри блока \\cite{})", + "back_to_your_projects": "Назад к списку проектов", + "beta": "Beta", + "bibliographies": "Библиография", + "blank_project": "Новый проект", + "blog": "Блог", + "built_in": "встроенный", + "can_edit": "Могут править", + "cancel": "Отмена", + "cancel_my_account": "Отменить подписку", + "cancel_personal_subscription_first": "У Вас уже имеется личная подписка. Хотите ли вы её отменить перед переходом на групповую лицензию?", + "cancel_your_subscription": "Остановить подписку", + "cant_find_email": "Извините, данный адрес не зарегистрирован.", + "cant_find_page": "К сожалению, страница не найдена", + "change": "Изменить", + "change_password": "Изменение пароля", + "change_plan": "Сменить тарифный план", + "change_to_this_plan": "Перейти на этот тариф", + "chat": "Чат", + "checking_dropbox_status": "проверка состояния Dropbox", + "checking_project_github_status": "Проверка статуса проекта на GitHub", + "choose_your_plan": "Выберите тариф", + "city": "Город", + "clear_cached_files": "Очистить кэшированные файлы", + "clear_sessions": "Завершить сессии", + "clear_sessions_description": "Это список всех активных сессий Вашего аккаунта, за исключением Вашей текущей сессии. Нажмите кнопку \"Завершить сессии\" для закрытия всех активных сеансов.", + "clear_sessions_success": "Сессии завершены", + "clearing": "Очистка", + "click_here_to_view_sl_in_lng": "Кликните здесь, для использования __appName__ на <0>__lngName__", + "close": "Закрыть", + "clsi_maintenance": "На сервере компиляции проводятся ремонтные работы, и он будет вскоре доступен снова.", + "cn": "Китайский (упрощённый)", + "collaboration": "Совместная разработка", + "collaborator": "Совместная работа", + "collabs_per_proj": "Максимальное число соавторов на проект: __collabcount__", + "comment": "Комментарии", + "commit": "Фиксировать", + "common": "Общие", + "compile_larger_projects": "Компиляция больших проектов", + "compile_mode": "Режим компиляции", + "compile_terminated_by_user": "Компиляция была прервана. Вы можете просмотреть необработанную выдачу компиляции, чтобы увидеть место остановки компиляции.", + "compiler": "Компилятор", + "compiling": "Компиляция", + "complete": "Заполнить", + "confirm": "Подтвердить", + "confirm_new_password": "Подтверждение нового пароля", + "connected_users": "Связанные пользователи", + "connecting": "Подключение", + "contact": "Контакт", + "contact_message_label": "Сообщение", + "contact_us": "Связаться с нами", + "continue_github_merge": "Я провел(-а) слияние вручную. Продолжить", + "copy": "Копировать", + "copy_project": "Копировать проект", + "copying": "копирование", + "country": "Страна", + "coupon_code": "код купона", + "create": "Создать", + "create_new_subscription": "Создать новую подписку", + "create_project_in_github": "Создать проект на GitHub", + "creating": "Создание", + "credit_card": "банковская карта", + "cs": "Чешский", + "current_password": "Текущий пароль", + "currently_subscribed_to_plan": "Вы подписаны на тарифный план <0>__planName__.", + "da": "Датский", + "de": "Немецкий", + "december": "Декабрь", + "delete": "Удалить", + "delete_account": "Удалить аккаунт", + "delete_account_warning_message_3": "Вы собираетесь удалить все данные Вашего аккаунта, включая все Ваши проекты и настройки. Пожалуйста, введите адрес электронной почты и пароль Вашего аккаунта в форму внизу для продолжения.", + "delete_and_leave_projects": "Удалить или оставить проекты", + "delete_projects": "Удалить проекты", + "delete_your_account": "Удалить аккаунт", + "deleting": "Удаление", + "disconnected": "Разъединен", + "documentation": "Документация", + "doesnt_match": "Не совпадает", + "done": "Готово", + "download": "Скачать", + "download_pdf": "Скачать PDF", + "download_zip_file": "Скачать архив (.zip)", + "dropbox_sync": "Синхронизация с Dropbox", + "dropbox_sync_description": "Синхронизируйте Ваши __appName__ проекты с Вашим Dropbox. Изменения в __appName__ автоматически сохраняются в Вашем Dropbox, и наоборот.", + "editing": "Редактор", + "email": "Email", + "email_already_registered": "Этот адрес уже зарегистрирован.", + "email_link_expired": "Срок действия ссылки истёк. Пожалуйста, повторите запрос!", + "email_or_password_wrong_try_again": "Неверный адрес электронной почты или пароль. Пожалуйста, попробуйте снова", + "en": "Английский", + "es": "Испанский", + "every": "каждый", + "example_project": "Использовать пример", + "expiry": "Срок действия", + "export_project_to_github": "Экспорт проекта на GitHub", + "fast": "быстрый", + "features": "Возможности", + "february": "Февраль", + "files_cannot_include_invalid_characters": "Файлы не могут содержать символы ’*’ и ’/’", + "first_name": "Имя", + "folders": "Папки", + "font_size": "Размер шрифта", + "forgot_your_password": "Забыли пароль?", + "fr": "Французский", + "free": "Бесплатно", + "free_dropbox_and_history": "Бесплатные Dropbox и История", + "full_doc_history": "Полная история изменений", + "generic_something_went_wrong": "Извините, что-то пошло не так... :(", + "get_in_touch": "Связаться с нами", + "github_commit_message_placeholder": "Сообщение о фиксации изменений в __appName__...", + "github_is_premium": "Синхронизация с GitHub доступна только в премиум аккаунте", + "github_public_description": "Этот репозиторий может просмотреть каждый. Вы выбираете, кто может править.", + "github_successfully_linked_description": "Спасибо, мы успешно связали ваш аккаунт на GitHub с __appName__. Теперь вы можете экспортировать проекты с __appName__ в GitHub или импортировать в обратном направлении.", + "github_sync": "Синхронизация с GitHub", + "github_sync_description": "Вы можете связать ваши проекты __appName__ с репозиториями на GitHub. Создавайте коммиты в __appName__ и объединяйте их с коммитами, сделанными оффлайн или на GitHub.", + "github_sync_error": "Извините, произошла ошибка в общении с сервисом GitHub. Пожалуйста, попробуйте ещё раз позднее.", + "github_validation_check": "Пожалуйста, проверьте правильность имени хранилища и права доступа на создание хранилища", + "global": "глобальная", + "go_to_code_location_in_pdf": "Перейти к местоположению кода в PDF", + "go_to_pdf_location_in_code": "Перейти к коду в редакторе", + "group_admin": "Администратор группы", + "groups": "Группы", + "have_more_days_to_try": "Продлите тестовый период ещё на __days__ дней!", + "headers": "Заголовки", + "help": "Помощь", + "history": "История", + "hotkeys": "Горячие клавиши", + "i_want_to_stay": "Я хочу остаться", + "ignore_validation_errors": "Не проверять синтаксис", + "ill_take_it": "Беру!", + "import_from_github": "Импорт с GitHub", + "import_to_sharelatex": "Импортировать в __appName__", + "importing": "Импорт", + "importing_and_merging_changes_in_github": "Импорт и слияние изменений в GitHub", + "indvidual_plans": "Индивидуальные тарифы", + "info": "Информация", + "institution": "Организация", + "invalid_file_name": "Неверное имя файла", + "invite_not_accepted": "Приглашение еще не было принято", + "invite_not_valid": "Приглашение недействительно", + "invite_not_valid_description": "Вышел срок приглашения. Пожалуйста, обратитесь к владельцу проекта", + "ip_address": "IP адрес", + "it": "Итальянский", + "ja": "Японский", + "january": "Январь", + "join_project": "Присоединиться к проекту", + "join_sl_to_view_project": "Для доступа к проекту необходимо авторизоваться в __appName__", + "july": "Июль", + "june": "Июнь", + "keybindings": "Горячие клавиши", + "knowledge_base": "база знаний", + "ko": "Корейский", + "language": "Язык", + "last_modified": "Последнее изменение", + "last_name": "Фамилия", + "latex_templates": "Шаблоны", + "learn_more": "Узнать больше", + "leave_group": "Покинуть группу", + "leave_now": "Покинуть", + "leave_projects": "Оставить проекты", + "link_to_github": "Привязать аккаунт на GitHub", + "link_to_github_description": "Вам необходимо авторизовать __appName__ для доступа к Вашему GitHub аккаунту, чтобы разрешить нам синхронизацию Ваших проектов.", + "links": "Ссылки", + "loading": "Загрузка", + "loading_github_repositories": "Загрузка ваших проектов с GitHub", + "loading_recent_github_commits": "Загрузка последний изменений", + "log_hint_extra_info": "Узнать больше", + "log_in": "Войти", + "log_out": "Выйти", + "logging_in": "Авторизация", + "login": "Войти", + "login_failed": "Вход не удался", + "login_here": "Войти", + "login_or_password_wrong_try_again": "Неправильное имя пользователя или пароль. Пожалуйста, попробуйте снова", + "logs_and_output_files": "Логи и выводные файлы", + "lost_connection": "Соединение потеряно", + "main_document": "Основной документ", + "maintenance": "Ремонтные работы", + "make_private": "Сделать закрытым", + "manage_sessions": "Управление Вашими сессиями", + "manage_subscription": "Управление подпиской", + "march": "Март", + "math_display": "Формулы", + "math_inline": "Встроенные формулы", + "maximum_files_uploaded_together": "Совместная загрузка до максимум __max__ файлов", + "may": "Май", + "menu": "Меню", + "merge": "Соединить", + "merging": "Соединение", + "month": "месяц", + "monthly": "Цена за месяц", + "more": "еще", + "must_be_email_address": "Введите правильный адрес электронной почты", + "name": "Имя", + "native": "браузер", + "navigation": "Навигация", + "nearly_activated": "Вы в одном шаге от активации Вашего аккаунта для __appName__!", + "need_anything_contact_us_at": "Если у Вас есть какие-либо вопросы и пожелания, пожалуйста, пишите нам по адресу", + "need_to_leave": "Удалить аккаунт?", + "need_to_upgrade_for_more_collabs": "Для приглашения большего числа соавторов необходимо сменить тариф", + "new_file": "Новый файл", + "new_folder": "Новая папка", + "new_name": "Введите название", + "new_password": "Новый пароль", + "new_project": "Создать проект", + "next_payment_of_x_collectected_on_y": "Следующий платёж в размере <0>__paymentAmmount__ будет списан <1>__collectionDate__", + "nl": "Голландский", + "no": "Норвежский", + "no_members": "Нет участников", + "no_messages": "Нет сообщений", + "no_new_commits_in_github": "Нет новых коммитов на GitHub с момента последнего слияния.", + "no_other_sessions": "Нет других активных сессий", + "no_planned_maintenance": "В настоящее время плановые работы не осуществляются", + "no_preview_available": "К сожалению, предпросмотр не доступен", + "no_projects": "Нет проектов", + "no_search_results": "Ничего не найдено", + "no_thanks_cancel_now": "Нет, спасибо - я хочу удалить сейчас", + "normal": "нормальный", + "not_now": "Не сейчас", + "notification_project_invite": "__userName__ приглашает Вас принять участие в проекте __projectName__,Присоединиться", + "november": "Ноябрь", + "october": "Октябрь", + "off": "Откл.", + "ok": "OK", + "one_collaborator": "Только один автор на проект", + "one_free_collab": "Один бесплатный соавтор", + "online_latex_editor": "Онлайн редактор LaTeX", + "open_project": "Открыть проект", + "optional": "Необязательный", + "or": "или", + "other_logs_and_files": "Другие логи и файлы", + "over": "свыше", + "owner": "Владелец", + "page_not_found": "Страница не найдена", + "password": "Пароль", + "password_reset": "Сбросить пароль", + "password_reset_email_sent": "На ваш электронный адрес было отправлено письмо с инструкцией по восстановлению пароля", + "password_reset_token_expired": "Ваш код восстановления пароля истёк. Пожалуйста, запросите восстановление пароля по почте ещё раз и перейдите по ссылке в письме.", + "pdf_viewer": "Просмотрщик PDF", + "pending": "В ожидании", + "personal": "Личный", + "pl": "Польский", + "planned_maintenance": "Плановые работы", + "plans_amper_pricing": "Тарифы", + "plans_and_pricing": "Тарифные планы", + "please_compile_pdf_before_download": "Пожалуйста, скомпилируйте проект перед загрузкой PDF", + "please_compile_pdf_before_word_count": "Пожалуйста, скомпилируйте проект, прежде чем подсчитывать количество слов!", + "please_enter_email": "Пожалуйста, введите адрес электронной почты", + "please_refresh": "Пожалуйста, обновите страницу для продолжения", + "please_set_a_password": "Пожалуйста, укажите пароль", + "position": "Должность", + "presentation": "Презентация", + "price": "Цена", + "privacy": "Конфиденциальность", + "privacy_policy": "Конфиденциальность", + "private": "Закрытый", + "problem_changing_email_address": "Возникла проблема при обновлении Вашего адреса электронной почты. Пожалуйста, попробуйте через некоторое время снова. Если проблема повторится, пожалуйста свяжитесь с нами.", + "problem_talking_to_publishing_service": "Проблема с сервером публикации. Пожалуйста, попробуйте через некоторое время ещё раз", + "problem_with_subscription_contact_us": "Возникли проблемы с Вашей подпиской. Пожалуйста, свяжитесь с нами, чтобы узнать подробности.", + "processing": "обработка", + "professional": "Профессионал", + "project_last_published_at": "В последний раз проект был опубликован", + "project_name": "Название проекта", + "project_not_linked_to_github": "Этот проект не связан ни с одним проектом на GitHub. Вы можете создать для него проект на GitHub:", + "project_synced_with_git_repo_at": "Проект синхронизирован с GitHub в", + "project_too_large": "Проект слишком большой", + "project_too_large_please_reduce": "В этом проекте слишком много текста. Пожалуйста, попробуйте уменьшить количество.", + "project_url": "URL проекта", + "projects": "Проекты", + "pt": "Португальский", + "public": "Открытый", + "publish": "Опубликовать", + "publish_as_template": "Создать шаблон", + "publishing": "Публикация", + "pull_github_changes_into_sharelatex": "Скачать изменения с GitHub в __appName__", + "push_sharelatex_changes_to_github": "Загрузить изменения из __appName__ на GitHub", + "read_only": "Только чтение", + "recent_commits_in_github": "Последние коммиты на GitHub", + "recompile": "Компилировать", + "recompile_pdf": "Перекомпилировать PDF", + "reconnecting": "Пересоединение", + "reconnecting_in_x_secs": "Повторное соединение через __seconds__ секунд", + "refresh_page_after_starting_free_trial": "Пожалуйста, обновите страницу", + "regards": "С уважением", + "register": "Регистрация", + "register_to_edit_template": "Пожалуйста, зарегистрируйтесь, чтобы редактировать шаблон __templateName__", + "registered": "Зарeгистрирован", + "registering": "Создание аккаунта", + "remove_collaborator": "Удалить соавтора", + "remove_from_group": "Удалить из группы", + "removed": "удалено", + "removing": "Удаление", + "rename": "Переименовать", + "rename_project": "Переименовать проект", + "renaming": "Переименование", + "repository_name": "Наименование репозитория", + "republish": "Переопубликовать", + "request_password_reset": "Сбросить пароль", + "request_sent_thank_you": "Спасибо, Ваш запрос отправлен!", + "required": "обязательно", + "resend": "Отправить еще раз", + "reset_password": "Сбросить пароль", + "reset_your_password": "Сбросить пароль", + "restore": "Восстановить", + "restoring": "Восстановление", + "restricted": "Доступ ограничен", + "restricted_no_permission": "Извините, у Вас недостаточно прав для просмотра данной страницы.", + "return_to_login_page": "Вернуться на страницу входа", + "revoke_invite": "Отозвать приглашение", + "ro": "Румынский", + "role": "Роль", + "ru": "Русский", + "saving": "Сохранение", + "saving_notification_with_seconds": "Сохранение __docname__... (__seconds__ секунд с последнего сохранения)", + "search_bib_files": "Поиск по автору, названию, году", + "search_projects": "Поиск по проектам", + "search_references": "Поиск .bib файлов в проекте", + "security": "Безопасность", + "select_github_repository": "Выберите проект на GitHub для импорта в __appName__", + "send_first_message": "Отправьте сообщение", + "september": "Сентябрь", + "server_error": "Ошибка сервера", + "services": "Сервисы", + "session_created_at": "Сессия создана", + "session_expired_redirecting_to_login": "Срок сессии истёк. Перенаправление на страницу входа через __seconds__ секунд(ы)", + "sessions": "Сессии", + "set_new_password": "Введите новый пароль", + "set_password": "Установить пароль", + "settings": "Настройки", + "share": "Открыть доступ", + "share_project": "Открыть доступ к проекту", + "share_with_your_collabs": "Открыть для соавторов", + "shared_with_you": "Доступные мне", + "show_hotkeys": "Показать горячие клавиши", + "site_description": "Простой в использовании онлайн редактор LaTeX. Не требует установки, поддерживает совместную работу в реальном времени, контроль версий, сотни шаблонов LaTeX и многое другое.", + "somthing_went_wrong_compiling": "К сожалению, что-то пошло не так и мы не смогли скомпИлировать Ваш проект. Попробуйте еще раз через пару минут.", + "source": "Исходный код", + "spell_check": "Проверка правописания", + "start_free_trial": "Попробовать бесплатно!", + "state": "Состояние", + "stop_compile": "Остановить компиляцию", + "stop_on_validation_error": "Проверить синтаксис перед компиляцией", + "student": "Студент", + "subject": "Тема", + "subscribe": "Подписаться", + "subscription": "Подписка", + "subscription_canceled_and_terminate_on_x": " Ваша подписка была отменена и закончится <0>__terminateDate__. Дальнейшие платежи взиматься не будут.", + "suggestion": "Предложения", + "sure_you_want_to_change_plan": "Вы уверены, что хотите сменить тарифный план на <0>__planName__?", + "sure_you_want_to_delete": "Вы уверены, что хотите перманентно удалить следующие файлы?", + "sure_you_want_to_leave_group": "Вы уверены, что хотите покинуть группу?", + "sv": "Шведский", + "sync": "Синхронизация", + "sync_project_to_github_explanation": "Все изменения, сделанные Вами в __appName__ будут интегрированы (commit и merge) со всеми обновлениями на GitHub.", + "sync_to_dropbox": "Синхронизация с Dropbox", + "sync_to_github": "Синхронизация с GitHub", + "syntax_validation": "Проверка кода", + "take_me_home": "Вернуться в начало", + "template_description": "Описание шаблона", + "templates": "Шаблоны", + "terminated": "Компиляция отменена", + "terms": "Условия", + "thank_you": "Спасибо!", + "thanks": "Спасибо", + "thanks_for_subscribing": "Благодарим за подписку!", + "thanks_for_subscribing_you_help_sl": "Благодарим за подписку по тарифному плану __planName__. Благодаря Вам проект __appName__ может продолжать развиваться и улучшаться.", + "thanks_settings_updated": "Спасибо, изменения сохранены", + "theme": "Тема", + "thesis": "Диссертация", + "this_is_your_template": "Это шаблон из Вашего проекта", + "this_project_is_public": "Это открытый проект. Он может быть изменен любым человеком, знающим адрес (URL)", + "this_project_is_public_read_only": "Этот проект открыт для всех, у кого есть ссылка (но без возможности редактирования)", + "this_project_will_appear_in_your_dropbox_folder_at": "Этот проект появится в вашей папке Dropbox в ", + "three_free_collab": "Три бесплатных соавтора", + "timedout": "Время ожидания истекло", + "title": "Название", + "to_many_login_requests_2_mins": "Было предпринято слишком много попыток входа. Пожалуйста, подождите 2 минуты, прежде чем пробовать снова", + "to_modify_your_subscription_go_to": "Для изменения подписки перейдите по ссылке:", + "too_many_files_uploaded_throttled_short_period": "Слишком много файлов загружено за раз - на короткое время загрузка была приостановлена.", + "too_recently_compiled": "Этот проект был скомпилирован совсем недавно, поэтому компиляция была пропущена.", + "total_words": "Количество слов", + "tr": "Турецкий", + "try_now": "Попробуйте", + "uk": "Украинский", + "university": "Университет", + "unlimited_collabs": "Неограниченно число соавторов", + "unlimited_projects": "Неограниченное число проектов", + "unlink": "Отсоединить", + "unlink_github_warning": "Все проекты, которые Вы синхронизировали с GitHub, будут отсоединены и больше не будут синхронизироваться с GitHub. Вы уверены, что хотите отсоединить Ваш GitHub аккаунт?", + "unpublish": "Отменить публикацию", + "unpublishing": "Отмена публикации", + "unsubscribe": "Отменить подписку", + "unsubscribed": "Не подписан", + "unsubscribing": "Отмена подписки", + "update": "Сохранить", + "update_account_info": "Редактировать профиль", + "update_dropbox_settings": "Обновить настройки Dropbox", + "update_your_billing_details": "Обновить детали счёта", + "updating_site": "Сайт обновляется", + "upgrade": "Сменить тариф", + "upgrade_now": "Сменить тариф", + "upload": "Загрузить", + "upload_project": "Загрузить проект", + "upload_zipped_project": "Загрузить архив проекта (*.zip)", + "user_wants_you_to_see_project": "__username__ приглашает вас к просмотру проекта __projectname__", + "vat_number": "Номер плательщика НДС", + "view_all": "Показать все", + "view_in_template_gallery": "Посмотреть в галерее шаблонов", + "welcome_to_sl": "Добро пожаловать в __appName__", + "word_count": "Количество слов", + "year": "год", + "you_have_added_x_of_group_size_y": "Вы добавили <0>__addedUsersSize__ из <1>__groupSize__ доступных участников", + "your_plan": "Ваш тариф", + "your_projects": "Созданные мной", + "your_sessions": "Ваши сессии", + "your_subscription": "Ваша подписка", + "your_subscription_has_expired": "Срок Вашей подписки истёк.", + "zh-CN": "Китайский" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/sv.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/sv.json new file mode 100644 index 0000000..8d0faef --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/sv.json @@ -0,0 +1,1020 @@ +{ + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoinställningar", + "Documentation": "Dokumentation", + "Projects": "Projekt", + "Security": "Säkerhet", + "Subscription": "Prenumeration", + "Terms": "Villkor", + "Universities": "Universitet", + "about": "Om", + "about_to_archive_projects": "Du kommer att arkivera följande projekt:", + "about_to_delete_projects": "Du håller på att ta bort följande projekt:", + "about_to_leave_projects": "Du håller på att lämna följande projekt:", + "about_to_trash_projects": "Du kommer att kasta följande projekt:", + "abstract": "Sammanfattning", + "accept": "Acceptera", + "accept_all": "Acceptera alla", + "accept_invitation": "Acceptera inbjudan", + "accept_or_reject_each_changes_individually": "Acceptera eller neka varje förändring för sig", + "accepted_invite": "Accepterat inbjudan", + "accepting_invite_as": "Du accepterar inbjudan som", + "account": "Konto", + "account_has_been_link_to_institution_account": "Ditt __appName__-konto för __email__ har länkats till ditt institutionella konto __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Ditt konto har för närvarande en förfallen faktura. Du kommer inte att kunna ändra din plan förrän detta är löst.", + "account_not_linked_to_dropbox": "Ditt konto är inte länkat till Dropbox", + "account_settings": "Kontoinställningar", + "account_with_email_exists": "Det verkar som om ett __appName__-konto med e-post-adressen __email__ redan finns.", + "actions": "Åtgärder", + "activate": "Aktivera", + "activate_account": "Aktivera ditt konto", + "activating": "Aktiverar", + "activation_token_expired": "Din aktiveringstoken har utgått, du behöver få en ny skickad till dig.", + "add": "Lägg till", + "add_affiliation": "Lägg till anslutning", + "add_another_email": "Lägg till en annan e-post", + "add_comma_separated_emails_help": "Separera flera e-postadresser med kommatecken (,).", + "add_comment": "Lägg till kommentar", + "add_company_details": "Lägg till företagsuppgifter", + "add_email": "Lägg till e-post", + "add_email_to_claim_features": "Lägg till en institutionell e-postadress för att erhålla dina funktioner.", + "add_more_members": "Lägg till fler medlemmar", + "add_new_email": "Lägg till ny e-postadress", + "add_role_and_department": "Lägg till befattning och avdelning", + "add_your_comment_here": "Skriv din kommentar här", + "add_your_first_group_member_now": "Lägg till dina första gruppmedlemmar nu", + "added": "lagst till", + "adding": "Lägger till", + "address": "Adress", + "address_line_1": "Adress", + "address_second_line_optional": "Adress på andra raden (valfritt)", + "admin": "admin", + "admin_user_created_message": "Admin-konto skapat, Logga in här för att fortsätta", + "aggregate_changed": "Ändrade", + "aggregate_to": "till", + "all_premium_features": "Alla premiumfunktioner", + "all_projects": "Alla projekt", + "all_templates": "Alla mallar", + "already_have_sl_account": "Har du redan ett __appName__ konto?", + "also": "Även", + "alternatively_create_new_institution_account": "Alternativt kan du skapa ett nytt konto med din institutions-e-post-adress (__email__) genom att klicka på __clickText__.", + "and": "och", + "annual": "Årlig", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Vem som helst med denna länk kan redigera detta projekt", + "anyone_with_link_can_view": "Vem som helst med denna länk kan se detta projekt", + "april": "April", + "archive": "Arkiv", + "archive_projects": "Arkiverade projekt", + "archived_projects": "Arkiverade projekt", + "archiving_projects_wont_affect_collaborators": "Arkivering av projekt påverkar inte dina samarbetspartners.", + "are_you_still_at": "Är du fortfarande vid <0>__institutionName__?", + "are_you_sure": "Är du säker?", + "as_a_member_of_sso_required": "Som medlem i __institutionName__ måste du logga in på __appName__ via din institutionsportal.", + "ask_proj_owner_to_upgrade_for_full_history": "Vänligen fråga projektägaren om uppgradering för att få åtkomst till detta projekts kompletta historik.", + "ask_proj_owner_to_upgrade_for_references_search": "Vänligen be projekt ägaren att uppgradera för att använda Referens sök funktionen.", + "august": "Augusti", + "author": "Författare", + "auto_close_brackets": "Stäng parenteser automatiskt", + "auto_compile": "Kompilera automatiskt", + "auto_complete": "Komplettera automatisk", + "autocompile_disabled": "Autokompilering inaktiverat", + "autocompile_disabled_reason": "På grund av hög serverbelastning har bakgrundskompilering tillfälligt inaktiverats. Vänligen kompilera genom att klicka på knappen ovan.", + "autocomplete": "Autokomplettering", + "autocomplete_references": "Autokomplettering av referenser (inuti \\cite{})", + "back_to_editor": "Tillbaka till textredigeraren", + "back_to_your_projects": "Tillbaka till dina projekt", + "beta": "Beta", + "beta_program_already_participating": "Du är ansluten till beta-programmet.", + "beta_program_badge_description": "När du använder __appName__ kommer du att se beta-funktioner markerade med denna ikon:", + "beta_program_benefits": "Vi förbättrar ständigt __appName__. Genom att gå med i vårt beta-program får du tidig tillgång till nya funktioner och kan hjälpa oss att förstå dina behov bättre.", + "beta_program_not_participating": "Du är inte inskriven i betaprogrammet.", + "beta_program_opt_in_action": "Gå med i beta-programmet", + "beta_program_opt_out_action": "Hoppa av beta-programmet", + "bibliographies": "Bibliografi", + "binary_history_error": "Förhandsgranskning är inte tillgänglig för denna filtyp", + "blank_project": "Tomt projekt", + "blocked_filename": "Detta filnamn är blockerat", + "blog": "Blogg", + "built_in": "Inbyggd", + "bulk_accept_confirm": "Är du säker på att du vill acceptera de __nChanges__ valda ändringarna?", + "bulk_reject_confirm": "Är du säker på att du vill avvisa de __nChanges__ valda ändringarna?", + "by": "av", + "can_edit": "Kan redigera", + "can_link_institution_email_acct_to_institution_acct": "Du kan nu länka ditt __email__ __appName__-konto till ditt __institutionName__ institutionella konto.", + "cancel": "Avbryt", + "cancel_my_account": "Avsluta min prenumeration", + "cancel_personal_subscription_first": "Du har redan en personlig prenumeration, vill du avbryta denna innan du går med i grupp licensen?", + "cancel_your_subscription": "Avsluta din prenumeration", + "cannot_invite_non_user": "Kunde inte skicka inbjudan. Mottagaren har redan ett __appName__-konto", + "cannot_invite_self": "Du kan inte skicka en inbjudan till dig själv", + "cannot_verify_user_not_robot": "Tyvärr kunde vi inte verifiera att du inte är en robot. Vänligen kontrollera så att Google reCAPTCHA inte blockeras av en ad blocker eller brandvägg.", + "cant_find_email": "Den e-postadressen är tyvärr inte registrerad.", + "cant_find_page": "Tyvärr kan vi inte hitta sidan du letar efter.", + "cant_see_what_youre_looking_for_question": "Ser du inte vad du letar efter?", + "category_arrows": "Pilar", + "category_greek": "Grekiska", + "category_misc": "Diverse", + "category_operators": "Operatorer", + "category_relations": "Relationer", + "change": "Ändra", + "change_or_cancel-cancel": "avbryt", + "change_or_cancel-change": "Ändra", + "change_or_cancel-or": "eller", + "change_owner": "Ändra ägare", + "change_password": "Byt lösenord", + "change_plan": "Byta betalningsplan", + "change_project_owner": "Ändra projektägare", + "change_to_this_plan": "Ändra till denna betalningsplan", + "chat": "Chatt", + "chat_error": "Det gick inte att ladda chattmeddelanden. Vänligen försök igen.", + "checking": "Kontrollerar", + "checking_dropbox_status": "kontrollerar Dropbox status", + "checking_project_github_status": "Kontrollerar projektstatus på GitHub", + "choose_your_plan": "Välj din betalningsplan", + "city": "Stad", + "clear_cached_files": "Rensa cachade filer", + "clear_search": "rensa sökning", + "clear_sessions": "Töm sessioner", + "clear_sessions_description": "Detta är en lista med sessioner (inloggningar) som är aktiva på ditt konto, inte medräknat din nuvarande session. Klick på \"Töm sessioner\" knappen nedan för att logga ut dem.", + "clear_sessions_success": "Sessioner tömda", + "clearing": "Tömmer", + "click_here_to_view_sl_in_lng": "Klicka här för att använda __appName__ på <0>__lngName__", + "click_link_to_proceed": "Klicka på __clickText__ nedan för att fortsätta.", + "clone_with_git": "Klona med Git", + "close": "Stäng", + "clsi_maintenance": "Kompileringsservrarna är nere för underhåll och kommer snart upp igen.", + "clsi_unavailable": "Tyvärr var kompileringsservern för ditt projekt tillfälligt otillgänglig. Vänligen försök igen om ett litet tag.", + "cn": "Kinesiska (Förenklad)", + "code_check_failed": "Kodkontroll misslyckades", + "code_check_failed_explanation": "Din kod har fel som behöver åtgärdas innan auto-kompileringen kan köras", + "collaborate_online_and_offline": "Samarbeta online och offline, med ditt eget arbetsflöde", + "collaboration": "Samarbete", + "collaborator": "Samarbetare", + "collabs_per_proj": "__collabcount__ samarbetare per projekt", + "collabs_per_proj_single": "__collabcount__ medarbetare per projekt", + "collapse": "Kontrahera", + "comment": "Kommentar", + "commit": "Commita", + "common": "Vanliga", + "compact": "Kompakt", + "company_name": "Företagsnamn", + "compile_error_entry_description": "Ett fel som förhindrade kompilering av detta projekt", + "compile_larger_projects": "Kompilera större projekt", + "compile_mode": "Kompileringsläge", + "compile_terminated_by_user": "Kompileringen avbröts med ’Stoppa kompilering’-knappen. Du kan titta i råloggarna för att se var kompileringen avbröts.", + "compile_timeout_short": "Timeout för kompilering", + "compiler": "Kompilator", + "compiling": "Kompilerar", + "complete": "Färdigt", + "confirm": "Bekräfta", + "confirm_affiliation_to_relink_dropbox": "Vänligen bekräfta att du fortfarande är kvar på institutionen och har deras licens, eller uppgradera ditt konto för att återkoppla ditt Dropbox-konto.", + "confirm_email": "Bekräfta e-postadress", + "confirm_new_password": "Bekräfta nytt lösenord", + "confirmation_link_broken": "Tyvärr, något är fel med din bekräftelselänk. Vänligen försök kopiera och klistra in länken given längst ner i bekräftelse-e-brevet.", + "conflicting_paths_found": "Motstridiga sökvägar hittade", + "connected_users": "Anslutna användare", + "connecting": "Ansluter", + "contact": "Kontakt", + "contact_message_label": "Meddelande", + "contact_support_to_change_group_subscription": "Vänligen kontakta supporten om du vill ändra ditt gruppabonnemang.", + "contact_us": "Kontakta oss", + "continue_github_merge": "Jag har gjort en manuell sammanslagning. Fortsätt", + "continue_to": "Fortsätt till __appName__", + "copy": "Kopiera", + "copy_project": "Klona projekt", + "copying": "kopierar", + "country": "Land", + "coupon_code": "Kupongkod", + "coupons_not_included": "Detta inkluderar ej dina nuvarande rabatter vilka kommer att tillämpas automatiskt före din nästa betalning", + "create": "Skapa", + "create_first_admin_account": "Skapa ett första Admin-konto", + "create_new_account": "Skapa ett nytt konto", + "create_new_subscription": "Skapa en ny prenumeration", + "create_project_in_github": "Skapa ett GitHub repo", + "creating": "Skapar", + "credit_card": "Kreditkort", + "cs": "Tjeckiska", + "current_file": "Nuvarande fil", + "current_password": "Nuvarande lösenord", + "currently_seeing_only_24_hrs_history": "För närvarande ser du ändringar under de senaste 24 timmarnas i detta projekt.", + "currently_subscribed_to_plan": "Du använder för närvarande en <0>__planName__ betalningsplan.", + "da": "Danska", + "de": "Tyska", + "december": "December", + "default": "Standard", + "delete": "Radera", + "delete_account": "Ta bort konto", + "delete_account_warning_message_3": "Du håller på att permanent ta bort all din konto data, inklusive dina projekt och inställningar. Vänligen skriv in e-postadressen ditt konto använder samt ditt lösenord i fälten nedan för att fortsätta.", + "delete_acct_no_existing_pw": "Vänligen använd formuläret för återställning av lösenordet för att ange ett lösenord innan du raderar ditt konto.", + "delete_and_leave": "Radera / Lämna", + "delete_and_leave_projects": "Ta bort och lämna projekt", + "delete_projects": "Ta bort projekt", + "delete_your_account": "Ta bort ditt konto", + "deleting": "Tar bort", + "department": "Avdelning", + "dictionary": "Ordbok", + "disable_stop_on_first_error": "Inaktivera \"Stopp vid första fel\"", + "disconnected": "Frånkopplad", + "dismiss_error_popup": "Avfärda varning om första fel", + "do_not_have_acct_or_do_not_want_to_link": "Om du inte har ett __appName__-konto, eller om du inte vill länka till ditt __institutionName__-konto, vänligen klicka på __clickText__.", + "do_not_link_accounts": "Länka ej konton", + "documentation": "Dokumentation", + "doesnt_match": "Matchar inte", + "doing_this_allow_log_in_through_institution": "Genom att göra detta kan du logga in på __appName__ via din institutionsportal.", + "done": "Färdigt", + "dont_have_account": "Har du inget konto?", + "download": "Ladda ner", + "download_pdf": "Ladda ner PDF", + "download_zip_file": "Ladda ner .zip fil", + "drag_here": "dra här", + "drop_files_here_to_upload": "Släpp filer här för att ladda upp", + "dropbox_already_linked_error": "Ditt Dropbox-konto kan inte länkas eftersom det redan är länkat till ett annat Overleaf-konto.", + "dropbox_already_linked_error_with_email": "Ditt Dropbox-konto kan inte kopplas eftersom det redan är kopplat till ett annat Overleaf-konto med e-postadressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kontrollerar status för Dropbox-integration", + "dropbox_duplicate_names_error": "Ditt Dropbox-konto kan inte länkas eftersom du har mer än ett projekt med samma namn: ", + "dropbox_email_not_verified": "Vi har inte kunnat hämta uppdateringar från ditt Dropbox-konto. Dropbox rapporterade att din e-postadress inte är verifierad. Verifiera din e-postadress i ditt Dropbox-konto för att lösa detta.", + "dropbox_for_link_share_projs": "Det här projektet har nåtts via länkdelning och kommer inte att synkroniseras med din Dropbox om inte projektägaren bjuder in dig via e-post.", + "dropbox_integration_info": "Arbeta smidigt både online och offline med två-vägs Dropbox synk. Ändringar du gör lokalt kommer automatiskt skickas till din __appName__ version och vice versa.", + "dropbox_integration_lowercase": "Dropboxintegrering", + "dropbox_successfully_linked_description": "Tack, vi har lyckats koppla ditt Dropbox-konto till __appName__.", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_both": "Uppdaterar Overleaf och Dropbox", + "dropbox_sync_description": "Synkronisera dina __appName__ projekt med Dropbox. Ändringar du gör i __appName__ skickas automatiskt till din Dropbox, och vice versa.", + "dropbox_sync_error": "Fel vid Dropbox-synkning", + "dropbox_sync_in": "Uppdaterar Overleaf", + "dropbox_sync_out": "Uppdaterar Dropbox", + "dropbox_synced": "Overleaf och Dropbox är aktuella", + "dropbox_unlinked_because_access_denied": "Dropbox-kontot har kopplats bort eftersom Dropbox-tjänsten har avvisat dina lagrade autentiseringsuppgifter. Vänligen koppla tillbaka ditt Dropbox-konto för att fortsätta använda det med Overleaf.", + "dropbox_unlinked_because_full": "Ditt Dropbox-konto har kopplats bort eftersom det är fullt och vi kan inte längre skicka uppdateringar till det. Vänligen frigör lite utrymme och länka om ditt Dropbox-konto så att du kan fortsätta att använda det med Overleaf.", + "duplicate_file": "Duplicera fil", + "easily_manage_your_project_files_everywhere": "Hantera dina projektfiler enkelt och överallt", + "edit": "Redigera", + "edit_dictionary": "Redigera ordboken", + "edit_dictionary_empty": "Din personliga ordbok är tom.", + "edit_dictionary_remove": "Ta bort från ordboken", + "editing": "Redigering", + "editor_disconected_click_to_reconnect": "Editorn tappade anslutningen, klicka varsomhelst för att återansluta.", + "editor_theme": "Tema för textredigerare", + "email": "E-post", + "email_already_registered": "Den här e-postadressen är redan registrerad", + "email_already_registered_secondary": "Denna e-postadress är redan registrerad som sekundär e-postadress", + "email_does_not_belong_to_university": "Vi känner inte igen den domänen som tillhörande till ditt universitet. Vänligen kontakta oss för att lägga till tillhörigheten.", + "email_link_expired": "E-post länk har utgått, vänligen begär en ny.", + "email_or_password_wrong_try_again": "E-postadressen eller lösenordet är felaktigt.", + "email_required": "E-post krävs", + "email_sent": "E-mail skickat", + "emails_and_affiliations_explanation": "Lägg till ytterligare e-postadresser till ditt konto för att få tillgång till uppgraderingar som ditt universitet eller din institution har, för att göra det lättare för medarbetare att hitta dig och för att säkerställa att du kan återställa ditt konto.", + "emails_and_affiliations_title": "E-post och anslutningar", + "empty_zip_file": "Zip-filen innehåller ingen fil", + "en": "Engelska", + "error": "Fel", + "error_performing_request": "Ett fel har uppstått vid behandling av din begäran.", + "es": "Spanska", + "every": "varje", + "example_project": "Exempelprojekt", + "existing_plan_active_until_term_end": "Din befintliga plan och dess funktioner förblir aktiva fram till slutet av den aktuella faktureringsperioden.", + "expand": "Expandera", + "expiry": "Utgångsdatum", + "export_csv": "Exportera CSV", + "export_project_to_github": "Exportera Projekt till GitHub", + "faq_change_plans_or_cancel_answer": "Ja, du kan göra det när som helst via dina prenumerationsinställningar. Du kan ändra planer, växla mellan månads- och årsfakturering eller avbryta för att nedgradera till en kostnadsfri plan. När du avbryter fortsätter din prenumeration fram till slutet av faktureringsperioden. Om ditt konto tillfälligt inte har någon prenumeration kommer den enda ändringen att gälla de funktioner som är tillgängliga för dig. Dina projekt kommer alltid att vara tillgängliga på ditt konto.", + "faq_change_plans_or_cancel_question": "Kan jag ändra min plan eller avboka senare?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan vara med i vilken plan som helst, inklusive den kostnadsfria planen. Om du har en premiumplan kommer vissa premiumfunktioner att vara tillgängliga för dina medarbetare i projekt som du har skapat, även om dessa medarbetare har en gratisplan. För mer information, läs om <0>konto och prenumerationer och <1>hur premiumfunktioner fungerar.", + "faq_do_collab_need_on_paid_plan_question": "Måste mina medarbetare också ha en betald plan?", + "faq_how_does_a_group_plan_work_answer": "Gruppabonnemang är ett sätt att uppgradera mer än ett Overleaf-konto. De är lätta att hantera, hjälper till att spara på pappersarbete och minskar kostnaden för att köpa flera abonnemang separat. Om du vill veta mer kan du läsa om <0>anslutning till en gruppabonnemang och <1>hantering av ett gruppabonnemang. Du kan köpa gruppabonnemang ovan eller genom att <2>kontakta oss.", + "faq_how_does_a_group_plan_work_question": "Hur fungerar en gruppplan? Hur kan jag lägga till personer i planen?", + "faq_how_does_free_trial_works_answer": "Du får full tillgång till din valda __appName__-plan under din __len__-dagars gratis provperiod. Det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av din __len__-dagars provperiod om du inte avbryter innan dess. Du kan avbryta via dina prenumerationsinställningar.", + "faq_how_free_trial_works_answer_v2": "Du får full tillgång till din valda premiumplan under din __len__-dagars gratis provperiod, och det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av provperioden om du inte avbryter innan dess. Om du vill avbryta går du till dina prenumerationsinställningar på ditt konto (provperioden fortsätter under de __len__ dagarna).", + "faq_how_free_trial_works_question": "Hur fungerar din gratis prövoperiod?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I Overleaf skapar och hanterar varje användare sitt eget Overleaf-konto. De flesta användare börjar med den kostnadsfria planen men kan uppgradera och utnyttja premiumfunktionerna genom att prenumerera på en plan, gå med i en gruppprenumeration eller gå med i en <0>vanlig prenumeration. När du köper, ansluter dig till eller lämnar en prenumeration kan du fortfarande behålla samma Overleaf-konto.", + "faq_pay_by_invoice_question": "Kan jag betala med faktura?", + "faq_the_individual_standard_plan_10_collab_question": "Den individuella standardplanen har 10 projektmedarbetare, betyder det att 10 personer kommer att uppgraderas?", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I Overleaf skapar varje användare sitt eget konto. Du kan skapa projekt som bara du själv kan arbeta med, och du kan också bjuda in andra att se eller arbeta med dig i ett projekt som du äger. Användare som du delar ditt projekt med kallas <0>samarbetare. Vi hänvisar ibland till dem som projektmedarbetare.", + "fast": "Snabb", + "featured_latex_templates": "Utvalda LaTeX-mallar", + "features": "Funktioner", + "february": "Februari", + "file_action_created": "Skapade", + "file_action_deleted": "Tog bort", + "file_action_edited": "Redigerade", + "file_action_renamed": "Döpte om", + "file_already_exists": "En fil eller mapp med det namnet finns redan", + "file_already_exists_in_this_location": "Ett objekt som heter <0>__fileName__ finns redan på denna plats. Om du vill flytta den här filen, byt namn på eller ta bort den motstridiga filen och försök igen.", + "file_name_in_this_project": "Filnamn i detta projekt", + "file_outline": "Filstruktur", + "file_too_large": "Fil för stor", + "files_cannot_include_invalid_characters": "Filnamnet är tomt eller innehåller otillåtna tecken", + "files_selected": "filer valda", + "find_out_more": "Få reda på mer", + "find_out_more_about_institution_login": "Läs mer om institutionell inloggning", + "find_out_more_about_the_file_outline": "Läs mer om filöversikten", + "find_out_more_nt": "Ta reda på mer.", + "first_name": "Förnamn", + "folders": "Mappar", + "following_paths_conflict": "Följande filer & mappar har samma sökvägar", + "font_family": "Typsnittsfamilj", + "font_size": "Teckenstorlek", + "forgot_your_password": "Glömt ditt lösenord", + "fr": "Franska", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox och förändringshistorik", + "free_plan_label": "Du har en gratisplan", + "free_plan_tooltip": "Klicka för att ta reda på hur du kan dra nytta av Overleafs premiumfunktioner!", + "full_doc_history": "Full dokumenthistorik", + "full_doc_history_info_v2": "Du kan se alla ändringar i ditt projekt och vem som har gjort varje ändring. Lägg till etiketter för att snabbt komma åt specifika versioner.", + "generic_if_problem_continues_contact_us": "Om problemet kvarstår, vänligen kontakta oss.", + "generic_linked_file_compile_error": "Projektets utdatafiler är inte tillgängliga eftersom det inte gick att kompilera. Vänligen öppna projektet för att se information om kompileringsfel.", + "generic_something_went_wrong": "Ursäkta, något gick snett", + "get_in_touch": "Kom i kontakt", + "get_in_touch_having_problems": "Kontakta support om du har problem", + "github_commit_message_placeholder": "Commit meddelande för ändringar gjorda i __appName__...", + "github_credentials_expired": "Din auktorisering för GitHub har löpt ut", + "github_integration_lowercase": "GitHubintegration", + "github_is_premium": "GitHub synk är en premium funktion", + "github_no_master_branch_error": "Det här arkivet kan inte importeras eftersom det saknar huvudgrenen. Vänligen kontrollera att projektet har en huvudgren.", + "github_private_description": "Du kan välja vem som kan se och checka in till detta kodförråd.", + "github_public_description": "Alla kan se detta repo. Du bestämmer vem som kan commita.", + "github_successfully_linked_description": "Tack, vi har länkat ditt GitHub konto till __appName__. Du kan du exportera dina __appName__ projekt till GitHub, eller importera projekt från dina GitHub repon.", + "github_symlink_error": "Ditt Github-arkiv innehåller symboliska länkfiler som för närvarande inte stöds av Overleaf. Vänligen ta bort dessa och försök igen.", + "github_sync": "GitHub Synk", + "github_sync_description": "Med GitHub synk kan du koppla dina __appName__ projekt till GitHub repon. Skapa nya commits från __appName__ och slå samman commits som har gjorts i offlineläge eller i GitHub.", + "github_sync_error": "Ett fel uppstod vid kommunikationen med GitHub. Vänligen försök igen om en stund.", + "github_timeout_error": "Synkroniseringen av ditt Overleaf-projekt med GitHub har orsakat time-out. Det kan bero på att projektets totala storlek eller antalet filer/ändringar som ska synkroniseras är för stort.", + "github_too_many_files_error": "Det här arkivet kan inte importeras eftersom det överskrider det högsta tillåtna antalet filer.", + "github_validation_check": "Vänligen kontrollera att repots namn är giltigt samt att du har tillåtelse att skapa nya repon.", + "give_feedback": "Ge respons", + "global": "global", + "go_back_and_link_accts": "Gå tillbaka och länka dina konton", + "go_next_page": "Gå till nästa sida", + "go_page": "Gå till sidan __page__", + "go_prev_page": "Gå till föregående sida", + "go_to_code_location_in_pdf": "Gå till kodplats i PDF", + "go_to_pdf_location_in_code": "Gå till PDF platsen i koden", + "group_admin": "Gruppadministratör", + "group_full": "Gruppen är redan full", + "groups": "Grupper", + "have_more_days_to_try": "Få ytterligare __days__ dagar till dit test konto!", + "headers": "Rubriker", + "help": "Hjälp", + "help_articles_matching": "Hjälpartiklar som matchar ditt ämne", + "hide_outline": "Göm filstruktur", + "history": "Historik", + "history_add_label": "Lägg till etikett", + "history_adding_label": "Lägger till etikett", + "history_are_you_sure_delete_label": "Är du säker på att du vill ta bort följande etikett", + "history_delete_label": "Radera etikett", + "history_deleting_label": "Raderar etikett", + "history_entry_origin_git": "via Git", + "history_entry_origin_upload": "ladda upp", + "history_label_created_by": "Skapad av", + "history_label_project_current_state": "Nuvarande status", + "history_label_this_version": "Etikera denna version", + "history_new_label_name": "Nytt etikettnamn", + "history_view_all": "All historik", + "history_view_labels": "Etiketter", + "hit_enter_to_reply": "Tryck Enter för att svara", + "home": "Startsida", + "hotkey_add_a_comment": "Lägg till en kommentar", + "hotkey_bold_text": "Fet text", + "hotkey_indent_selection": "Indentera urval", + "hotkey_insert_candidate": "Infoga kandidat", + "hotkey_italic_text": "Kursiv text", + "hotkey_search_references": "Sök referenser", + "hotkey_select_candidate": "Välj kandidat", + "hotkeys": "Snabbkommandon", + "hundreds_templates_info": "Producera vackra dokument med hjälp av vårt gallery av LaTeX mallar för tidsskrifter, konferenser, uppsatser, rapporter, CV och mycket mer.", + "i_want_to_stay": "Jag vill stanna", + "if_have_existing_can_link": "Om du har ett befintligt __appName__-konto för en annan e-post-adress kan du länka det till ditt __institutionName__-konto genom att klicka på __clickText__.", + "ignore_validation_errors": "Kontrollera inte syntax", + "ill_take_it": "Jag tar det!", + "import_from_github": "Importera från GitHub", + "import_to_sharelatex": "Importera till __appName__", + "importing": "Importerar", + "importing_and_merging_changes_in_github": "Importerar och slår samman ändringar i GitHub", + "in_good_company": "Du är i gott sällskap", + "in_order_to_match_institutional_metadata_associated": "För att matcha dina institutionella metadata är ditt konto kopplat till e-post-adressen __email__.", + "increased_compile_timeout": "Ökad timeout för kompilering", + "indvidual_plans": "Individuella betalningsplaner", + "info": "Info", + "institution": "Instution", + "institution_account": "Institutionellt konto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Den här e-post-adressen är redan kopplad till ditt konto men anslutet till en annan institution.", + "institution_account_tried_to_add_already_linked": "Denna institution är redan länkad till ditt konto via en annan e-post-adress.", + "institution_account_tried_to_add_already_registered": "Det e-post-konto/institutionella konto som du försökte lägga till är redan registrerat i __appName__.", + "institution_account_tried_to_confirm_saml": "Detta e-postmeddelande kan inte bekräftas. Vänligen ta bort e-postmeddelandet från ditt konto och försök att lägga till det igen.", + "institution_and_role": "Institution och befattning", + "institutional": "Institutionell", + "institutional_login_not_supported": "Ditt universitet stöder ännu inte institutionell inloggning, men du kan fortfarande registrera dig med din institutionella e-post-adress.", + "invalid_email": "En e-postadress är inte giltig", + "invalid_file_name": "Ogiltigt filnamn", + "invalid_password": "Felaktigt lösenord", + "invalid_password_too_long": "Maximal lösenordslängd __maxLength__ överskrids", + "invalid_password_too_short": "Lösenordet är för kort, minimum __minLength__", + "invalid_zip_file": "Ogiltig zip-fil", + "invite_more_collabs": "Bjuda in fler medarbetare", + "invite_not_accepted": "Inbjudan ännu inte accepterad", + "invite_not_valid": "Detta är inte en giltig inbjudan till ett projekt", + "invite_not_valid_description": "Inbjudan kan ha utgått. Vänligen kontakta ägaren till projektet", + "invited_to_group": "<0>__inviterName__ har bjudit in dig till ett team på __appName__", + "ip_address": "IP-adress", + "is_email_affiliated": "Är du ansluten till en institution?", + "it": "Italienska", + "ja": "Japanska", + "january": "Januari", + "join_project": "Gå med i projekt", + "join_sl_to_view_project": "Gå med i __appName__ för att se detta projekt", + "join_team_explanation": "Klicka på knappen nedan för att gå med i teamet och njut av fördelarna med ett uppgraderat __appName__ konto", + "joined_team": "Du har gått med i ett team som hanteras av __inviterName__", + "joining": "Går med", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Har du kollat i vår <0>__kbLink__?", + "keep_current_plan": "Behåll min nuvarande plan", + "keybindings": "Tangentbordsgenvägar", + "knowledge_base": "kunskapsbank", + "ko": "Koreanska", + "language": "Språk", + "last_active": "Senast aktiv", + "last_active_description": "Senaste gången ett projekt öppnades.", + "last_modified": "Senast ändrad", + "last_name": "Efternamn", + "latex_templates": "LaTeX mallar", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Välj en e-mailadress för ditt första admin-konto på __appName__. Den bör matcha ett konto i LDAP-systemet. När du valt kommer du ombes logga in med detta konto.", + "learn_more": "Läs mer", + "learn_more_about_link_sharing": "Läs mer om Länkdelning", + "leave": "Lämna", + "leave_group": "Lämna grupp", + "leave_now": "Lämna nu", + "leave_projects": "Lämna projekt", + "let_us_know": "Låt oss veta", + "license": "Licens", + "line_height": "Radavstånd", + "link_account": "Länka konto", + "link_accounts": "Länka konton", + "link_accounts_and_add_email": "Länka konton och lägg till e-post", + "link_institutional_email_get_started": "Länka en institutionell e-postadress till ditt konto för att komma igång.", + "link_sharing": "Länkdelning", + "link_sharing_is_off": "Länkdelning är inaktiverat, endast inbjudna användare kan se detta projekt.", + "link_sharing_is_on": "Länkdelning är aktiverat", + "link_to_github": "Länk till ditt GitHub konto", + "link_to_github_description": "Du måste ge __appName__ åtkomst till ditt GitHub konto för att kunna synkronisera dina projekt.", + "link_to_mendeley": "Koppla till Mendeley", + "link_to_zotero": "Koppla till Zotero", + "link_your_accounts": "Länka dina konton", + "linked_accounts": "Länkade konton", + "linked_accounts_explained": "Du kan länka dina __appName__ konton med andra tjänster för att aktivera funktioner beskrivna nedan", + "linked_file": "Importerad fil", + "links": "Länkar", + "loading": "Laddar", + "loading_content": "Skapar projekt", + "loading_github_repositories": "Laddar dina GitHub repon", + "loading_recent_github_commits": "Laddar senaste commits", + "log_entry_maximum_entries": "Gränsen för maximalt antal loggposter har nåtts", + "log_entry_maximum_entries_see_full_logs": "Om du vill se de fullständiga loggarna kan du fortfarande ladda ner dem eller se de obearbetade loggarna nedan.", + "log_hint_extra_info": "Läs mer", + "log_in": "Logga in", + "log_in_and_link": "Logga in och länka", + "log_in_and_link_accounts": "Logga in och länka konton", + "log_in_first_to_proceed": "Du måste först logga in för att fortsätta.", + "log_in_with": "Logga in med __provider__", + "log_in_with_email": "Logga in med __email__", + "log_in_with_existing_institution_email": "Vänligen logga in med ditt befintliga __appName__-konto för att länka kontot __appName__ och det institutionella kontot __institutionName__ .", + "log_out": "Logga ut", + "log_out_from": "Logga ut från __email__", + "logged_in_with_email": "Du är för närvarande inloggad i __appName__ med e-postadressen __email__.", + "logging_in": "Loggar in", + "login": "Logga in", + "login_error": "Inloggningsfel", + "login_failed": "Inloggning misslyckades", + "login_here": "Logga in här", + "login_or_password_wrong_try_again": "Ditt inlogg eller lösenord är felaktigt. Vänligen försök igen", + "login_register_or": "eller", + "login_to_overleaf": "Logga in i Overleaf", + "login_with_service": "Logga in med __service__", + "logs_and_output_files": "Loggar och output filer", + "looking_multiple_licenses": "Letar du efter flera licenser?", + "looks_like_logged_in_with_email": "Det ser ut som att du redan är inloggad i __appName__ med e-postadressen __email__.", + "looks_like_youre_at": "Det ser ut som att du är vid <0>__institutionName__!", + "lost_connection": "Förlorat anslutningen", + "main_document": "Huvuddokument", + "main_file_not_found": "Okänt huvuddokument", + "maintenance": "Underhållning", + "make_a_copy": "Gör en kopia", + "make_email_primary_description": "Gör denna till den primära e-post-adressen som används för att logga in", + "make_primary": "Gör primär", + "make_private": "Gör privat", + "manage_beta_program_membership": "Hantera beta-medlemskap", + "manage_sessions": "Hantera dina sessioner", + "manage_subscription": "Hantera prenumeration", + "managers_cannot_remove_admin": "Administratörer kan inte tas bort", + "march": "Mars", + "mark_as_resolved": "Markera som löst", + "math_display": "Display matteformler", + "math_inline": "Inline matteformler", + "maximum_files_uploaded_together": "Högst __max__ filer laddas upp samtidigt", + "may": "Maj", + "members_management": "Hantering av medlemmarna", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeleyintegrering", + "mendeley_is_premium": "Mendeley integrering är en premium funktion", + "mendeley_reference_loading_error": "Fel, kunde inte ladda referenser från Mendeley", + "mendeley_reference_loading_error_expired": "Medeley token har utgått, vänligen återkoppla ditt konto", + "mendeley_reference_loading_error_forbidden": "Kunde inte ladda referenser från Mendeley, vänligen återkoppla ditt konto och försök igen", + "mendeley_sync_description": "Med Mendeleyintegrering kan du importera dina referenser direkt från Mendeley till ditt __appName__ projekt", + "menu": "Meny", + "merge": "Slå samman", + "merging": "Slår samman", + "month": "månad", + "monthly": "Månatlig", + "more": "Mer", + "more_info": "Mer info", + "more_than_one_kind_of_snippet_was_requested": "Länken för att öppna detta innehåll i Overleaf innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "must_be_email_address": "Måste vara en e-postadress", + "n_items": "__count__ objekt", + "name": "Namn", + "native": "native", + "navigate_log_source": "Navigera till loggpositionen i källkoden: __location__", + "navigation": "Navigation", + "nearly_activated": "Du är ett steg från att aktivera ditt __appName__ konto!", + "need_anything_contact_us_at": "Om det är något du undrar över kan du alltid höra av dig till oss på", + "need_to_add_new_primary_before_remove": "Du måste lägga till en ny primär e-post-adress innan du kan ta bort den här.", + "need_to_leave": "Vill du lämna?", + "need_to_upgrade_for_more_collabs": "Du måste uppgradera ditt konto för att lägga till fler samarbetspartners", + "new_file": "Ny fil", + "new_folder": "Ny mapp", + "new_name": "Nytt namn", + "new_password": "Nytt lösenord", + "new_project": "Nytt projekt", + "new_snippet_project": "Namnlös", + "next_payment_of_x_collectected_on_y": "Nästa betalning på <0>__paymentAmmount__ kommer att genomföras den <1>__collectionDate__", + "nl": "Holländska", + "no": "Norska", + "no_comments": "Inga kommentarer", + "no_existing_password": "Vänligen använd formuläret för att återställa lösenord för att ange ditt lösenord", + "no_featured_templates": "Inga utvalda mallar", + "no_members": "Inga medlemmar", + "no_messages": "Inga meddelanden", + "no_new_commits_in_github": "Inga nya commits i GitHub sedan senaste sammanslagning.", + "no_other_projects_found": "Inga andra projekt har hittats, vänligen skapa ett annat projekt först", + "no_other_sessions": "Inga andra aktiva sessioner", + "no_pdf_error_explanation": "Denna kompilering producerade inte en PDF -fil. Detta kan hända om:", + "no_pdf_error_reason_output_pdf_already_exists": "Detta projekt innehåller en fil som heter output.pdf. Om den filen finns, byt namn på den och kompilera igen.", + "no_pdf_error_reason_unrecoverable_error": "Det finns ett oåterkalleligt LaTeX -fel. Om det finns LaTeX -fel som visas nedan eller i råloggarna, försök att åtgärda dem och kompilera igen.", + "no_pdf_error_title": "Ingen PDF", + "no_planned_maintenance": "Det finns för närvarande inget planerat underhållsarbete", + "no_preview_available": "Tyvärr, det finns inte någon förhandsvisning tillgänglig.", + "no_projects": "Inga projekt", + "no_resolved_threads": "Inga lösta trådar", + "no_search_results": "Inga sök resultat", + "no_selection_select_file": "För närvarande är ingen fil vald. Vänligen välj en fil från filträdet.", + "no_symbols_found": "Inga symboler hittades", + "no_thanks_cancel_now": "Nej tack, jag vill fortfarande avsluta", + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per månad", + "normally_x_price_per_year": "Normalt __price__ per år", + "not_found_error_from_the_supplied_url": "Länken för att öppna detta innehåll i Overleaf pekade på en fil som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "not_now": "Inte nu", + "not_registered": "Ej registrerad", + "note_features_under_development": "<0>Vänligen observera att funktionerna i detta program fortfarande testas och utvecklas aktivt. Detta innebär att de kan <0>förändras, <0>tas bort eller <0>bli en del av en premiumplan.", + "notification_features_upgraded_by_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med Overleaf och du har nu tillgång till alla Overleafs professionella funktioner.", + "notification_personal_subscription_not_required_due_to_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med Overleaf och du har nu tillgång till Overleafs professionella funktioner genom din anslutning. Du kan säga upp din personliga prenumeration utan att förlora åtkomst till någon av dina förmåner.", + "notification_project_invite": "__userName__ vill att du går med i __projectName__, Gå med i projektet", + "notification_project_invite_accepted_message": "Du har anslutit dig till __projectName__", + "november": "November", + "number_collab": "Antal samarbetspartners", + "october": "Oktober", + "off": "Av", + "official": "Officiell", + "ok": "OK", + "on": "På", + "one_collaborator": "Endast en samarbetare", + "one_free_collab": "En gratis samarbetsparnter", + "online_latex_editor": "Online-LaTeX-editor", + "open_a_file_on_the_left": "Öppna en fil till vänster", + "open_project": "Öppna projekt", + "optional": "Valfritt", + "or": "eller", + "other_actions": "Andra åtgärder", + "other_logs_and_files": "Andra loggar och filer", + "other_output_files": "Ladda ner andra utdatafiler", + "over": "över", + "overall_theme": "Övergripande tema", + "overleaf": "Overleaf", + "overview": "Översikt", + "owned_by_x": "ägs av __x__", + "owner": "Ägare", + "page_not_found": "Sidan kunde inte hittas", + "pagination_navigation": "Sidnavigering", + "password": "Lösenord", + "password_change_old_password_wrong": "Ditt gamla lösenord är fel", + "password_change_password_must_be_different": "Lösenordet som du skrev in är samma som ditt nuvarande lösenord. Vänligen försök med ett annat lösenord.", + "password_change_passwords_do_not_match": "Lösenorden matchar ej", + "password_change_successful": "Lösenord har ändrats", + "password_managed_externally": "Lösenordsinställningar hanteras externt", + "password_reset": "Återställ lösenord", + "password_reset_email_sent": "Ett e-postmeddelande har skickats till dig för att slutföra lösenordsåterställningen.", + "password_reset_token_expired": "Lösenordsåterställningen är för gammal. Vänligen begär en ny lösenordsåterställning och följ länken i e-postmeddelandet.", + "password_too_long_please_reset": "Maximal lösenordslängd har överskridits. Vänligen återställ ditt lösenord.", + "payment_provider_unreachable_error": "Tyvärr uppstod ett fel när vi kommunicerade med vår betalningsleverantör. Vänligen försök igen om ett tag.\nOm du använder några annons- eller skriptblockeringstillägg i din webbläsare kan du behöva inaktivera dem tillfälligt.", + "payment_summary": "Sammanfattning av betalningen", + "pdf_compile_in_progress_error": "Kompilering körs redan i ett annat fönster", + "pdf_compile_rate_limit_hit": "Kompilerings gräns nådd", + "pdf_compile_try_again": "Vänligen vänta tills din andra kompilering är klar innan du försöker igen.", + "pdf_preview_error": "Det fanns ett problem med att visa resultaten av kompileringen för detta projekt.", + "pdf_rendering_error": "PDF renderingsfel", + "pdf_viewer": "PDF läsare", + "pdf_viewer_error": "Det fanns ett problem med att visa PDF-filen för detta projekt.", + "pending": "Inväntar", + "personal": "Privat", + "pl": "Polska", + "plan_tooltip": "Du har __plan__-planen. Klicka för att ta reda på hur du får ut det mesta av dina Overleaf premiumfunktioner!", + "planned_maintenance": "Planerat underhåll", + "plans_amper_pricing": "Betalningsplaner och avgifter", + "plans_and_pricing": "Betalningsplaner och Priser", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Vänligen be projektägaren att uppgradera för att kunna spåra ändringar", + "please_change_primary_to_remove": "Vänligen ändra din primära e-post-adress för att ta bort", + "please_check_your_inbox": "Vänligen kontrollera din inkorg", + "please_check_your_inbox_to_confirm": "Kontrollera din e-postinkorg för att bekräfta din tillhörighet till <0>__institutionName__.", + "please_compile_pdf_before_download": "Vänligen kompilera ditt projekt innan du laddar ner PDF filen", + "please_compile_pdf_before_word_count": "Vänligen kompilera ditt projekt innan du gör en ord räkning", + "please_confirm_email": "Vänligen bekräfta din e-postadress __emailAddress__ genom att klicka på länken i bekräftelse-e-posten", + "please_confirm_your_email_before_making_it_default": "Vänligen bekräfta din e-postadress före du gör den till förinställd e-postadress", + "please_enter_email": "Vänligen ange din e-postadress", + "please_reconfirm_institutional_email": "Vänligen bekräfta din institutionella e-post-adress eller <0>ta bort den från ditt konto.", + "please_refresh": "Vänligen uppdatera sidan för att fortsätta.", + "please_select_a_project": "Vänligen välj ett projekt", + "please_set_a_password": "Vänligen välj ett lösenord", + "please_set_main_file": "Välj en huvudfil för detta projekt i projektmenyn. ", + "portal_add_affiliation_to_join": "Det ser ut som om du redan är inloggad på __appName__! Om du har en __portalTitle__ e-postadress kan du lägga till den nu.", + "position": "Position", + "postal_code": "Postnummer", + "powerful_latex_editor_and_realtime_collaboration": "Kraftfull LaTeX-redigerare och samarbete i realtid", + "powerful_latex_editor_and_realtime_collaboration_info": "Stavningskontroll, intelligent autokomplettering, syntaxmarkering, dussintals färgteman, anslutningar till vim och emacs, hjälp med LaTeX-varningar och felmeddelanden och mycket mer. Alla har alltid den senaste versionen, och du kan se dina samarbetspartners markörer och ändringar i realtid.", + "premium_feature": "Premium-funktion", + "premium_features": "Premiumfunktioner", + "premium_plan_label": "Du använder Overleaf Premium", + "presentation": "Presentation", + "price": "Pris", + "priority_support": "Prioriterad support", + "priority_support_info": "Vårt hjälpsamma supportteam prioriterar och eskalerar dina supportförfrågningar vid behov.", + "privacy": "Integritet", + "privacy_policy": "Användarvillkor", + "private": "Privat", + "problem_changing_email_address": "Det gick inte att byta din e-postadress. Vänligen försök igen om en liten stund. Kvarstår problemet så får du gärna kontakta oss.", + "problem_talking_to_publishing_service": "Det har uppstått ett problem på vår publiceringsserver, vänligen försök igen om några minuter", + "problem_with_subscription_contact_us": "Det har uppstått ett problem med din prenumeration. Vänligen kontakta oss för mer information.", + "proceed_to_paypal": "Fortsätt till PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Om du går vidare till PayPal kommer du till PayPal-webbplatsen där du kan betala för din prenumeration.", + "processing": "behandlar", + "processing_your_request": "Vänligen vänta medan vi behandlar din begäran.", + "professional": "Professionell", + "project_approaching_file_limit": "Detta projekt närmar sig gränsen för antalet filer", + "project_flagged_too_many_compiles": "Detta projekt har kompilerats för ofta. Begränsningen kommer snart tas bort igen.", + "project_has_too_many_files": "Detta projekt har nått gränsen på 2000 filer", + "project_last_published_at": "Ditt projekt blev publicerat senast den", + "project_name": "Projekt namn", + "project_not_linked_to_github": "Detta projekt är inte länkat till ett GitHub repo. Du kan skapa ett repo för det på GitHub:", + "project_ownership_transfer_confirmation_1": "Är du säker på att du vill göra <0>__user__ till ägaren av <1>__project__?", + "project_ownership_transfer_confirmation_2": "Denna åtgärd kan inte ångras. Den nya ägaren kommer att meddelas och kommer att kunna ändra inställningarna för projektåtkomst (inklusive att ta bort din egen åtkomst).", + "project_synced_with_git_repo_at": "Detta projekt är synkat med GitHub repot på", + "project_too_large": "Projektet är för stort", + "project_too_large_please_reduce": "Detta projekt har för mycket redigerbar text, försök att minska ner det. De största filerna är:", + "project_too_much_editable_text": "Det här projektet har för mycket redigerbar text, försök att minska den.", + "project_url": "Påverkad projekt URL", + "projects": "Projekt", + "projects_list": "Förteckning över projekt", + "pt": "Portugisiska", + "public": "Publik", + "publish": "Publicera", + "publish_as_template": "Publicera som mall", + "publishing": "Publicerar", + "pull_github_changes_into_sharelatex": "Dra GitHub ändringar till __appName__", + "push_sharelatex_changes_to_github": "Tryck __appName__ ändringar till GitHub", + "quoted_text_in": "Citerad text i", + "raw_logs": "Ursprungliga loggar", + "raw_logs_description": "Ursprungliga loggar från LaTeX-kompilatorn", + "read_only": "Endast läs", + "realtime_track_changes": "Realtidsspåra ändringar", + "realtime_track_changes_info_v2": "Aktivera Spåra ändringar för att se vem som har gjort varje ändring, acceptera eller förkasta andras ändringar och skriv kommentarer.", + "reauthorize_github_account": "Återauktorisera ditt GitHub konto", + "recent_commits_in_github": "Senaste commits på GitHub", + "recompile": "Kompilera", + "recompile_from_scratch": "Återkompilera från början", + "recompile_pdf": "Kompilera om PDF:en", + "reconfirm": "bekräfta igen", + "reconfirm_explained": "Vi måste bekräfta ditt konto igen. Vänligen begär en länk för återställning av lösenord via formuläret nedan för att bekräfta ditt konto igen. Om du har några problem med att bekräfta ditt konto, vänligen kontakta oss på", + "reconnect": "Försök igen", + "reconnecting": "Återansluter", + "reconnecting_in_x_secs": "Återansluter om __seconds__ sekunder", + "recurly_email_update_needed": "Din e-postadress för fakturering är för närvarande <0>__recurlyEmail__. Vid behov kan du uppdatera din faktureringsadress till <1>__userEmail__.", + "recurly_email_updated": "Din e-postadress för fakturering har uppdaterats", + "reduce_costs_group_licenses": "Du kan dra ner på pappersarbete och minska kostnader med våra rabatterade grupplicenser.", + "reference_error_relink_hint": "Om felet kvarstår, testa att återkoppla ditt konto här:", + "reference_search": "Avancerad referenssökning", + "reference_search_info_v2": "Det är lätt att hitta dina referenser - du kan söka på författare, titel, år eller tidskrift. Du kan fortfarande söka efter referensnyckel också.", + "reference_sync": "Referenshanterare synk", + "refresh": "Uppdatera", + "refresh_page_after_starting_free_trial": "Vänligen uppdatera denna sida efter att du startat din gratis provapå period.", + "regards": "Vänliga Hälsningar", + "register": "Registrera", + "register_error": "Registreringsfel", + "register_intercept_sso": "Du kan länka ditt __authProviderName__-konto från sidan Kontoinställningar efter att du loggat in.", + "register_to_edit_template": "Vänligen registrera dig för att redigera __templateName__ mallen", + "registered": "Registrerad", + "registering": "Registrerar", + "registration_error": "Registreringsfel", + "reject": "Neka", + "reject_all": "Avvisa alla", + "reload_editor": "Ladda om redigeraren", + "remote_service_error": "Fjärrtjänsten producerade ett fel", + "remove": "ta bort", + "remove_collaborator": "Ta bort samarbetspartner", + "remove_from_group": "Ta bort från grupp", + "removed": "tagits bort", + "removing": "Tar bort", + "rename": "Ändra namn", + "rename_project": "Ändra namn på projekt", + "renaming": "Döper om", + "reopen": "Återöppna", + "reply": "Svara", + "repository_name": "Namn på Repo", + "republish": "Återpublicera", + "request_password_reset": "Begär lösenordsåterställning", + "request_reconfirmation_email": "Begär bekräftelse via e-post", + "request_sent_thank_you": "Meddelandet har skickats! Vårt team kommer att granska det och svara via e-post.", + "requesting_password_reset": "Begär återställning av lösenord", + "required": "Obligatorisk", + "resend": "Skicka igen", + "resend_confirmation_email": "Skicka om e-postbekräftelse", + "resending_confirmation_email": "Skickar e-postmeddelande med bekräftelse igen", + "reset_password": "Återställ lösenord", + "reset_your_password": "Återställ ditt lösenord", + "resolve": "Lös", + "resolved_comments": "Åtgärdade kommentarer", + "restore": "Återställ", + "restoring": "Återställer", + "restricted": "Begränsad", + "restricted_no_permission": "Ursäkta, du har inte tillåtelse att visa denna sida.", + "return_to_login_page": "Tillbaka till inloggningssidan", + "reverse_x_sort_order": "Omvänd __x__-sortering", + "review": "Granska", + "review_your_peers_work": "Granska dina medarbetares bidrag", + "revoke": "Återkalla", + "revoke_invite": "Återkalla inbjudan", + "ro": "Rumänska", + "role": "Roll", + "ru": "Ryska", + "saml": "SAML", + "saml_create_admin_instructions": "Välj en e-mailadress för ditt första admin-konto på __appName__. Den bör matcha ett konto i SAML-systemet. När du valt kommer du ombes logga in med detta konto.", + "save_or_cancel-cancel": "Avbryt", + "save_or_cancel-or": "eller", + "save_or_cancel-save": "Spara", + "saving": "Spara", + "saving_notification_with_seconds": "Sparar __docname__... (__seconds__ sekunder av osparade ändringar)", + "search": "Sök", + "search_bib_files": "Sök efter författare, titel, år", + "search_projects": "Sök projekt", + "search_references": "Sök i .bib filerna för det här projektet", + "secondary_email_password_reset": "Denna e-postadress är registrerad som sekundär e-postadress. Vänligen ange primär e-postadress för ditt konto.", + "security": "Säkerhet", + "see_changes_in_your_documents_live": "Se ändringar i dina dokument, i realtid", + "select_a_project": "Välj ett projekt", + "select_all_projects": "Välj alla", + "select_an_output_file": "Välj en utdatafil", + "select_from_source_files": "Välj från källfiler", + "select_github_repository": "Välj ett GitHub repo att importera till __appName__.", + "send": "Skicka", + "send_first_message": "Skicka ditt första meddelande till dina medarbetare", + "send_test_email": "Skicka ett test-mail", + "sending": "Skickar", + "september": "September", + "server_error": "Serverfel", + "services": "Tjänster", + "session_created_at": "Session skapad den", + "session_expired_redirecting_to_login": "Sessionen har utgått. Dirigerar om till login sidan om __seconds__ sekunder", + "sessions": "Sessioner", + "set_new_password": "Ange nytt lösenord", + "set_password": "Ange lösenord", + "settings": "Inställningar", + "share": "Dela", + "share_project": "Dela projekt", + "share_with_your_collabs": "Dela med dina samarbetspartners", + "shared_with_you": "Delade med dig", + "sharelatex_beta_program": "__appName__ Beta-program", + "show_all": "visa alla", + "show_all_projects": "Visa alla projekt", + "show_hotkeys": "Visa tangentbordsgenvägar", + "show_less": "visa mindre", + "show_outline": "Visa filstruktur", + "site_description": "En online-LaTeX-editor som är enkel att använda. Samarbeta i realtid, utan installation, med versionshantering, hundratals LaTeX-mallar, med mera.", + "something_went_wrong_canceling_your_subscription": "Något gick fel när vi avslutade din prenumeration. Vänligen kontakta support.", + "something_went_wrong_rendering_pdf": "Något gick fel under renderingen av denna PDF:en.", + "somthing_went_wrong_compiling": "Ursäkta, något blev fel och ditt projekt kunde inte kompileras. Vänligen försök igen om en liten stund.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Tyvärr inträffade ett oväntat fel när du försökte öppna innehållet i Overleaf. Vänligen försök igen.", + "sort_by": "Sortera efter", + "sort_by_x": "Sortera efter __x__", + "source": "Källfiler", + "spell_check": "Stavningskontroll", + "sso_account_already_linked": "Kontot är redan kopplat till en annan __appName__-användare", + "sso_link_error": "Fel vid länkning av konto", + "sso_not_linked": "Du har inte kopplat ditt konto till __provider__. Logga in på ditt konto på ett annat sätt och koppla ditt __provider__-konto via dina kontoinställningar.", + "sso_user_denied_access": "Du kan inte logga in eftersom __appName__ inte fick tillgång till ditt __provider__-konto. Vänligen försök igen.", + "start_by_adding_your_email": "Börja med att lägga till din e-postadress.", + "start_free_trial": "Starta utvärderingsperiod!", + "state": "Status", + "status_checks": "Rutinkontroller", + "still_have_questions": "Har du fortfarande frågor?", + "stop_compile": "Stoppa kompilering", + "stop_on_validation_error": "Kontrollera syntax innan kompilering", + "store_your_work": "Lagra ditt arbete på din egen infrastruktur", + "student": "Student", + "student_disclaimer": "Studentrabatten gäller för alla studenter på gymnasienivå eller högre. Vi kan komma att kontakta dig för att bekräfta din behörighet för rabatten.", + "subject": "Ämne", + "subject_to_additional_vat": "Moms kan tillkomma till priser beroende på ditt land.", + "submit": "Skicka", + "submit_title": "Skicka in", + "subscribe": "Prenumerera", + "subscription": "Prenumeration", + "subscription_admins_cannot_be_deleted": "Du kan inte radera ditt konto när du har en prenumeration. Vänligen avbryt din prenumeration och försök igen. Om du fortsätter att se det här meddelandet, vänligen kontakta oss.", + "subscription_canceled": "Prenumeration avslutad", + "subscription_canceled_and_terminate_on_x": " Din prenumeration har avbrutits och kommer att upphöra den <0>__terminateDate__. Inga framtida betalningar kommer att genomföras.", + "suggestion": "Förslag", + "sure_you_want_to_change_plan": "Är du säker på att du vill ändra till betalningsplan <0>__planName__?", + "sure_you_want_to_delete": "Är du säker på att du vill permanent radera följande filer?", + "sure_you_want_to_leave_group": "Är du säker på att du vill lämna denna gruppen?", + "sv": "Svenska", + "switch_to_editor": "Byt till editor", + "switch_to_pdf": "Byt till PDF", + "sync": "Synka", + "sync_dropbox_github": "Synka med Dropbox och GitHub", + "sync_project_to_github_explanation": "Alla ändringar du gör i __appName__ kommer att commitas och slås samman med uppdateringar i GitHub.", + "sync_to_dropbox": "Synka till Dropbox", + "sync_to_github": "Synka till GitHub", + "synctex_failed": "Kunde ej finna motsvarande källfil", + "syntax_validation": "Kodkontroll", + "tag_name_cannot_exceed_characters": "Taggnamnet får inte överstiga __maxLength__ tecken.", + "take_me_home": "Ta mig härifrån!", + "take_short_survey": "Gör en kort enkät", + "tc_everyone": "Alla", + "tc_guests": "Gäster", + "tc_switch_everyone_tip": "Aktivera spårningsändringar för alla", + "tc_switch_guests_tip": "Aktivera spårningsändringar för alla länkdelade gäster", + "tc_switch_user_tip": "Aktivera spårningsändringar för denna användare", + "template_approved_by_publisher": "Denna mall har godkänts av utgivaren", + "template_description": "Mallbeskrivning", + "template_gallery": "Mallgalleri", + "template_not_found_description": "Detta sätt att skapa projekt från mallar har tagits bort. Vänligen besök vårt mallgalleri för att hitta fler mallar.", + "template_title_taken_from_project_title": "Mallens titel hämtas automatiskt från projektets titel.", + "templates": "Mallar", + "terminated": "Kompilering avbruten", + "terms": "Villkor", + "tex_live_version": "TeX Live-version", + "thank_you": "Tack!", + "thank_you_email_confirmed": "Tack, din e-postadress är nu bekräftad.", + "thank_you_for_being_part_of_our_beta_program": "Tack för att du deltar i vårt betaprogram, där du kan få tidig tillgång till nya funktioner och hjälpa oss att bättre förstå dina behov", + "thanks": "Tack", + "thanks_for_subscribing": "Tack för din prenumeration!", + "thanks_for_subscribing_you_help_sl": "Tack för att du prenumererar på en __planName__ betalningsplan. Det är stöd från personer som dig som gör att __appName__ kan fortsätta växa och förbättras.", + "thanks_settings_updated": "Tack, dina inställningar har uppdateras.", + "the_file_supplied_is_of_an_unsupported_type ": "Länken för att öppna detta innehåll i Overleaf pekade på fel typ av fil. Giltiga filtyper är .tex-dokument och .zip-filer. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_requested_conversion_job_was_not_found": "Länken för att öppna detta innehåll i Overleaf angav ett konverteringsjobb som inte kunde hittas. Det är möjligt att jobbet har löpt ut och måste köras igen. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_requested_publisher_was_not_found": "Länken för att öppna detta innehåll i Overleaf angav en utgivare som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_required_parameters_were_not_supplied": "Länken för att öppna detta innehåll i Overleaf saknade några nödvändiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_supplied_parameters_were_invalid": "Länken för att öppna detta innehåll i Overleaf innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_supplied_uri_is_invalid": "Länken för att öppna detta innehåll i Overleaf innehöll en ogiltig URI. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "theme": "Tema", + "then_x_price_per_month": "Därefter __price__ per månad", + "then_x_price_per_year": "Därefter __price__ per år", + "there_was_an_error_opening_your_content": "Ett fel uppstod när ditt projekt skulle skapas", + "thesis": "Uppsats", + "this_action_cannot_be_undone": "Denna åtgärd kan inte ångras.", + "this_address_will_be_shown_on_the_invoice": "Denna adress kommer att anges på fakturan.", + "this_field_is_required": "Detta fält är obligatoriskt", + "this_is_your_template": "Detta är din mall från ditt projekt", + "this_project_is_public": "Detta projekt är publikt och kan redigeras av vem som helst med länken.", + "this_project_is_public_read_only": "Det här projektet är publikt och kan visas, men inte redigeras, av vem som helst med länken.", + "this_project_will_appear_in_your_dropbox_folder_at": "Detta projekt kommer att synas i din Dropbox mapp på ", + "thousands_templates": "Tusentals mallar", + "thousands_templates_info": "Producera vackra dokument med hjälp av vårt galleri av LaTeX-mallar för tidskrifter, konferenser, avhandlingar, rapporter, CV:n och mycket mer.", + "three_free_collab": "Tre gratis samarbetspartners", + "timedout": "Timed out", + "tip": "Tips", + "title": "Titel", + "to_add_more_collaborators": "För att lägga till fler medarbetare eller aktivera delning av länk, vänligen fråga projektägaren", + "to_change_access_permissions": "För att ändra åtkomsträttigheter, vänligen fråga projektägaren", + "to_many_login_requests_2_mins": "Detta konto har haft för många inloggningsförsök. Vänligen vänta 2 minuter innan nästa försök.", + "to_modify_your_subscription_go_to": "För att förändra din prenumeration gå till", + "toggle_compile_options_menu": "Växla menyn för kompileringsalternativ", + "token_access_failure": "Kan ej bevilja åtkomst; kontakta projektägaren för hjälp", + "too_many_files_uploaded_throttled_short_period": "För många filer har laddats upp, dina uppladdningar har tillfälligt begränsats.", + "too_many_requests": "Alltför många förfrågningar mottogs på kort tid. Vänligen vänta ett tag och försök igen.", + "too_recently_compiled": "Det här projektet har nyligen kompilerats, en ny kompilering har därför inte gjorts.", + "tooltip_hide_filetree": "Klicka för att gömma filträdet", + "tooltip_hide_pdf": "Klicka för att gömma PDF:en", + "tooltip_show_filetree": "Klicka för att visa filträdet", + "tooltip_show_pdf": "Klicka för att visa PDF:en", + "total_per_month": "Totalt per månad", + "total_per_year": "Totalt per år", + "total_words": "Totalt antal ord", + "tr": "Turkiska", + "track_any_change_in_real_time": "Spåra alla ändringar, i realtid", + "track_changes": "Spåra ändringar", + "track_changes_is_off": "Spåra ändringar är av", + "track_changes_is_on": "Spåra ändringar är ", + "tracked_change_added": "Tillagd", + "tracked_change_deleted": "Raderad", + "trash": "Papperskorg", + "trash_projects": "Kasta projekt", + "trashed_projects": "Kastade projekt", + "trashing_projects_wont_affect_collaborators": "Kasta projekt kommer inte att påverka dina samarbetspartners.", + "tried_to_log_in_with_email": "Du har försökt logga in med __email__.", + "tried_to_register_with_email": "Du har försökt att registrera dig med __email__ som redan är registrerat med __appName__ som ett institutionellt konto.", + "try_again": "Vänligen försök igen", + "try_it_for_free": "Prova gratis", + "try_now": "Testa Nu", + "turn_off_link_sharing": "Inaktivera länkdelning", + "turn_on_link_sharing": "Aktivera länkdelning", + "uk": "Ukrainska", + "unable_to_extract_the_supplied_zip_file": "Det gick inte att öppna detta innehåll i Overleaf eftersom zip-filen inte kunde extraheras. Vänligen se till att det är en giltig zip-fil. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "unarchive": "Återskapa", + "uncategorized": "Okategoriserat", + "unconfirmed": "Obekräftad", + "university": "Universitet", + "unlimited": "Obegränsat", + "unlimited_collabs": "Obegränsat med samarbetare", + "unlimited_projects": "Obegränsat med projekt", + "unlink": "Koppla bort", + "unlink_github_warning": "Projekt som du har synkat med GitHub kommer att kopplas bort och inte längre synkroniseras med GitHub. Är du säker på att du vill koppla bort ditt GitHub konto?", + "unlink_reference": "Ta bort referens koppling", + "unlink_warning_reference": "Varning: När du tar bort kopplingen från ditt konto kommer du inte längre att kunna importera referenser till ditt projekt.", + "unpublish": "Avpublicera", + "unpublishing": "Avpublicera", + "unsubscribe": "Avsluta prenumeration", + "unsubscribed": "Prenumeration avslutad", + "unsubscribing": "Avslutar prenumeration", + "untrash": "Återskapa", + "update": "Uppdatera", + "update_account_info": "Uppdatera kontoinformation", + "update_dropbox_settings": "Uppdatera Dropbox inställningar", + "update_your_billing_details": "Uppdatera din betalningsinformation", + "updating_site": "Uppdaterar webbsidan", + "upgrade": "Uppgradera", + "upgrade_cc_btn": "Uppgradera nu, betala efter 7 dagar", + "upgrade_now": "Uppgradera Nu", + "upgrade_to_get_feature": "Uppgradera för att få __feature__, plus:", + "upgrade_to_track_changes": "Uppgradera för att spåra ändringar", + "upload": "Ladda upp", + "upload_failed": "Uppladdning misslyckades", + "upload_project": "Ladda upp projekt", + "upload_zipped_project": "Ladda upp zippat projekt", + "user_already_added": "Användare redan tillagd", + "user_deletion_error": "Tyvärr, något gick fel vid raderingen av ditt konto. Vänligen försök igen om en minut.", + "user_not_found": "Användare ej funnen", + "user_wants_you_to_see_project": "__username__ vill att du ska gå med i __projectname__", + "validation_issue_entry_description": "Ett valideringsproblem som förhindrade kompilering av detta projekt", + "vat_number": "Moms nummer", + "view_all": "Visa alla", + "view_in_template_gallery": "Visa i mallgalleri", + "view_logs": "Visa loggar", + "view_pdf": "Visa PDF", + "view_source": "Visa källa", + "view_your_invoices": "Visa dina fakturor", + "want_change_to_apply_before_plan_end": "Om du vill att ändringen ska gälla före slutet av din nuvarande faktureringsperiod, vänligen kontakta oss.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Vi kan ej finna några avsnitt eller underavsnitt i denna fil", + "we_logged_you_in": "Vi har loggat in dig.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Vi kan också kontakta dig då och då via e-post med en undersökning, eller för att se om du vill delta i andra användarundersökningsinitiativ", + "wed_love_you_to_stay": "Vi önskar att du stannar", + "welcome_to_sl": "Välkommen till __appName__", + "wide": "Bred", + "will_need_to_log_out_from_and_in_with": "Du måste logga ut från ditt __email1__-konto och sedan logga in med __email2__.", + "word_count": "Ordräknare", + "work_offline": "Arbeta offline", + "x_price_for_first_month": "<0>__price__ för din första månad", + "x_price_for_first_year": "<0>__price__ för ditt första år", + "x_price_for_y_months": "<0>__price__ för dina första __discountMonths__ månader", + "x_price_per_year": "<0>__price__ per år", + "year": "år", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kan när som helst gå med/ur programmet på denna sida", + "you_dont_have_any_repositories": "Du har inga förvaringsutrymmen", + "you_have_added_x_of_group_size_y": "Du har lagt till <0>__addedUsersSize__ av <1>__groupSize__ tillgängliga medlemmar", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Du kan kontakta oss när som helst för att ge respons", + "your_affiliation_is_confirmed": "Din tillhörighet till <0>__institutionName__ är bekräftad.", + "your_new_plan": "Din nya plan", + "your_plan": "Din betalningsplan", + "your_projects": "Dina Projekt", + "your_sessions": "Dina sessioner", + "your_subscription": "Din prenumeration", + "your_subscription_has_expired": "Din prenumeration har gått ut.", + "zh-CN": "Kinesiska", + "zip_contents_too_large": "Zip-filens innehåll är för stort", + "zotero": "Zotero", + "zotero_integration": "Zotero integrering", + "zotero_is_premium": "Zotero integrering är en premium funktion", + "zotero_reference_loading_error": "Fel, kunde inte ladda referenser från Zotero", + "zotero_reference_loading_error_expired": "Zotero token har utgått, vänligen återkoppla ditt konto", + "zotero_reference_loading_error_forbidden": "Kunde inte ladda referenser från Zotero, vänligen återkoppla ditt konto och försök igen", + "zotero_sync_description": "Med Zotero integrering kan du importera dina referenser direkt från Zotero till ditt __appName__ projekt." +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/tr.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/tr.json new file mode 100644 index 0000000..5561195 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/tr.json @@ -0,0 +1,389 @@ +{ + "About": "Hakkında", + "Account": "Hesap", + "Account Settings": "Hesap Ayarları", + "Documentation": "Dökümantasyon", + "Projects": "Projeler", + "Security": "Güvenlik", + "Subscription": "Abonelik", + "Terms": "Şartlar", + "Universities": "Üniversiteler", + "about": "Hakkında", + "about_to_delete_projects": "Şu projeleri silmek üzeresiniz:", + "about_to_leave_projects": "Şu projeleri terk etmek üzeresiniz:", + "account": "Hesap", + "account_not_linked_to_dropbox": "Hesabınız, Dropbox’a bağlı değildir", + "account_settings": "Hesap Ayarları", + "actions": "İşlemler", + "activate": "Aktifleştir", + "activate_account": "Hesap etkinleştir", + "activating": "Aktifleştiriliyor", + "activation_token_expired": "Aktivasyon kodunuzun süresi geçmiş, size tekrar yollayacağımız kodu kullanın.", + "add": "Ekle", + "add_more_members": "Daha fazla üye ekleyin", + "add_your_first_group_member_now": "Grubunuza ilk üyeleri ekleyin", + "added": "eklenmiş", + "adding": "Ekleniyor", + "address": "Adres", + "admin": "yönetici", + "all_projects": "Tüm Projeler", + "all_templates": "Tüm Şablonlar", + "already_have_sl_account": "Zaten bir __appName__ hesabınız mı var?", + "and": "ya da ne", + "annual": "Yıllık", + "anonymous": "Anonim", + "april": "Nisan", + "august": "Ağustos", + "auto_complete": "Otomatik-Tamamlama", + "back_to_your_projects": "Projelerinize geri dönün", + "beta": "Beta", + "bibliographies": "Kaynakça", + "blank_project": "Boş Proje", + "blog": "Blog", + "built_in": "Yerleşik", + "can_edit": "Değişiklik Yapabilir", + "cancel": "İptal", + "cancel_my_account": "Hesabımı iptal et", + "cancel_your_subscription": "Hesabınızı iptal edin", + "cant_find_email": "Üzgünüz ama bu kayıtlı bir e-posta adresi değildir.", + "cant_find_page": "Özür dileriz, aradığınız sayfayı bulamıyoruz", + "change": "Değiştir", + "change_password": "Şifre Değiştir", + "change_plan": "Plan değiştir", + "change_to_this_plan": "Bu plana geç", + "chat": "Sohbet", + "checking_dropbox_status": "Dropbox’un durumu kontrol ediliyor", + "checking_project_github_status": "Projenin GitHub’daki durumu kontrol ediliyor", + "choose_your_plan": "Planınızı seçin", + "city": "Şehir", + "clear_cached_files": "Önbellek dosyalarını temizle", + "clearing": "Temizleniyor", + "click_here_to_view_sl_in_lng": "__appName__’i <0>__lngName__ dilinde kullanmak için", + "close": "Kapat", + "cn": "Çince (Basitleştirilmiş)", + "collaboration": "İş birliği", + "collaborator": "İş ortağı", + "collabs_per_proj": "her bir proje için __collabcount__ iş ortağı", + "comment": "Yorumlar", + "commit": "İşle", + "common": "Belirli", + "compiler": "Derleyici", + "compiling": "Derleniyor", + "complete": "Tamamla", + "confirm_new_password": "Yeni Şifreyi Doğrula", + "connected_users": "Bağlı Kullanıcılar", + "connecting": "Bağlanıyor", + "contact": "İletişim", + "contact_us": "İletişime geçin", + "continue_github_merge": "Kendim birleştirdim. Devam et", + "copy": "Kopyala", + "copy_project": "Projeyi Kopyala", + "copying": "kopyalama", + "country": "Ülke", + "coupon_code": "kupon kodu", + "create": "Oluştur", + "create_new_subscription": "Yeni Abonelik Oluştur", + "create_project_in_github": "GitHub deposu oluştur", + "creating": "Oluşturuluyor", + "credit_card": "Kredi Kartı", + "cs": "Çekçe", + "current_password": "Mevcut Şifreniz", + "currently_subscribed_to_plan": "Şuan için<0>__planName__ planına aboneliğiniz devam etmektedir.", + "da": "Danca", + "de": "Almanca", + "december": "Aralık", + "delete": "Sil", + "delete_account": "Hesabı Sil", + "delete_your_account": "Hesabınızı silin", + "deleting": "Siliniyor", + "disconnected": "Bağlantı koptu", + "documentation": "Dökümantasyon", + "doesnt_match": "Uyuşmuyor", + "done": "Tamam", + "download": "İndir", + "download_pdf": "PDF halini indir", + "download_zip_file": "Zip Dosyasını İndir", + "dropbox_sync": "Dropbox Senkronizasyonu", + "dropbox_sync_description": "__appName__ projelerinizi, Dropbox ile senkronize edin. Bu sayede __appName__ üzerinden yaptığınız değişiklikler otomatik olarak Dropbox üzerinde ve Dropbox üzerinde yapılan değişiklikler de __appName__ üzerinde işlenecektir.", + "editing": "Düzenleme", + "editor_disconected_click_to_reconnect": "Editör bağlantısı koptu, yeniden bağlanmak için herhangi bir yere tıklayın.", + "email": "E-posta", + "email_or_password_wrong_try_again": "E-posta adresiniz ya da şifreniz yanlış. Lütfen tekrar deneyin", + "en": "İngilizce", + "es": "İspanyolca", + "every": "her", + "example_project": "Örnek Proje", + "expiry": "Son kullanma tarihi", + "export_project_to_github": "Projeyi GitHub’a yükle", + "features": "Özellikler", + "february": "Şubat", + "first_name": "Ad", + "folders": "Klasörler", + "font_size": "Yazı Boyutu", + "forgot_your_password": "Şifrenizi mi unuttunuz", + "fr": "Fransızca", + "free": "Ücretsiz", + "free_dropbox_and_history": "Ücretsiz Dropbox ve Geçmiş", + "full_doc_history": "Tüm değişiklikler geçmişi", + "generic_something_went_wrong": "Özür dileriz, bir şeyler ters gitti :(", + "get_in_touch": "İrtibata geçin", + "github_commit_message_placeholder": "__appName__ üzerinden yaptığınız değişiklikler için yorum giriniz...", + "github_is_premium": "GitHub senkronizasyonu premium bir özelliktir", + "github_public_description": "Herkes bu depoyu görüntüleyebilir. Kimlerin işlem yapabileceğini siz seçersiniz.", + "github_successfully_linked_description": "Teşekkürler, GitHub hesabınız ile __appName__ arasındaki bağlantı, başarıyla oluşturuldu. Artık __appName__ projelerinizi GitHub üzerine yükleyebilir ya da GitHub depolarınızı __appName__’e yükleyebilirsiniz.", + "github_sync": "GitHub Senkronizasyonu", + "github_sync_description": "GitHub senkronizasyonu sayesinde __appName__ projeleriniz ile GitHub depolarınız arasında bağlantı kurabilirsiniz. Bu sayede __appName__ üzerinden çevrimdışı olarak işlem yapabilir ya da bu işlemleri GitHub üzerine işleyebilirsiniz.", + "github_sync_error": "Üzgünüz, GitHub servisine bağlanırken bir sorunla karşılaştık. Lütfen, birkaç dakika sonra tekrar deneyin.", + "github_validation_check": "Lütfen, depo adının doğru yazıldığından ve yeni bir depo oluşturma yetkinizin olduğundan emin olunuz.", + "global": "global", + "go_to_code_location_in_pdf": "PDF’deki yerin koddaki karşılığına git", + "go_to_pdf_location_in_code": "Koddaki yerin PDF’deki karşılığına git", + "group_admin": "Grup Yöneticisi", + "groups": "Gruplar", + "have_more_days_to_try": "Deneme sürenize __days__ gün daha ekleyin!", + "headers": "Başlıklar", + "help": "Yardım", + "hotkeys": "Kısayollar", + "i_want_to_stay": "Kalmak istiyorum", + "ill_take_it": "Alıyorum!", + "import_from_github": "GitHub’dan yükle", + "import_to_sharelatex": "__appName__’e yükle", + "importing": "Yükleniyor", + "importing_and_merging_changes_in_github": "Değişiklikler GitHub’a aktarılıyor", + "indvidual_plans": "Kişisel Planlar", + "info": "Bilgi", + "institution": "Enstitü", + "it": "İtalyanca", + "ja": "Japonca", + "january": "Ocak", + "join_sl_to_view_project": "Bu projeyi görmek için __appName__’e katılın", + "july": "Temmuz", + "june": "Haziran", + "keybindings": "Tuş Yönlendirmeleri", + "ko": "Korece", + "language": "Dil", + "last_modified": "Son Değişiklik", + "last_name": "Soyad", + "latex_templates": "LaTeX Şablonları", + "learn_more": "Daha fazla bilgi", + "link_to_github": "GitHub hesabınız ile bağlantı oluşturun", + "link_to_github_description": "GitHub’daki hesabınız ile projelerinizin senkronize olabilmesi için __appName__’e yetki vermeniz gerekmektedir.", + "loading": "Yükleniyor", + "loading_github_repositories": "GitHub depolarınız yükleniyor", + "loading_recent_github_commits": "Yapılan son işlemler yükleniyor", + "log_in": "Giriş yap", + "log_out": "Çıkış Yap", + "logging_in": "Giriş yapılıyor", + "login": "Giriş yap", + "login_here": "Buradan giriş yapın", + "logs_and_output_files": "Sonuç dökümleri ve çıktılar", + "lost_connection": "Bağlantı Yok", + "main_document": "Ana döküman", + "maintenance": "Bakım", + "make_private": "Özel Erişimli Hale Getir", + "manage_subscription": "Abonelik", + "march": "Mart", + "math_display": "Matematik Görselleri", + "math_inline": "Matematik İçerikleri", + "may": "Mayıs", + "menu": "Menü", + "merge": "Birleştir", + "merging": "Birleştiriliyor", + "month": "ay", + "monthly": "Aylık", + "more": "Daha fazla", + "must_be_email_address": "E-posta adresi olmak zorundadır", + "name": "İsim", + "native": "yerel", + "navigation": "Yol gösterici", + "nearly_activated": "__appName__ isimli hesabınızı etkinleştirmenize bir adım kaldı!", + "need_anything_contact_us_at": "Eğer herhangi bir konuda bize ihtiyacınız olursa ve bize ulaşmak isterseniz e-posta adresimiz", + "need_to_leave": "Bizden ayrılıyor musunuz?", + "need_to_upgrade_for_more_collabs": "Daha fazla iş ortağı ekleyebilmeniz için hesabınızı yükseltmeniz gerekmektedir", + "new_file": "Yeni dosya", + "new_folder": "Yeni klasör", + "new_name": "Yeni Ad", + "new_password": "Yeni Şifre", + "new_project": "Yeni Proje", + "next_payment_of_x_collectected_on_y": "Bir sonraki <0>__paymentAmmount__ olan ödemeniz <1>__collectionDate__ tarihinde alınacaktır", + "nl": "Flemenkçe", + "no": "Norveççe", + "no_members": "Üye bulunmamaktadır", + "no_messages": "Herhangi bir mesaj yok", + "no_new_commits_in_github": "En sonki birleşmeden itibaren GitHub’da yapılmış herhangi yeni bir işlem bulunmuyor.", + "no_planned_maintenance": "Şu anda herhangi bir planlanmış bakım bulunmamaktadır", + "no_preview_available": "Özür dileriz, herhangi bir önizleme bulunmamaktadır.", + "no_projects": "Proje bulunmamakta", + "no_thanks_cancel_now": "Hayır teşekkürler, hesabı iptal etmek istiyorum", + "november": "Kasım", + "october": "Ekim", + "off": "Kapalı", + "ok": "Tamam", + "one_collaborator": "Yalnızca bir iş ortağı", + "one_free_collab": "Fazladan bir iş ortağı", + "online_latex_editor": "Çevrimiçi LaTeX Editörü", + "optional": "İsteğe bağlı", + "or": " ya da", + "other_logs_and_files": "Diğer sonuç dökümleri & dosyalar", + "over": "fazla", + "owner": "Sahibi", + "page_not_found": "Sayfa Bulunamadı", + "password": "Şifre", + "password_reset": "Yeniden Şifre Tanımlama", + "password_reset_email_sent": "Şifrenizi yeniden tanımlamanız için size bir e-posta gönderildi.", + "password_reset_token_expired": "Şifrenizi yeniden tanımlamanız için sağlanan iznin süresi geçti. Lütfen tekrar şifre sıfırlama talep edin ve e-posta ile gelen bağlantıdan şifrenizi yeniden tanımlayın.", + "pdf_viewer": "PDF Görüntüleyici", + "personal": "Kişisel", + "pl": "Lehçe", + "planned_maintenance": "Planlanmış Bakım", + "plans_amper_pricing": "Planlar ve Fiyatlandırma", + "plans_and_pricing": "Planlar ve Fiyatlandırma", + "please_compile_pdf_before_download": "Dökümanınızın PDF halini indirmeden önce lütfen derleyin", + "please_compile_pdf_before_word_count": "Kelime sayısını hesaplamadan önce lütfen projenizi derleyin", + "please_enter_email": "Lütfen e-posta adresinizi giriniz", + "please_refresh": "Devam etmek için lütfen sayfayı yenileyin", + "please_set_a_password": "Lütfen bir şifre belirleyin", + "position": "Pozisyon", + "presentation": "Sunum", + "price": "Fiyat", + "privacy": "Gizlilik", + "privacy_policy": "Gizlilik Politikası", + "private": "Özel", + "problem_changing_email_address": "E-posta adresinizi değiştirirken bir hata ile karşılaşıldı. Lütfen bir kaç dakika sonra tekrar deneyin. Eğer bu problem devam ederse bizimle iletişime geçebilirsiniz.", + "problem_talking_to_publishing_service": "Yayın hizmetimizde bir sorun oluştu, lütfen bir kaç dakika sonra tekrar deneyin", + "problem_with_subscription_contact_us": "Aboneliğiniz ile ilgili bir sorun bulunmaktadır. Lütfen ayrıntılı bilgi için bizimle iletişime geçin.", + "processing": "işlem yapılıyor", + "professional": "Profesyonel", + "project_last_published_at": "Projenizin en son yayınlandığı tarih", + "project_name": "Proje Adı", + "project_not_linked_to_github": "Bu projenin herhangi bir GitHub deposu ile bağlantısı bulunmamaktadır. GitHub’da bunun için bir depo oluşturabilirsiniz:", + "project_synced_with_git_repo_at": "Bu projenin senkronizasyon halinde olduğu GitHub deposu", + "project_too_large": "Proje aşırı büyük", + "project_too_large_please_reduce": "Projede çok fazla yazı bulunmaktadır, lütfen azaltmayı deneyin.", + "projects": "Projeler", + "pt": "Portekizce", + "public": "Halka Açık", + "publish": "Yayınla", + "publish_as_template": "Şablon Olarak Yayınla", + "publishing": "Yayınlanıyor", + "pull_github_changes_into_sharelatex": "GitHub’daki değişiklikleri __appName__’e aktar", + "push_sharelatex_changes_to_github": "__appName__’deki değişiklikleri GitHub’a aktar", + "read_only": "Yalnızca Görüntüleyebilir", + "recent_commits_in_github": "GitHub’da yapılan güncel işlemler", + "recompile": "Tekrar Derle", + "reconnecting": "Yeniden bağlanıyor", + "reconnecting_in_x_secs": "__seconds__ saniye içinde tekrar bağlanılmaya çalışılacak", + "refresh_page_after_starting_free_trial": "Ücretsiz denemenize başladıktan sonra lütfen sayfayı yenileyin", + "regards": "Saygılarımızla", + "register": "Kayıt ol", + "register_to_edit_template": "__templateName__ şablonunu düzenlemek için lütfen kayıt olunuz", + "registered": "Kayıtlı", + "registering": "Kayıt olunuyor", + "remove_collaborator": "İş ortağını çıkar", + "remove_from_group": "Gruptan çıkar", + "removed": "silinmiş", + "removing": "Kaldırılıyor", + "rename": "Adlandır", + "rename_project": "Projeyi Yeniden Adlandır", + "renaming": "Değiştiriliyor", + "repository_name": "Depo Adı", + "republish": "Yeniden yayınla", + "request_password_reset": "Yeniden şifre tanımla", + "required": "gerekli", + "reset_password": "Şifre Sıfırla", + "reset_your_password": "Şifrenizi yeniden tanımlayın", + "restore": "Geri taşı", + "restoring": "Onarma", + "restricted": "Yasaklı", + "restricted_no_permission": "Üzgünüz, bu sayfaya erişmek için gerekli izniniz bulunmamaktadır.", + "ro": "Romence", + "role": "Pozisyon", + "ru": "Rusça", + "saving": "Kaydediliyor", + "saving_notification_with_seconds": "__docname__ kaydediliyor... (Değişikliklerin kaydedilmemesinin üzerinden __seconds__ geçti)", + "search_projects": "Projelerde Ara", + "security": "Güvenlik", + "select_github_repository": "__appName__’e yüklemek istediğiniz GitHub deponuzu seçiniz", + "send_first_message": "İlk mesajınızı gönderin", + "september": "Eylül", + "server_error": "Sunucu Hatası", + "set_new_password": "Yeni şifre tanımla", + "set_password": "Şifre Belirle", + "settings": "Ayarlar", + "share": "Paylaş", + "share_project": "Projeyi Paylaş", + "share_with_your_collabs": "İş ortaklarınızla paylaşın", + "shared_with_you": "Sizinle Paylaşılanlar", + "show_hotkeys": "Kısayolları Göster", + "somthing_went_wrong_compiling": "Özür dileriz, bir şeyler ters gitti ve projeniz derlenemiyor. Lütfen bir kaç dakika sonra tekrar deneyin.", + "source": "Kaynak", + "spell_check": "İmla Denetimi", + "start_free_trial": "Hemen Ücretsiz Deneyin!", + "state": "Eyalet", + "student": "Öğrenci", + "subscribe": "Abone Ol", + "subscription": "Abonelik", + "subscription_canceled_and_terminate_on_x": " Aboneliğiniz iptal edildi ve <0>__terminateDate__ tarihinde sonlandırılacaktır. Başka herhangi bir ücret alınmayacaktır.", + "sure_you_want_to_change_plan": "Planınızı <0>__planName__ olarak değiştirmek istediğinizden emin misiniz?", + "sv": "İsveççe", + "sync": "Senkronizasyon", + "sync_project_to_github_explanation": "__appName__ üzerinden yaptığınız tüm değişiklikler GitHub üzerine işlenecek ve birleştirilecektir.", + "sync_to_dropbox": "Dropbox senkronizasyonu", + "sync_to_github": "GitHub ile senkronize et", + "take_me_home": "Çıkar beni buradan!", + "template_description": "Şablon Bilgisi", + "templates": "Şablonlar", + "terms": "Şartlar", + "thank_you": "Teşekkürler", + "thanks": "Teşekkürler", + "thanks_for_subscribing": "Aboneliğiniz için teşekkürler!", + "thanks_for_subscribing_you_help_sl": "__planName__ planına abone olduğunuz için teşekkürler. Sizlerin bu destekleri sayesinde __appName__ büyümeye ve gelişmeye devam etmektedir.", + "thanks_settings_updated": "Teşekkürler, ayarlarınız güncellendi.", + "theme": "Tema", + "thesis": "Tez", + "this_project_is_public": "Bu, halka açık bir projedir ve URL sayesinde herkes tarafından düzenlenebilir.", + "this_project_is_public_read_only": "Bu, halka açık bir projedir ve URL sayesinde herkes tarafından görülebilir ancak değiştirilemez.", + "this_project_will_appear_in_your_dropbox_folder_at": "Bu projenin gözükeceği Dropbox klasörü: ", + "three_free_collab": "Fazladan üç iş ortağı", + "timedout": "Zaman aşımı", + "title": "Başlık", + "to_many_login_requests_2_mins": "Bu hesap çok fazla giriş talebinde bulundu. Lütfen tekrar giriş yapabilmek için 2 dakika bekleyin.", + "to_modify_your_subscription_go_to": "Aboneliğinizi değiştirmek için:", + "total_words": "Toplam Kelime", + "tr": "Türkçe", + "try_now": "Şimdi Dene", + "uk": "Ukraynaca", + "university": "Üniversite", + "unlimited_collabs": "Sınırsız iş ortağı", + "unlimited_projects": "Sınırsız Proje Sayısı", + "unlink": "Bağlantıyı kopar", + "unlink_github_warning": "GitHub ile senkronize etmiş olduğunuz tüm projeler arasındaki bağlantı koparılacaktır ve senkronizasyon iptal edilecektir. GitHub ile olan bu bağlantıyı koparmak istediğinizden emin misiniz?", + "unpublish": "Yayından Kaldır", + "unpublishing": "Yayından kaldırılıyor", + "unsubscribe": "Aboneliği sonlandır", + "unsubscribed": "Abonelik sonlandırıldı", + "unsubscribing": "Abonelik sonlandırılıyor", + "update": "Güncelle", + "update_account_info": "Hesap Bilgilerini Güncelle", + "update_dropbox_settings": "Dropbox ayarlarını güncelle", + "update_your_billing_details": "Ödeme Bilgilerini Güncelle", + "updating_site": "Sayfa Güncelleme", + "upgrade": "Yükselt", + "upgrade_now": "Şimdi Yükselt", + "upload": "Yükle", + "upload_project": "Proje Yükleyin", + "upload_zipped_project": "Sıkıştırılmış Proje Yükle", + "user_wants_you_to_see_project": "__username__ adlı kullanıcı __projectname__ isimli projeyi görmenizi istiyor", + "vat_number": "KDV (VAT) Numarası", + "view_all": "Hepsini Gör", + "view_in_template_gallery": "Şablon galerisinde görüntüle", + "welcome_to_sl": "__appName__’e hoş geldiniz", + "word_count": "Kelime Sayısı", + "year": "yıl", + "you_have_added_x_of_group_size_y": "<1>__groupSize__ kişilik grup kontenjanınıza, <0>__addedUsersSize__ kişi eklediniz", + "your_plan": "Planınız", + "your_projects": "Sizin Projeleriniz", + "your_subscription": "Aboneliğiniz", + "your_subscription_has_expired": "Aboneliğinizin süresi doldu.", + "zh-CN": "Çince" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/zh-CN.json b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/zh-CN.json new file mode 100644 index 0000000..55b8acf --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/zh-CN.json @@ -0,0 +1,2486 @@ +{ + "12x_basic": "12倍 免费时长 (240s)", + "1_2_width": "½ 宽度", + "1_4_width": "¼ 宽度", + "3_4_width": "¾ 宽度", + "About": "关于", + "Account": "账户", + "Account Settings": "账户设置", + "Documentation": "文档", + "Projects": "项目", + "Security": "安全性", + "Subscription": "订购", + "Terms": "条款", + "Universities": "大学", + "a_custom_size_has_been_used_in_the_latex_code": "默认的大小已经被应用到Latex代码中。", + "a_fatal_compile_error_that_completely_blocks_compilation": "一个<0>严重编译错误阻止了编译。", + "a_file_with_that_name_already_exists_and_will_be_overriden": "同名文件已存在,该文件会被覆盖。", + "a_more_comprehensive_list_of_keyboard_shortcuts": "在<0>此__appName__项目模板中可以找到更完整的键盘快捷键列表", + "about": "关于", + "about_to_archive_projects": "您将要归档以下项目:", + "about_to_delete_cert": "您将要删除以下证书:", + "about_to_delete_projects": "您将删除下面的项目:", + "about_to_delete_tag": "您即将删除下列的标签 (标签对应的任何项目都不会被删除)", + "about_to_delete_the_following_project": "您即将删除下面的项目:", + "about_to_delete_the_following_projects": "您将删除下面的项目:", + "about_to_delete_user_preamble": "您即将删除 __userName__ (__userEmail__)。此操作将意味着:", + "about_to_enable_managed_users": "通过启用“托管用户”功能,您的组订阅的所有现有成员都将被邀请成为托管用户。这将赋予您对他们帐户的管理权限。您还可以选择邀请新成员加入订阅并成为托管成员。", + "about_to_leave_project": "您即将离开此项目", + "about_to_leave_projects": "您将离开下面的项目", + "about_to_trash_projects": "您将要把以下项目移至回收站:", + "abstract": "摘要", + "accept": "采纳", + "accept_all": "采纳全部", + "accept_and_continue": "接受并继续", + "accept_change": "接受修改", + "accept_invitation": "接受邀请", + "accept_or_reject_each_changes_individually": "接受或拒绝修改意见", + "accept_terms_and_conditions": "接受条款和条件", + "accepted_invite": "已接受的邀请", + "accepting_invite_as": "接受邀请", + "access_denied": "访问被拒绝", + "access_levels_changed": "访问级别已更改", + "account": "账户", + "account_has_been_link_to_institution_account": "您在 __appName__ 上的 __email__ 帐户已链接到您的 __institutionName__ 机构帐户。", + "account_has_past_due_invoice_change_plan_warning": "您的帐户当前有逾期账单。在这个问题解决之前,你不能改变你的计划。", + "account_linking": "帐户链接", + "account_managed_by_group_administrator": "您的帐户由您的群组管理员(__admin__)管理", + "account_not_linked_to_dropbox": "您的账户没有链接到Dropbox", + "account_settings": "账户设置", + "account_with_email_exists": "看起来在 __appName__ 已经存在一个电子邮件为__email__的账户。", + "acct_linked_to_institution_acct_2": "您可以通过您的<0> __institutionName__ 机构登录信息来<0>登录 Overleaf。", + "actions": "操作", + "activate": "激活", + "activate_account": "激活账户", + "activating": "激活中", + "activation_token_expired": "您的激活码已经过期,您需要另外一个", + "active": "激活的", + "add": "添加", + "add_a_recovery_email_address": "添加恢复邮件地址", + "add_additional_certificate": "添加另外一个证书", + "add_affiliation": "添加从属关系", + "add_another_address_line": "添加另一个地址行", + "add_another_email": "添加其他电子邮件", + "add_another_token": "添加另外一个令牌", + "add_comma_separated_emails_help": "使用逗号(,)字符分隔多个电子邮件地址。", + "add_comment": "添加评论", + "add_company_details": "添加公司详细信息", + "add_email": "添加电子邮件", + "add_email_address": "添加邮件地址", + "add_email_to_claim_features": "添加一个机构电子邮件地址来声明您的功能。", + "add_files": "添加文件", + "add_more_collaborators": "添加更多协作者", + "add_more_editors": "添加更多编辑者", + "add_more_managers": "添加更多管理者", + "add_more_members": "添加更多成员", + "add_new_email": "添加新电子邮件", + "add_or_remove_project_from_tag": "根据标记 __tagName__ 来添加或移除项目", + "add_people": "添加人员", + "add_role_and_department": "添加角色和部门", + "add_to_tag": "添加到标记", + "add_your_comment_here": "在此添加评论", + "add_your_first_group_member_now": "现在添加您的第一个组成员", + "added": "已添加", + "added_by_on": "由 __name__ 在 __date__ 添加", + "adding": "添加", + "adding_a_bibliography": "添加参考文献?", + "additional_certificate": "添加的证书", + "additional_licenses": "您的订阅包括<0>__additionalLicenses__个附加许可证,共有<1>__totalLicenses__个许可证。", + "address": "地址", + "address_line_1": "地址", + "address_second_line_optional": "地址行第二行(可选)", + "adjust_column_width": "调整列宽", + "admin": "管理员", + "admin_panel": "管理员面板", + "admin_user_created_message": "管理员账户已创建, 登陆 以继续", + "administration_and_security": "管理和安全", + "advanced_reference_search": "高级<0>引用搜索", + "advanced_search": "高级搜索", + "aggregate_changed": "替换", + "aggregate_to": "为", + "agree_with_the_terms": "我同意Overleaf的条款", + "ai_can_make_mistakes": "AI 可能会犯错。在确定修复之前,请先检查修复内容。", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "您对改进此功能有什么想法或建议吗?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "告诉我们哪里出了问题,以便我们改进。", + "ai_feedback_the_answer_was_too_long": "答案太长了", + "ai_feedback_the_answer_wasnt_detailed_enough": "答案不够详细", + "ai_feedback_the_suggestion_didnt_fix_the_error": "此建议未能修复错误", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "这个建议并不是最好的解决办法", + "ai_feedback_there_was_no_code_fix_suggested": "没有建议代码修复", + "alignment": "对齐", + "all": "全部", + "all_borders": "全边框", + "all_our_group_plans_offer_educational_discount": "我们的所有<0>团体计划都为学生和教师提供<1>教育折扣", + "all_premium_features": "所有高级付费功能", + "all_premium_features_including": "所有高级功能,包括:", + "all_prices_displayed_are_in_currency": "所有展示的价格都以__recommendedCurrency__计。", + "all_projects": "所有项目", + "all_projects_will_be_transferred_immediately": "所有的项目将立即移交给新的拥有者。", + "all_templates": "所有模板", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "包含我们标准计划的所有功能,另外每个项目还可拥有无限的合作者。", + "all_these_experiments_are_available_exclusively": "所有这些实验仅对实验室计划的成员开放。如果您注册,您可以选择要尝试的实验。", + "already_have_an_account": "已经有一个账户啦?", + "already_have_sl_account": "已经拥有 __appName__ 账户了吗?", + "already_subscribed_try_refreshing_the_page": "已经订阅啦?请刷新界面哦。", + "also": "也", + "also_available_as_on_premises": "也可以获取私有部署", + "alternatively_create_new_institution_account": "或者,您可以通过单击__clickText__来使用机构电子邮件(__email__)创建一个新帐户。", + "an_email_has_already_been_sent_to": "一封电子邮件已经被发送给<0>__email__。请稍后再尝试。", + "an_error_occured_while_restoring_project": "还原项目时出错", + "an_error_occurred_when_verifying_the_coupon_code": "验证优惠券代码时出错", + "and": "和", + "annual": "每年", + "anonymous": "匿名", + "anyone_with_link_can_edit": "任何人可以通过此链接编辑此项目。", + "anyone_with_link_can_view": "任何人可以通过此链接浏览此项目。", + "app_on_x": "__appName__ 在 __social__", + "apply_educational_discount": "使用教育折扣", + "apply_educational_discount_info": "10人或10人以上的团体可享受40%的教育折扣。适用于使用Overleaf教学的学生或教师。", + "apply_educational_discount_info_new": "使用__appName__进行教学的10人或以上团体可享受40%的折扣", + "apply_suggestion": "使用建议", + "april": "四月", + "archive": "归档", + "archive_projects": "归档项目", + "archived": "归档", + "archived_projects": "已归档项目", + "archiving_projects_wont_affect_collaborators": "归档项目不会影响您的合作者。", + "are_you_affiliated_with_an_institution": "您隶属于某个机构吗?", + "are_you_getting_an_undefined_control_sequence_error": "您是否看到未定义的控制序列错误?如果是,请确保您已在文档的序言部分(代码的第一部分)中加载 Graphicx 包:<0>\\usepackage{graphicx}。 <1>了解更多", + "are_you_still_at": "你还在<0>__institutionName__吗?", + "are_you_sure": "您确认吗?", + "article": "文章", + "articles": "文章", + "as_a_member_of_sso_required": "作为 __institutionName__ 的成员,您必须通过您的机构门户网站登录到 __appName__ 。", + "as_email": "作为__email__", + "ascending": "升序", + "ask_proj_owner_to_unlink_from_current_github": "请求项目所有者 (<0>__projectOwnerEmail__) 取消项目与当前 GitHub 存储库的链接,并创建与其他存储库的连接。", + "ask_proj_owner_to_upgrade_for_full_history": "请要求项目所有者升级以访问此项目的完整历史记录。", + "ask_proj_owner_to_upgrade_for_references_search": "请要求项目所有者升级以使用参考文献搜索功能。", + "ask_repo_owner_to_reconnect": "请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 重新连接该项目。", + "ask_repo_owner_to_renew_overleaf_subscription": "请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 续订其 __appName__ 订阅并重新链接项目。", + "august": "八月", + "author": "作者", + "auto_close_brackets": "自动补全括号", + "auto_compile": "自动编译", + "auto_complete": "自动补全", + "autocompile_disabled": "自动编译已关闭", + "autocompile_disabled_reason": "由于服务器过载,暂时无法自动实时编译,请点击上方按钮进行编译", + "autocomplete": "自动补全", + "autocomplete_references": "参考文献自动补全(在 \\cite{} 中)", + "automatic_user_registration": "自动用户注册", + "automatic_user_registration_uppercase": "自动用户注册", + "back": "返回", + "back_to_account_settings": "返回帐户设置", + "back_to_configuration": "返回配置", + "back_to_editor": "回到编辑器", + "back_to_log_in": "返回登录", + "back_to_subscription": "返回到订阅", + "back_to_your_projects": "返回您的项目", + "basic": "免费时长 (20s)", + "basic_compile_timeout_on_fast_servers": "在快速服务器上的基本编译时限", + "become_an_advisor": "成为__appName__顾问", + "before_you_use_the_ai_error_assistant": "使用 AI 错误助手之前", + "best_choices_companies_universities_non_profits": "公司、大学和非营利组织的最佳选择", + "beta": "试用版", + "beta_feature_badge": "Beta功能徽章", + "beta_program_already_participating": "您加入了 Beta 版测试", + "beta_program_badge_description": "在使用 __appName__ 过程中,测试功能会被这样标记:", + "beta_program_benefits": "我们一直在改进 __appName__。 通过加入此计划,您可以<0>尽早使用新功能并帮助我们更好地了解您的需求。", + "beta_program_not_participating": "您尚未注册 Beta 计划", + "beta_program_opt_in_action": "退出Beta版测试", + "beta_program_opt_out_action": "退出 Beta 计划", + "better_bibliographies": "更好的文献引用", + "bibliographies": "参考文献", + "binary_history_error": "预览不适用于此文件类型", + "blank_project": "空白项目", + "blocked_filename": "此文件名被阻止。", + "blog": "博客", + "brl_discount_offer_plans_page_banner": "__flag__好消息 我们为巴西用户在本页面上的高级计划提供了50%的折扣。看看新的低价。", + "browser": "浏览器", + "built_in": "内嵌", + "bulk_accept_confirm": "您确认采纳__nChanges__ 个变动吗?", + "bulk_reject_confirm": "您确认拒绝__nChanges__ 个变动吗?", + "buy_now_no_exclamation_mark": "现在购买", + "by": "由", + "by_joining_labs": "加入实验室即表示您同意接收 Overleaf 不定期发送的电子邮件和更新信息(例如,征求您的反馈)。您还同意我们的<0>服务条款和<1>隐私声明。", + "by_registering_you_agree_to_our_terms_of_service": "注册即表示您同意我们的 <0>服务条款 和 <1>隐私条款。", + "by_subscribing_you_agree_to_our_terms_of_service": "订阅即表示您同意我们的<0>服务条款。", + "can_edit": "可以编辑", + "can_link_institution_email_acct_to_institution_acct": "您现在可以将您的 __appName__ 账户 __email__ 与您的 __institutionName__ 机构账户关联。", + "can_link_institution_email_by_clicking": "您可以通过单击 __clickText__ 将您的 __email__ __appName__ 账户链接到您的 __institutionName__ 帐户。", + "can_link_institution_email_to_login": "您可以将您的 __email__ __appName__ 账户链接到你的 __institutionName__ 账户,这将允许您通过机构门户登录到__appName__ 。", + "can_link_your_institution_acct_2": "您可以现在 <0>链接 您的 <0>__appName__ 账户到您的<0>__institutionName__ 机构账户。", + "can_now_relink_dropbox": "您现在可以<0>重新关联您的 Dropbox 帐户。", + "can_view": "可以查看", + "cancel": "取消", + "cancel_anytime": "我们相信您会喜欢 __appName__,但如果不喜欢,您可以随时取消。如果您在30天内通知我们,我们无理由退款。", + "cancel_my_account": "取消我的订购", + "cancel_my_subscription": "取消我的订阅", + "cancel_personal_subscription_first": "您已经有个人订阅,您希望我们在加入团体许可之前先取消该订阅吗?", + "cancel_your_subscription": "取消您的订购", + "cannot_invite_non_user": "无法发送邀请。 收件人必须已有 __appName__ 帐户", + "cannot_invite_self": "不能向自己发送邀请哦", + "cannot_verify_user_not_robot": "抱歉,您没有通过“我不是个机器人”验证,请检查您的防火墙或网页插件是否阻碍了您的验证。", + "cant_find_email": "邮箱尚未注册,抱歉。", + "cant_find_page": "抱歉,我们找不到您要查找的页面。", + "cant_see_what_youre_looking_for_question": "找不到?", + "caption_above": "标题在表格上方", + "caption_below": "标题在表格下方", + "card_details": "信用卡详情", + "card_details_are_not_valid": "信用卡信息无效", + "card_must_be_authenticated_by_3dsecure": "在继续之前,您的卡必须通过3D安全验证", + "card_payment": "信用卡支付", + "careers": "工作与职业", + "category_arrows": "箭头字符", + "category_greek": "希腊字符", + "category_misc": "杂项", + "category_operators": "运算字符", + "category_relations": "关系字符", + "center": "居中", + "certificate": "证书", + "change": "修改", + "change_currency": "更改货币", + "change_or_cancel-cancel": "取消", + "change_or_cancel-change": "修改", + "change_or_cancel-or": "或者", + "change_owner": "更改所有者", + "change_password": "更换密码", + "change_password_in_account_settings": "在帐户设置中更改密码", + "change_plan": "改变套餐", + "change_primary_email_address_instructions": "要更改您的主电子邮件地址,请先添加您的新主电子邮件地址(点击<0>添加其他电子邮件)并确认。 然后单击<0>设为主账户按钮。 <1>详细了解如何管理您的 __appName__ 电子邮件。", + "change_project_owner": "变更项目所有者", + "change_the_ownership_of_your_personal_projects": "将您的个人项目的所有权更改为新帐户。 <0>了解如何更改项目所有者。", + "change_to_group_plan": "更改为团体计划", + "change_to_this_plan": "该为这个订购项", + "changing_the_position_of_your_figure": "更改您的图片的位置", + "changing_the_position_of_your_table": "更改您的表格的位置", + "chat": "聊天", + "chat_error": "无法加载聊天消息,请重试。", + "check_your_email": "检查您的电子邮件", + "checking": "检查中", + "checking_dropbox_status": "检查 Dropbox 状态", + "checking_project_github_status": "正在检查GitHub中的项目状态", + "choose_a_custom_color": "选择自定义颜色", + "choose_from_group_members": "从团队成员中选择", + "choose_which_experiments": "选择您想要尝试的实验。", + "choose_your_plan": "选择您的支付方案", + "city": "城市", + "clear_cached_files": "清除缓存文件", + "clear_search": "清除搜索", + "clear_sessions": "清理会话", + "clear_sessions_description": "这是您的账户中当前活跃的会话信息(不包含当前会话)。点击“清理会话”按钮可以退出这些会话。", + "clear_sessions_success": "其他会话已清理", + "clearing": "正在清除", + "click_here_to_view_sl_in_lng": "点击以<0>__lngName__ 使用 __appName__", + "click_link_to_proceed": "单击下面的 __clickText__ 继续。", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "点击<0>删除将删除您的 SSO 配置并取消所有用户的链接。 仅当您的组设置中禁用 SSO 时,您才能执行此操作。", + "clone_with_git": "用Git克隆", + "close": "关闭", + "clsi_maintenance": "编译服务器停机维护,将很快恢复正常。", + "clsi_unavailable": "抱歉,项目的编译服务器暂时不可用。请稍后再试。", + "cn": "中文 (简体)", + "code_check_failed": "代码检查失败", + "code_check_failed_explanation": "您的代码有问题,无法自动编译", + "code_editor": "源代码编辑器", + "code_editor_tooltip_message": "您可以在代码编辑器中查看项目中的代码(并对其进行编辑)", + "code_editor_tooltip_title": "想要查看并编辑 LaTeX 代码?", + "collaborate_easily_on_your_projects": "轻松协作您的项目。处理更长或更复杂的文档。", + "collaborate_online_and_offline": "使用自己的工作流进行在线和离线协作", + "collaboration": "合作", + "collaborator": "合作者", + "collabratec_account_not_registered": "未注册 IEEE Collabratec™ 帐户。请从IEEE Collabratec™连接到Overleaf 或者使用其他帐户登录。", + "collabs_per_proj": "每个项目 __collabcount__ 个合作者", + "collabs_per_proj_single": "__collabcount__ 个合作者每个项目", + "collapse": "合上", + "column_width": "列宽", + "column_width_is_custom_click_to_resize": "列宽为默认值,单击以调整大小", + "column_width_is_x_click_to_resize": "列宽为 __width__。 单击以调整大小", + "comment": "评论", + "comment_submit_error": "抱歉,提交您的评论时出现问题", + "commit": "提交", + "common": "通用", + "common_causes_of_compile_timeouts_include": "常见的导致编译超时的原因包括", + "commons_plan_tooltip": "由于您与 __institution__ 的隶属关系,您加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", + "compact": "紧凑的", + "company_name": "公司名称", + "compare": "比较", + "compare_features": "比较功能", + "comparing_from_x_to_y": "从 <0>__startTime__ 到 <0>__endTime__ 进行比较", + "compile_error_entry_description": "一个阻止此项目编译的错误", + "compile_error_handling": "编译错误处理", + "compile_larger_projects": "编译更大项目", + "compile_mode": "编译模式", + "compile_servers": "编译服务器", + "compile_servers_info": "高级计划用户的编译始终在最快的可用服务器集群上运行。", + "compile_servers_info_new": "用于编译项目的服务器。付费计划用户的编译器始终在最快的可用服务器上运行。", + "compile_terminated_by_user": "由于点击了“停止编译”按钮,编译被取消。您可以下载原始日志以查看编译停止的位置。", + "compile_timeout_short": "编译时限", + "compile_timeout_short_info_basic": "这是您在Overleaf服务器上编译项目的时限。对于更长或更复杂的项目,您可能需要更多的时间。", + "compile_timeout_short_info_new": "这是您在 Overleaf 上编译项目的时间。对于更长或更复杂的项目,您可能需要更多时间。", + "compiler": "编译器", + "compiling": "正在编译", + "complete": "完成", + "compliance": "合规性", + "compromised_password": "泄露的密码", + "configure_sso": "配置 SSO", + "configured": "已配置", + "confirm": "确认", + "confirm_affiliation": "确认从属关系", + "confirm_affiliation_to_relink_dropbox": "请确认您仍在该机构并持有他们的许可证,或升级您的帐户以重新关联您的 Dropbox 帐户。", + "confirm_delete_user_type_email_address": "确认您要删除 __userName__,请输入与其帐户关联的电子邮件地址", + "confirm_email": "确认电子邮件", + "confirm_new_password": "确认新密码", + "confirm_primary_email_change": "确认主电子邮件更改", + "confirm_remove_sso_config_enter_email": "要确认您要删除 SSO 配置,请输入您的电子邮件地址:", + "confirm_your_email": "确认您的电子邮件地址", + "confirmation_link_broken": "抱歉,您的确认链接有问题。请尝试复制并粘贴邮件底部的链接。", + "confirmation_token_invalid": "抱歉,您的确认令牌无效或已过期。请请求新的电子邮件确认链接。", + "confirming": "确认", + "conflicting_paths_found": "发现冲突路径", + "congratulations_youve_successfully_join_group": "恭喜!您已经成功的加入到团队订阅中。", + "connected_users": "已连接的用户", + "connecting": "正在连接", + "connection_lost": "网络连接已断开", + "contact": "联系", + "contact_group_admin": "请联系你的群组管理员。", + "contact_message_label": "信息", + "contact_sales": "联系销售", + "contact_support": "联系支持人员", + "contact_support_to_change_group_subscription": "如果您希望更改您的团队订阅,请<0>联系支持。", + "contact_us": "联系我们", + "contact_us_lowercase": "联系我们", + "contacting_the_sales_team": "联系销售团队", + "continue": "继续", + "continue_github_merge": "我已经手动合并。继续", + "continue_to": "返回 __appName__", + "continue_with_free_plan": "继续使用免费计划", + "continue_with_service": "以 __service__ 继续", + "copied": "已复制", + "copy": "复制", + "copy_code": "复制代码", + "copy_project": "复制项目", + "copy_response": "复制响应内容", + "copying": "正在复制", + "could_not_connect_to_collaboration_server": "无法连接到协作服务器", + "could_not_connect_to_websocket_server": "无法连接到WebSocket服务器", + "could_not_load_translations": "无法加载翻译", + "country": "国家", + "country_flag": "__country__ 国旗", + "coupon_code": "优惠码", + "coupon_code_is_not_valid_for_selected_plan": "优惠券代码对于所选计划无效", + "coupons_not_included": "这不包括您当前的折扣,它将在您下次付款前自动应用", + "create": "创建", + "create_a_new_password_for_your_account": "为您的帐户创建新密码", + "create_a_new_project": "创建一个新项目", + "create_account": "创建账户", + "create_an_account": "创建一个账户", + "create_first_admin_account": "创建首个管理员账户", + "create_new_account": "创建新帐户", + "create_new_subscription": "新建订购", + "create_new_tag": "创建新标签", + "create_project_in_github": "创建一个GitHub存储库", + "created_at": "创建于", + "creating": "正在创建", + "credit_card": "信用卡", + "cs": "捷克语", + "currency": "货币", + "current_file": "当前文件", + "current_password": "正在使用的密码", + "current_price": "当前价格", + "current_session": "当前会话", + "currently_seeing_only_24_hrs_history": "您当前正在看到此项目中最后24小时的更改。", + "currently_signed_in_as_x": "目前以 <0>__userEmail__ 身份登录。", + "currently_subscribed_to_plan": "您现在订阅的是 <0>__planName__ 套餐。", + "custom": "默认 (Custom)", + "custom_borders": "自定义边框", + "custom_resource_portal": "定制资源门户", + "custom_resource_portal_info": "您可以在 Overleaf 上拥有自己的自定义门户页面。这是您的用户了解有关 Overleaf 的更多信息、访问模板、常见问题解答和帮助资源以及注册 Overleaf 的好地方。", + "customer_resource_portal": "客户资源门户", + "customize": "定制", + "customize_your_group_subscription": "定制您的团队计划", + "customize_your_plan": "定制您的计划", + "customizing_figures": "定制图片", + "customizing_tables": "定制表格", + "da": "丹麦语", + "date": "日期", + "date_and_owner": "日期和所有者", + "de": "德语", + "dealing_with_errors": "处理错误", + "december": "十二月", + "dedicated_account_manager": "专属客服", + "dedicated_account_manager_info": "我们的客户管理团队将能够协助您解决请求、问题,并通过宣传材料、培训资源和网络研讨会帮助您宣传 Overleaf。", + "default": "默认", + "delete": "删除", + "delete_account": "删除账户", + "delete_account_confirmation_label": "我了解这将删除我的 __appName__ 帐户中电子邮件地址为 <0>__userDefaultEmail__ 的所有项目", + "delete_account_warning_message_3": "您即将永久删除您的所有账户数据,包括您的项目和设置。请输入账户邮箱地址和密码以继续。", + "delete_acct_no_existing_pw": "在删除您的帐户之前,请使用密码重置表单设置密码", + "delete_and_leave": "删除/保留", + "delete_and_leave_projects": "删除并离开项目", + "delete_authentication_token": "删除身份验证令牌", + "delete_authentication_token_info": "您即将删除 Git 身份验证令牌。 如果这样做,则在执行 Git 操作时将无法再使用它来验证您的身份。", + "delete_certificate": "删除证书", + "delete_comment": "删除评论", + "delete_comment_message": "您无法撤销此操作", + "delete_comment_thread": "删除评论线程流", + "delete_comment_thread_message": "这将删除整个评论线程。此操作无法撤消。", + "delete_figure": "删除图片", + "delete_projects": "删除项目", + "delete_row_or_column": "删除行或列", + "delete_sso_config": "删除 SSO 配置", + "delete_table": "删除表格", + "delete_tag": "删除标签", + "delete_token": "删除令牌", + "delete_user": "删除用户", + "delete_your_account": "删除您的账户", + "deleted_at": "删除于", + "deleted_by_email": "通过电子邮件删除", + "deleted_by_id": "通过 ID 删除", + "deleted_by_ip": "通过 IP 删除", + "deleted_by_on": "由 __name__ 于 __date__ 删除", + "deleting": "正在删除", + "demonstrating_git_integration": "演示Git集成", + "demonstrating_track_changes_feature": "演示跟踪更改功能", + "department": "部门", + "descending": "降序", + "description": "描述", + "details_provided_by_google_explanation": "您的详细信息是由您的 Google 帐户提供的。请检查一下哦。", + "dictionary": "字典", + "did_you_know_institution_providing_professional": "你知道吗__institutionName__向__institutionName__的每个人提供<0>免费的 __appName__ 专业功能吗?", + "disable_single_sign_on": "禁用 单点登录(SSO)", + "disable_sso": "关闭 SSO", + "disable_stop_on_first_error": "禁用 “出现第一个错误时停止”", + "disabling": "禁用", + "disconnected": "连接已断开", + "discount_of": "__amount__的折扣", + "dismiss_error_popup": "忽略第一个错误提示", + "display_deleted_user": "显示已删除的用户", + "do_not_have_acct_or_do_not_want_to_link": "如果您没有 __appName__ 帐户,或者您不想链接到您的 __institutionName__ 帐户,请单击 __clickText__。", + "do_not_link_accounts": "不链接帐户", + "do_you_need_edit_access": "您需要编辑权限吗?", + "do_you_want_to_change_your_primary_email_address_to": "是否要将主电子邮件地址更改为__email__?", + "do_you_want_to_overwrite_it": "您是否要覆盖它?", + "do_you_want_to_overwrite_it_plural": "您是否要覆盖它?", + "do_you_want_to_overwrite_them": "您想覆盖它们吗?", + "document_too_long": "文档超长", + "document_too_long_detail": "抱歉,该文件太长,无法手动编辑。 请直接上传。", + "document_too_long_tracked_deletes": "您还可以接受待处理的删除以减小文件的大小。", + "document_updated_externally": "文档外部已更新", + "document_updated_externally_detail": "该文档刚刚进行了外部更新。 您最近所做的任何更改都可能已被覆盖。 要查看以前的版本,请查看历史记录。", + "documentation": "文档", + "does_not_contain_or_significantly_match_your_email": "不包含或者匹配您的电子邮件", + "doesnt_match": "不一致", + "doing_this_allow_log_in_through_institution": "这样做将允许您通过机构门户登录到 __appName__,并重新确认您的机构电子邮件地址。", + "doing_this_allow_log_in_through_institution_2": "执行此操作将允许您通过您的机构登录<0>__appName__,并重新确认您的机构电子邮件地址。", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "这样做将验证您与__institutionName__的关系,并将允许您通过您的机构登录到 __appName__ 。", + "done": "完成", + "dont_have_account": "还没有账户?", + "dont_have_account_without_question_mark": "没有帐号", + "download": "下载", + "download_all": "下载全部", + "download_metadata": "下载 Overleaf 元数据", + "download_pdf": "下载PDF", + "download_zip_file": "下载 ZIP 格式文件", + "draft_sso_configuration": "起草 SSO 配置", + "drag_here": "拖到这里", + "drag_here_paste_an_image_or": "将图片拖到此处、粘贴图片,或者 ", + "drop_files_here_to_upload": "拖动文件到这里以上传", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "您的Dropbox帐户无法链接,因为它已与另一个Overleaf帐户链接。", + "dropbox_already_linked_error_with_email": "您的Dropbox帐户无法链接,因为它已与另一个Overleaf帐户 __otherUsersEmail__ 链接。", + "dropbox_checking_sync_status": "正在检查 Dropbox 更新", + "dropbox_duplicate_names_error": "您的 Dropbox 帐户无法链接,因为您有多个同名项目: ", + "dropbox_duplicate_project_names": "您的 Dropbox 帐户已取消关联,因为您有多个名为 <0>\"__projectName__\" 的项目。", + "dropbox_duplicate_project_names_suggestion": "请让您的项目名称在您的所有<0>活动、存档和废弃项目中唯一,然后重新关联您的 Dropbox 帐户。", + "dropbox_email_not_verified": "我们无法从您的 Dropbox 帐户检索更新。Dropbox 报告您的电子邮件地址未经验证。请在 Dropbox 帐户中验证您的电子邮件地址以解决此问题。", + "dropbox_for_link_share_projs": "此项目是通过链接共享访问的,除非项目所有者通过电子邮件邀请您,否则不会同步到您的Dropbox。", + "dropbox_integration_info": "使用双向Dropbox同步,在线和离线无缝工作。您在本地所做的更改将自动发送到Overleaf,反之亦然。", + "dropbox_integration_lowercase": "Dropbox 集成", + "dropbox_successfully_linked_description": "谢谢,我们已成功将您的Dropbox帐户链接到__appName__。", + "dropbox_sync": "Dropbox同步", + "dropbox_sync_both": "发送和接受更新", + "dropbox_sync_description": "保持您的 __appName__ 项目与您的Dropbox同步。SharaLaTeX中的更改将被自动发送到Dropbox,反之亦然。", + "dropbox_sync_error": "对不起,Dropbox 服务检测出现异常,请稍后再试", + "dropbox_sync_in": "从 Dropbox 更新", + "dropbox_sync_now_rate_limited": "手动同步仅限每分钟一次。 请稍等片刻,然后重试。", + "dropbox_sync_now_running": "该项目的手动同步已在后台启动。 请给它几分钟的时间来处理。", + "dropbox_sync_out": "将更新推送到 Dropbox", + "dropbox_sync_troubleshoot": "更改未出现在 Dropbox 中? 请稍等几分钟。 如果更改仍未显示,您可以<0>立即同步此项目。", + "dropbox_synced": "Overleaf 和 Dropbox 已处理所有更新。请注意,您的本地 Dropbox 可能仍在同步。", + "dropbox_unlinked_because_access_denied": "您的Dropbox帐户已取消链接,因为Dropbox服务拒绝了您存储的凭据。请重新链接您的Dropbox帐户,以便在Overleaf继续使用。", + "dropbox_unlinked_because_full": "您的Dropbox帐户已满,因此已取消链接,我们无法再向其发送更新。请释放一些空间并重新链接您的Dropbox帐户,以便在Overleaf继续使用。", + "dropbox_unlinked_premium_feature": "<0>您的 Dropbox 帐户已取消关联,因为 Dropbox Sync 是您通过机构许可获得的一项高级功能。", + "due_date": "到期 __date__", + "due_today": "今天截止", + "duplicate_file": "重复文件", + "duplicate_projects": "该用户有名称重复的项目", + "each_user_will_have_access_to": "每个用户都可以访问", + "easily_import_and_sync_your_references": "当您升级 Overleaf 订阅后,可以轻松从 Zotero 或 Mendeley 导入并同步您的参考文献。", + "easily_manage_your_project_files_everywhere": "随时随地轻松管理您的项目文件", + "easy_collaboration_for_students": "方便学生协作。支持更长或更复杂的项目。", + "edit": "编辑", + "edit_dictionary": "编辑词典", + "edit_dictionary_empty": "您的自定义词典为空。", + "edit_dictionary_remove": "从字典中删除", + "edit_figure": "编辑图片", + "edit_sso_configuration": "编辑 SSO 配置", + "edit_tag": "编辑标签", + "editing": "正在编辑", + "editing_and_collaboration": "编辑与协作", + "editing_captions": "编辑 captions", + "editor": "编辑器", + "editor_and_pdf": "编辑器 & PDF", + "editor_disconected_click_to_reconnect": "编辑器与网络的连接已经断开,重新连接请点击任何位置。", + "editor_limit_exceeded_in_this_project": "此项目中的编辑者过多", + "editor_only_hide_pdf": "仅编辑器 <0>(隐藏 PDF)", + "editor_theme": "编辑器主题", + "educational_discount_applied": "40% 教育折扣适用!", + "educational_discount_available_for_groups_of_ten_or_more": "10 人或以上团体可享受教育折扣", + "educational_discount_disclaimer": "该许可证用于教育目的(适用于使用 Overleaf 进行教学的学生或教师)", + "educational_discount_for_groups_of_ten_or_more": "Overleaf 为 10 人或以上团体提供 40% 的教育折扣。", + "educational_discount_for_groups_of_x_or_more": "教育折扣适用于__size__ 人或以上的团体", + "educational_percent_discount_applied": "应用 __percent__% 教育折扣!", + "email": "电子邮件", + "email_address": "邮件地址", + "email_address_is_invalid": "电子邮箱地址无效", + "email_already_associated_with": "__email1__已与__email2__ __appName__帐户相关联。", + "email_already_registered": "此邮箱已被注册", + "email_already_registered_secondary": "此电子邮件已注册为辅助电子邮件", + "email_already_registered_sso": "此电子邮件已注册。请以另一种方式登录您的帐户,并通过您的帐户设置将您的帐户链接到新的提供商。", + "email_confirmed_onboarding": "好极了!让我们帮你开始设置", + "email_confirmed_onboarding_message": "您的电子邮件地址已确认。单击<0>继续以完成设置。", + "email_does_not_belong_to_university": "我们认为此域名与您的大学并无关联,请与我们联系添加从属关系。", + "email_limit_reached": "此帐户上最多可以有<0>__emailAddressLimit__个电子邮件地址。若要添加其他电子邮件地址,请删除现有的电子邮件地址。", + "email_link_expired": "电子邮件链接已过期,请申请一个新的链接。", + "email_must_be_linked_to_institution": "作为 __institutionName__ 的成员,此电子邮件地址只能通过您的<0>帐户设置页面上的单点登录添加。 请添加不同的辅助邮箱地址。", + "email_or_password_wrong_try_again": "您的邮件地址或密码不正确。请重试", + "email_or_password_wrong_try_again_or_reset": "您的电子邮件或密码不正确。请重试,或者<0>重置您的密码。", + "email_required": "需要电子邮件", + "email_sent": "邮件已发送", + "emails": "邮箱", + "emails_and_affiliations_explanation": "向您的帐户添加其他电子邮件地址,以访问您的大学或机构的任何升级,使合作者更容易找到您,并确保您可以恢复您的帐户。", + "emails_and_affiliations_title": "电子邮件和从属关系", + "empty": "空", + "empty_zip_file": "Zip压缩包中没有任何文件", + "en": "英语", + "enable_managed_users": "启用托管用户", + "enable_single_sign_on": "开启单点登录", + "enable_sso": "开启 SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "在<1>重新编译下拉菜单下启用<0>“第一次出现错误时停止”,以帮助您立即查找并修复错误。", + "enabled": "已启用", + "enabling": "开启", + "end_of_document": "文档末尾", + "enter_6_digit_code": "输入6位数验证码", + "enter_any_size_including_units_or_valid_latex_command": "输入任意大小(包括单位)或有效的 LaTeX 命令", + "enter_image_url": "输入图片 URL", + "enter_the_confirmation_code": "输入发送到 __email__ 的六位验证码。", + "enter_your_email_address": "输入你的电子邮件", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "在下面输入您的电子邮件地址,我们将向您发送重置密码的链接", + "enter_your_new_password": "输入你的新密码", + "equation_preview": "公式预览", + "error": "错误", + "error_opening_document": "打开文档错误", + "error_opening_document_detail": "很抱歉,打开此文档时出现问题。请再试一次。", + "error_performing_request": "执行请求时出错。", + "error_processing_file": "抱歉,处理此文件时出错。 请再试一次。", + "error_submitting_comment": "提交评论时出错", + "es": "西班牙语", + "estimated_number_of_overleaf_users": "预计 __appName__ 用户的数量", + "every": "每个", + "everything_in_free_plus": "所有内容均免费,此外还有……", + "everything_in_group_professional_plus": "团队专业版的所有功能,附加...", + "everything_in_group_standard_plus": "标准版的所有内容,附加...", + "everything_in_standard_plus": "标准版中的所有内容,以及……", + "example": "样例", + "example_project": "样例项目", + "examples": "样例", + "exclusive_access_with_labs": "独家获取早期实验阶段功能", + "existing_plan_active_until_term_end": "您的现有计划及其功能将保持活动状态,直到当前计费周期结束。", + "expand": "展开", + "experiment_full": "抱歉,此实验人数已满", + "expired": "过期", + "expired_confirmation_code": "您的确认码已过期。单击<0>重新发送确认码以获取新的确认码。", + "expires": "过期时间", + "expires_in_days": "在 __days__ 天后过期", + "expires_on": "过期日期:__date__", + "expiry": "过期日期", + "export_csv": "导出CSV", + "export_project_to_github": "将项目导出到GitHub", + "failed_to_send_group_invite_to_email": "未能向<0>__email__发送团队邀请。请稍后再试。", + "failed_to_send_managed_user_invite_to_email": "无法将托管用户邀请发送至 <0>__email__。 请稍后再试。", + "failed_to_send_sso_link_invite_to_email": "无法向<0>__email__发送SSO邀请提醒。请稍后再试。", + "faq_change_plans_or_cancel_answer": "是的,您可以随时通过订阅设置执行此操作。您可以更改计划,在月度和年度计费选项之间切换,或者取消以降级为免费计划。取消时,您的订阅将持续到计费期结束。如果您的帐户暂时没有订阅,唯一的更改将是您可以使用的功能。您的项目将始终在您的帐户上可用。", + "faq_change_plans_or_cancel_question": "我可以稍后更改计划或取消吗?", + "faq_do_collab_need_on_paid_plan_answer": "不,他们可以在任何计划中,包括免费计划。如果您使用高级计划,您创建的项目中的合作者将可以使用一些高级功能,即使这些合作者使用免费计划。有关更多信息,请阅读<0>帐户和订阅以及<1>高级功能的工作原理。", + "faq_do_collab_need_on_paid_plan_question": "我的合作者是否也需要拥有付费计划?", + "faq_how_does_a_group_plan_work_answer": "团体订阅是升级多个Overleaf帐户的一种方式。它们易于管理,有助于节省文书工作,并降低单独购买多个订阅的成本。要了解更多信息,请阅读有关<0>加入团队订阅 和 <1>管理团队订阅 的信息。您可以在上面购买团队订阅,也可以通过 <2> 联系我们 购买。", + "faq_how_does_a_group_plan_work_question": "团队计划是如何运作的?如何将人员添加到计划中?", + "faq_how_does_free_trial_works_answer": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__计划。试用结束后不能继续免费。您的卡将在试用期结束时收费,除非您在此之前取消。您可以通过订阅设置取消。", + "faq_how_free_trial_works_answer_v2": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__高级计划。试用结束后不能继续免费。您的卡将在试用期结束时开始扣费,除非您在此之前取消。若要取消订阅,请转到您帐户中的订阅设置(试用仍将持续到__len__天为止)。", + "faq_how_free_trial_works_question": "如何体验免费使用?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "在Overleaf中,每个用户都创建并管理自己的Overleaf帐户。大多数用户从免费计划开始,但可以通过订阅计划、加入团队订阅或加入<0>Commons subscription来升级并享用高级功能。当您购买、加入或退出订阅时,您仍然可以保留相同的Overleaf帐户。", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "要了解更多信息,请阅读 <0>在Overleaf中帐户和订阅如何协同工作的有关内容。", + "faq_i_have_free_account_want_subscription_how_question": "我有一个免费帐户并想加入订阅,我该怎么做?", + "faq_pay_by_invoice_answer_v2": "是的,如果你想购买五人或五人以上的团队订阅或者许可证。对于个人订阅,我们只接受通过信用卡、借记卡或PayPal在线支付。", + "faq_pay_by_invoice_question": "可以稍后支付吗", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "不会。只需升级项目拥有者的帐户。个人标准订阅允许您邀请10名合作者加入您拥有的每个项目。", + "faq_the_individual_standard_plan_10_collab_question": "个人标准计划有10个项目合作者,这是否意味着这10个人都需要升级订阅?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "在加入到您作为订阅者与他们共享的项目后,您的合作者将能够访问一些高级功能,如完整的文档历史记录和特定项目的更长的编译时间。然而,邀请他们参加某个特定项目并不能全面提升他们的帐户。阅读有关<0>每个项目有哪些功能,每个帐户有哪些功能的更多信息。", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "在Overleaf中,每个用户都创建自己的帐户。您可以创建只有自己处理的项目,也可以邀请其他人查看或与您一起处理您拥有的项目。与您共享项目的用户称为<0>合作者。我们有时称他们为项目合作者。", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "换言之,合作者只是您在某个项目中合作的其他Overleaf的用户。", + "faq_what_is_the_difference_between_users_and_collaborators_question": "用户和合作者之间有什么区别?", + "fast": "快速", + "fastest": "最快", + "feature_included": "包含的功能", + "feature_not_included": "不包含的功能", + "featured": "Featured", + "featured_latex_templates": "特色LaTeX模板", + "features": "功能", + "features_and_benefits": "功能 & 优势", + "february": "二月", + "file_action_created": "创建", + "file_action_deleted": "删除", + "file_action_edited": "编辑", + "file_action_renamed": "重命名", + "file_action_restored": "已从 __date__ 恢复 __fileName__", + "file_action_restored_project": "恢复 __date__ 的项目", + "file_already_exists": "同名文件或文件夹已存在", + "file_already_exists_in_this_location": "此位置中已存在名为 <0>__fileName__ 的项。如果要移动此文件,请重命名或删除冲突文件,然后重试。", + "file_name": "文件名", + "file_name_figure_modal": "文件名", + "file_name_in_this_project": "此项目中的文件名", + "file_name_in_this_project_figure_modal": "此项目中的文件名", + "file_or_folder_name_already_exists": "同名文件或文件夹已存在", + "file_outline": "文件大纲", + "file_size": "文件大小", + "file_too_large": "文件太大", + "files_cannot_include_invalid_characters": "文件名为空或包含无效字符", + "files_selected": "个文件被选中。", + "fill_in_our_quick_survey": "填写我们的调查问卷", + "filter_projects": "过滤项目", + "filters": "筛选器", + "find_out_more": "了解更多", + "find_out_more_about_institution_login": "了解有关机构登录的更多信息", + "find_out_more_about_the_file_outline": "了解有关文件大纲的更多信息", + "find_out_more_nt": "了解更多。", + "finding_a_fix": "找到解决办法", + "first_name": "名", + "fit_to_height": "适应高度", + "fit_to_width": "适应宽度", + "fixed_width": "固定宽度", + "fixed_width_wrap_text": "固定宽度,文本自动换行", + "flexible_plans_for_everyone": "适合每个人的灵活计划——从个人学生和研究人员到大型企业和大学。", + "fold_line": "折线", + "folder_location": "文件夹位置", + "folders": "目录", + "following_paths_conflict": "下面的文件和文件夹拥有冲突的相同路径", + "font_family": "字体 (编辑器)", + "font_size": "字号 (编辑器)", + "footer_about_us": "关于我们", + "footer_contact_us": "联系我们", + "footer_navigation": "页脚导航", + "footer_plans_and_pricing": "套餐 & 价格", + "for_business": "商业用途", + "for_enterprise": "为企业提供", + "for_government": "为政府提供", + "for_groups_or_site_wide": "对于团体或整个站点", + "for_individuals_and_groups": "为个人 & 团队提供", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "对于需要站点范围访问或本地解决方案的大型机构和组织。", + "for_more_information_see_managed_accounts_section": "有关详细信息,请参阅<0>我们的使用条款中的“托管帐户”部分,您可以通过点击接受邀请来同意该部分。", + "for_publishers": "为出版社提供", + "for_small_teams_and_departments_who_want_to_write_collaborate": "适用于希望使用 LaTeX 轻松书写和协作的小型团队和部门。", + "for_students": "为学生提供", + "for_students_only": "仅针对学生", + "for_teaching": "为教学提供", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "针对需要简化登录流程和最强大的云安全性的团队和组织。", + "for_universities": "为大学提供", + "forever": "永久", + "forgot_your_password": "忘记密码", + "format": "格式", + "found_matching_deleted_users": "找到 __deletedUserCount__ 个匹配的已删除用户", + "four_minutes": "4 分钟", + "fr": "法语", + "free": "免费", + "free_7_day_trial_billed_annually": "免费试用 7 天,然后按年付费", + "free_7_day_trial_billed_monthly": "免费试用 7 天,然后按月付费", + "free_dropbox_and_history": "免费的Dropbox和历史功能", + "free_plan_label": "您现在是 免费计划", + "free_plan_tooltip": "单击了解如何从 Overleaf 高级功能中受益。", + "frequently_asked_questions": "常见问题", + "from_another_project": "从另一个项目中", + "from_enforcement_date": "自 __enforcementDate__ 起,该项目的任何其他编辑者都将成为查看者。", + "from_external_url": "从外部 URL", + "from_filename": "从文件 <0>__filename__", + "from_github": "从 Github", + "from_project_files": "从项目文件中", + "from_provider": "来自__provider__", + "from_url": "从 URL 上传", + "full_doc_history": "完整的文档历史", + "full_doc_history_info_v2": "您可以查看项目中的所有编辑以及每项更改的创建者。添加标签以快速访问特定版本。", + "full_document_history": "完整的文档<0>历史", + "full_project_search": "全项目搜索", + "full_width": "全宽", + "gallery": "模版集", + "gallery_find_more": "查找更多__itemPlural__", + "gallery_items_tagged": "__itemPlural__ 标记为 __title__", + "gallery_page_items": "模版项目", + "gallery_page_summary": "最新的LaTeX模板库,帮助您学习LaTeX的示例,以及我们社区发布的论文和演示。在下面搜索或浏览吧!", + "gallery_page_title": "模版集 - 用LaTeX编写的模板、示例和文章", + "gallery_show_all": "显示所有的__itemPlural__", + "generate_token": "生成令牌", + "generic_if_problem_continues_contact_us": "如果问题仍然存在,请与我们联系", + "generic_linked_file_compile_error": "此项目的输出文件不可用,因为它未能成功编译。请打开项目以查看编译错误的详细信息。", + "generic_something_went_wrong": "抱歉,出错了", + "get_advanced_reference_search": "获取高级引文搜索", + "get_collaborative_benefits": "从 __appName__ 获得协作优势,即使你喜欢离线工作", + "get_discounted_plan": "获得折扣计划", + "get_dropbox_sync": "获取 Dropbox 集成", + "get_early_access_to_ai": "抢先体验 Overleaf Labs 中的全新 AI 错误助手", + "get_exclusive_access_to_labs": "加入 Overleaf Labs 后,即可获得早期实验的独家访问权。我们唯一的要求就是您提供真实的反馈,以帮助我们发展和改进。", + "get_full_project_history": "获取完整的历史记录", + "get_git_integration": "获取 Git 集成", + "get_github_sync": "获取 GitHub 集成", + "get_in_touch": "联系", + "get_in_touch_having_problems": "如果遇到问题,请与支持部门联系", + "get_involved": "加入我们", + "get_more_compile_time": "获取更多的编译时间", + "get_most_subscription_by_checking_features": "查看 <0>__appName__ 的功能,以充分利用您的 __appName__ 订阅。", + "get_some_texnical_assistance": "获取 AI 的一些技术帮助来修复项目中的错误。", + "get_symbol_palette": "获取符号面板", + "get_the_best_overleaf_experience": "获取最佳的 Overleaf 体验", + "get_the_best_writing_experience": "获取最佳的写作体验", + "get_the_most_out_headline": "通过以下功能充分利用__appName__:", + "get_track_changes": "获取历史记录", + "git": "Git", + "git_authentication_token": "Git 身份验证令牌", + "git_authentication_token_create_modal_info_1": "这是你的Git身份验证令牌。当提示输入密码时,您应该输入此信息。", + "git_authentication_token_create_modal_info_2": "<0>您将只会看到此身份验证令牌仅一次,因此请复制它并确保其安全存储。有关使用身份验证令牌的完整说明,请访问我们的<1>帮助页面。", + "git_bridge_modal_click_generate": "单击生成令牌立即生成您的身份验证令牌。或者稍后在您的帐户设置中执行此操作。", + "git_bridge_modal_enter_authentication_token": "当提示输入密码时,请输入新的身份验证令牌:", + "git_bridge_modal_git_authentication_tokens": "Git 身份验证令牌", + "git_bridge_modal_git_clone_your_project": "使用下面的链接和 Git 身份验证令牌来克隆你的项目", + "git_bridge_modal_learn_more_about_authentication_tokens": "了解有关Git集成身份验证令牌的更多信息。", + "git_bridge_modal_read_only": "您对此项目具有只读访问权限这意味着您可以从__appName__中提取,但不能将您所做的任何更改推送回该项目。", + "git_bridge_modal_see_once": "您只能看到此令牌一次。要删除或生成新帐户,请访问“帐户设置”。有关详细说明和故障排除,请阅读我们的<0>帮助页面。", + "git_bridge_modal_use_previous_token": "如果系统提示您输入密码,您可以使用以前生成的Git身份验证令牌。或者,您可以在“帐户设置”中生成一个新帐户。有关更多支持,请阅读我们的<0>帮助页面。", + "git_bridge_modal_you_can_also_git_clone": "您也可以使用下面的链接和git身份验证令牌来git克隆您的项目。", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git、GitHub、Dropbox、Mendeley 和 Zotero 集成", + "git_integration": "Git 集成", + "git_integration_info": "通过Git集成,你可以用Git克隆你的Overleaf项目。有关完整教程, 请阅读 <0>我们的帮助页面。", + "git_integration_lowercase": "Git 集成", + "git_integration_lowercase_info": "您可以将您的Overleaf项目克隆到本地存储库,将您的Overleaf项目视为远程存储库,可以向其推送更改和从中提取更改。", + "github": "GitHub", + "github_commit_message_placeholder": "为 __appName__ 中的更改提交信息", + "github_credentials_expired": "您的 Github 授权凭证已过期", + "github_empty_repository_error": "您的 GitHub 存储库似乎为空或尚不可用。 在 GitHub.com 上创建一个新文件,然后重试。", + "github_file_name_error": "无法导入此存储库,因为它包含文件名无效的文件:", + "github_file_sync_error": "我们无法同步以下文件:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git 与 <0>Dropbox 集成", + "github_git_folder_error": "此项目在根目录中包含一个.git文件夹,这说明它已经是git存储库。Overleaf 的 Github 同步服务无法同步 git 历史记录。请删除.git文件夹,然后重试。", + "github_integration_lowercase": "Git 和 GitHub 支持", + "github_is_no_longer_connected": "GitHub 已不再链接到此项目。", + "github_is_premium": "与 GitHub 同步是一项付费功能", + "github_large_files_error": "合并失败:您的 Github 存储库包含超过 50mb 文件大小限制的文件 ", + "github_merge_failed": "您对 __appName__ 和 GitHub 的更改无法自动合并。 请手动将<0>__sharelatex_branch__分支合并到git中的默认分支中。 手动合并后,单击下面继续。", + "github_no_master_branch_error": "无法导入此存储库,因为它缺少主分支。请确保项目有一个主分支", + "github_only_integration_lowercase": "Github 集成", + "github_only_integration_lowercase_info": "将您的 Overleaf 项目直接链接到作为 Overleaf 项目远程存储库的GitHub存储库。这允许您与 Overleaf 之外的合作者共享,并将 Overleaf 集成到更复杂的工作流程中。", + "github_private_description": "您可以选择谁可以查看并提交到此存储库。", + "github_public_description": "任何人都可以看到该存储库。您可以选择谁有权提交。", + "github_repository_diverged": "已强制推送到链接存储库的主分支。在强制推送之后拉取 GitHub 更改可能会导致 Overleaf 和 GitHub 不同步。您可能需要在拉取后推送更改以恢复同步。", + "github_successfully_linked_description": "谢谢,您已成功建立了您的GitHub账户与 __appName__ 的关联。您现在可以导出您的 __appName__ 项目到GitHub,或者从您的GitHub存储困导入项目。", + "github_symlink_error": "您的Github存储库包含符号链接文件,Overleaf 暂时不支持这些文件。请删除这些文件并重试。", + "github_sync": "GitHub 同步", + "github_sync_description": "通过与 GitHub 同步,你可以将您的__appName__项目关联到GitHub的存储库,从 __appName__ 创建新的提交,并与线下或者GitHub中的提交合并。", + "github_sync_error": "抱歉,与我们的 GitHub 服务连接出错。请稍后重试。", + "github_sync_repository_not_found_description": "链接的存储库已被删除,或者您不再有权访问它。通过克隆项目并使用“Github”菜单项,可以设置与新存储库的同步。您还可以取消存储库与此项目的链接。", + "github_timeout_error": "将 Overleaf 项目与 Github 同步时超时。这可能是由于项目的总体大小,或者要同步的文件/更改的数量太大。", + "github_too_many_files_error": "无法导入此存储库,因为它超过了允许的最大文件数", + "github_validation_check": "请检查存储库的名字是否已被占用,且您有权限创建存储库。", + "github_workflow_authorize": "授权 GitHub 工作流文件", + "github_workflow_files_delete_github_repo": "已在 GitHub 上创建存储库,但链接不成功。 您必须删除 GitHub 存储库或选择一个新名称。", + "github_workflow_files_error": "__appName__ GitHub同步服务无法同步GitHub工作流文件(在 .github/workflows/ 中)。请授权 __appName__ 编辑您的GitHub工作流程文件,然后重试。", + "give_feedback": "给予反馈", + "give_your_feedback": "提供您的反馈", + "global": "整体的", + "go_back_and_link_accts": "返回并链接您的帐户", + "go_next_page": "转到下一页", + "go_page": "转到第 __page__ 页", + "go_prev_page": "转到上一页", + "go_to_account_settings": "前往账户设置", + "go_to_code_location_in_pdf": "转到PDF中的位置", + "go_to_overleaf": "前往 Overleaf", + "go_to_pdf_location_in_code": "转到代码中对应 PDF 的位置(提示:双击 PDF 以获得最佳结果)", + "go_to_settings": "转到“设置”", + "great_for_getting_started": "非常适合入门", + "great_for_small_teams_and_departments": "非常适合小型团队和部门", + "group": "团队", + "group_admin": "团队管理员", + "group_admins_get_access_to": "团队管理员可以获得", + "group_admins_get_access_to_info": "特有功能仅适用于团体计划。", + "group_full": "此组已满", + "group_invitations": "团队邀请", + "group_invite_has_been_sent_to_email": "团队邀请已发送至<0>__email__", + "group_libraries": "团队库", + "group_managed_by_group_administrator": "此团队中的用户帐户由团队管理员管理。", + "group_members_and_collaborators_get_access_to": "小组成员及其项目合作者可以访问", + "group_members_and_their_collaborators_get_access_to_info": "这些功能可供小组成员及其合作者(受邀加入小组成员拥有的项目的其他 Overleaf 用户)使用。", + "group_members_get_access_to": "团队成员将会获得", + "group_members_get_access_to_info": "这些功能仅对团队成员(订阅者)可用。", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "群组计划管理员可以轻松添加和删除群组中的用户。对于全站计划,用户在注册或将电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时会自动升级。", + "group_plan_tooltip": "您作为团体订阅的成员加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", + "group_plan_with_name_tooltip": "您作为团体订阅 __groupName__ 的成员加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", + "group_plans": "团队计划", + "group_professional": "团队专业版", + "group_sso_configuration_idp_metadata": "此处提供的信息来自您的身份提供商(IdP)。这通常被称为其SAML元数据。对于某些IdP,您必须将Overleaf配置为服务提供商,才能获得填写此表格所需的数据。有关更多指导,请参阅<0>我们的文档。", + "group_sso_configure_service_provider_in_idp": "对于某些 IdP,您必须将 Overleaf 配置为服务提供商才能获取填写此表单所需的数据。 为此,您需要下载 Overleaf 元数据。", + "group_sso_documentation_links": "请参阅我们的<0>文档和<1>问题排查指南以获取更多帮助。", + "group_standard": "团队标准版", + "group_subscription": "团队订阅", + "groups": "群", + "have_an_extra_backup": "有一个额外的备份", + "have_more_days_to_try": "试用期增加__days__ days!", + "headers": "标题", + "help": "帮助", + "help_articles_matching": "符合你的主题的帮助文章", + "help_improve_overleaf_fill_out_this_survey": "如果您想帮助我们改进Overleaf,请花费一点您的宝贵时间填写<0>此调查哦。", + "help_improve_screen_reader_fill_out_this_survey": "填写此简易调查,帮助我们改善您使用 __appName__ 屏幕阅读器的体验。", + "hide_configuration": "隐藏配置", + "hide_deleted_user": "隐藏已删除的用户", + "hide_document_preamble": "隐藏文档导言部分", + "hide_local_file_contents": "隐藏本地文件内容", + "hide_outline": "隐藏文件大纲", + "history": "历史记录", + "history_add_label": "添加标记", + "history_adding_label": "正在添加标记", + "history_are_you_sure_delete_label": "您确实要删除以下标记吗", + "history_compare_from_this_version": "与此版本比较", + "history_compare_up_to_this_version": "与此版本比较", + "history_delete_label": "删除标记", + "history_deleting_label": "正在删除标记", + "history_download_this_version": "下载此版本", + "history_entry_origin_dropbox": "通过 Dropbox", + "history_entry_origin_git": "通过 Git", + "history_entry_origin_github": "通过 Github", + "history_entry_origin_upload": "上传", + "history_label_created_by": "创建人", + "history_label_project_current_state": "当前状态", + "history_label_this_version": "标记此版本", + "history_new_label_name": "新标记名称", + "history_restore_promo_content": "现在,您可以将单个文件或整个项目恢复到以前的版本,包括注释和跟踪的更改。单击“恢复此版本”可恢复所选文件,或使用历史记录条目中的 <0>菜单 可恢复整个项目。", + "history_restore_promo_title": "需要回归历史版本吗?", + "history_resync": "重新同步历史记录", + "history_view_a11y_description": "显示所有项目历史记录或仅显示带标签的版本。", + "history_view_all": "所有历史", + "history_view_labels": "标记", + "hit_enter_to_reply": "按下回车即可回复", + "home": "主页", + "hotkey_add_a_comment": "添加评论", + "hotkey_autocomplete_menu": "自动完成菜单", + "hotkey_beginning_of_document": "文件开头", + "hotkey_bold_text": "粗体", + "hotkey_compile": "编译", + "hotkey_delete_current_line": "删除当前行", + "hotkey_end_of_document": "文档末尾", + "hotkey_find_and_replace": "查找(并替换)", + "hotkey_go_to_line": "转到行", + "hotkey_indent_selection": "缩进选择", + "hotkey_insert_candidate": "插入候选", + "hotkey_italic_text": "斜体", + "hotkey_redo": "重做", + "hotkey_search_references": "搜索引用", + "hotkey_select_all": "全选", + "hotkey_select_candidate": "选择候选", + "hotkey_to_lowercase": "改为小写", + "hotkey_to_uppercase": "改为大写", + "hotkey_toggle_comment": "切换评论", + "hotkey_toggle_review_panel": "切换审阅面板", + "hotkey_toggle_track_changes": "切换历史记录", + "hotkey_undo": "撤销", + "hotkeys": "快捷键", + "how_it_works": "工作原理", + "how_many_users_do_you_need": "你需要多少用户", + "how_to_create_tables": "如何创建表格", + "how_to_insert_images": "如何插入图片", + "how_we_use_your_data": "我们如何使用您的数据", + "how_we_use_your_data_explanation": "<0>请回答几个简短的问题,帮助我们继续改进Overleaf。您的回答将帮助我们和我们的企业集团更多地了解我们的用户群体。我们可能会使用这些信息来改善您的 Overleaf 体验,例如提供个性化的入门、升级提示、帮助建议和量身定制的营销沟通(如果您选择接收这些信息)<1>有关我们如何使用您的个人数据的更多详细信息,请参阅我们的<0>隐私声明", + "hundreds_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作漂亮的文档。", + "i_want_to_stay": "我要留下", + "id": "ID", + "if_have_existing_can_link": "如果您在另一封电子邮件中有一个现有的 __appName__ 帐户,您可以通过单击 __clickText__ 将其链接到您的 __institutionName__ 账户。", + "if_owner_can_link": "如果您在__appName__拥有账户__email__,您可以将其链接到您的 __institutionName__ 机构帐户。", + "if_you_need_to_customize_your_table_further_you_can": "如果您需要进一步自定义表也是可以的哦。使用LaTeX代码,您可以更改从表格样式和边框样式,到颜色和列宽等任何内容<0>阅读我们的指南在LaTeX中使用表格以帮助您入门。", + "if_your_occupation_not_listed_type_full_name": "如果您的__occupation__未列出,您可以键入全名。", + "ignore_and_continue_institution_linking": "您也可以忽略此项,然后继续在 __appName__ 上使用您的 __email__ 帐户。", + "ignore_validation_errors": "忽略语法检查", + "ill_take_it": "我要购买!", + "image_file": "图片文件", + "image_url": "图片 URL", + "image_width": "图片宽度", + "import_a_bibtex_file_from_your_provider_account": "从您的__provider__帐户导入BibTeX文件", + "import_from_github": "从GitHub导入", + "import_idp_metadata": "插入 IdP 元数据", + "import_to_sharelatex": "导入 __appName__", + "imported_from_another_project_at_date": "于 __formattedDate__ __relativeDate__,从<0>另一个项目/__sourceEntityPathHTML__导入", + "imported_from_external_provider_at_date": "于 __formattedDate__ __relativeDate__,从<0>__shortenedUrlHTML__导入", + "imported_from_mendeley_at_date": "于 __formattedDate__ __relativeDate__,从Mendeley导入", + "imported_from_the_output_of_another_project_at_date": "于 __formattedDate__ __relativeDate__,从<0>另一个项目的输出导入: __sourceOutputFilePathHTML__", + "imported_from_zotero_at_date": "于 __formattedDate__ __relativeDate__,从Zotero导入", + "importing": "正在倒入", + "importing_and_merging_changes_in_github": "正在导入合并GitHub中的更改", + "in_good_company": "您有优秀的我们陪伴", + "in_order_to_have_a_secure_account_make_sure_your_password": "为了确保您的帐户安全,请确保您的新密码:", + "in_order_to_match_institutional_metadata_2": "为了匹配您的机构元数据,我们使用 <0>__email__ 关联您的帐户。", + "in_order_to_match_institutional_metadata_associated": "为了匹配您的机构元数据,您的帐户与电子邮件 __email__ 相关联。", + "include_caption": "添加 caption", + "include_label": "添加 label", + "include_the_error_message_and_ai_response": "包含错误信息和 AI 响应", + "increased_compile_timeout": "延长的编译时限", + "individuals": "个人", + "indvidual_plans": "个人方案", + "info": "信息", + "inr_discount_modal_info": "以平价获取文档历史记录、跟踪更改、更多协作者等功能。", + "inr_discount_modal_title": "面向印度用户的所有 Overleaf 高级计划七折优惠", + "inr_discount_offer_plans_page_banner": "__flag__ 好消息!我们已为印度用户的高级计划提供70% 折扣折扣。 查看下面的最新低价。", + "insert": "插入", + "insert_column_left": "在左边插入列", + "insert_column_right": "在右边插入列", + "insert_figure": "插入图片", + "insert_from_another_project": "从另外一个项目中插入", + "insert_from_project_files": "从项目文件中插入", + "insert_from_url": "从URL中插入", + "insert_image": "插入图片", + "insert_row_above": "在上方插入行", + "insert_row_below": "在下方插入行", + "insert_x_columns_left": "在左边插入 __columns__ 列", + "insert_x_columns_right": "在右边插入 __columns__ 列", + "insert_x_rows_above": "在上方插入__rows__ 行", + "insert_x_rows_below": "在下方插入__rows__ 行", + "institution": "机构", + "institution_account": "机构帐户", + "institution_account_tried_to_add_affiliated_with_another_institution": "此电子邮件已与您的帐户关联,但隶属于其他机构。", + "institution_account_tried_to_add_already_linked": "此机构已通过另一个电子邮件地址与您的帐户链接。", + "institution_account_tried_to_add_already_registered": "您试图添加的电子邮件/机构帐户已在__appName__注册。", + "institution_account_tried_to_add_not_affiliated": "此电子邮件已与您的帐户关联,但未与此机构关联。", + "institution_account_tried_to_confirm_saml": "此电子邮件无法确认。请从您的帐户中删除电子邮件,然后再次尝试添加。", + "institution_acct_successfully_linked_2": "您的<0>__appName__帐户已成功链接到您的<0\\>__institutionName__机构帐户。", + "institution_and_role": "机构和角色", + "institution_email_new_to_app": "您的 __institutionName__ 电子邮件地址 (__email__) 对__appName__ 是新的。", + "institution_has_overleaf_subscription": "<0>__institutionName__已有Overleaf订阅。单击发送到__emailAddress__的确认链接,升级到<0>Overleaf Professional。", + "institution_templates": "机构模版", + "institutional": "机构", + "institutional_leavers_survey_notification": "提供一些快速反馈,即可获得年度订阅25%的折扣!", + "institutional_login_not_supported": "您的大学还暂不支持机构登录,但您仍然可以通过机构电子邮件注册。", + "institutional_login_unknown": "抱歉,我们不知道是哪个机构发的那个电子邮件地址。您可以浏览我们的\n机构列表 找到您的机构,也可以在此处使用您的电子邮件地址和密码注册。", + "integrations": "集成", + "interested_in_cheaper_personal_plan": "你会对更便宜的<0>__price__个人计划感兴趣吗?", + "invalid_certificate": "证书无效,请检查证书,然后重试。", + "invalid_confirmation_code": "无效!请检查代码,然后重试。", + "invalid_email": "有未验证的邮箱", + "invalid_file_name": "文件名无效", + "invalid_filename": "上传失败:检查文件名是否包含特殊字符、尾随/前导空格或超过 __nameLimit__ 个字符", + "invalid_institutional_email": "您机构的 SSO 服务返回的您的电子邮件地址是 __email__,但该域名并没有在我们这里注册。您可以通过您的机构将您的主电子邮件地址更改为您所在机构域的电子邮件地址。如果您有任何问题,请联系您的 IT 部门。", + "invalid_password": "密码错误", + "invalid_password_contains_email": "密码不能包含电子邮件地址的部分内容", + "invalid_password_invalid_character": "密码包含无效的字符", + "invalid_password_not_set": "需要密码哦", + "invalid_password_too_long": "超过最大密码长度 __maxLength__", + "invalid_password_too_short": "密码太短,最短 __minLength__ 位", + "invalid_password_too_similar": "密码与电子邮件地址过于相似", + "invalid_request": "无效的请求。请更正数据并重试。", + "invalid_zip_file": "zip文件无效", + "invite": "邀请", + "invite_expired": "此邀请已经过期", + "invite_more_collabs": "邀请更多的协作者", + "invite_not_accepted": "邀请尚未接受", + "invite_not_valid": "项目邀请无效", + "invite_not_valid_description": "邀请已经过期。请联系项目所有者", + "invite_resend_limit_hit": "已达到邀请重新发送限制", + "invited_to_group": "<0>__inviterName__ 现已邀请您加入 __appName__ 的团队", + "invited_to_group_have_individual_subcription": "__inviterName__ 邀请您加入群组 __appName__ 订阅。 如果您加入该群组,您可能不需要单独订阅。 您想取消吗?", + "invited_to_group_login": "要接受此邀请,您需要以 __emailAddress__ 身份登录。", + "invited_to_group_login_benefits": "作为该小组的一员,您将可以使用 __appName__ 高级功能,例如额外的协作者、更长的最大编译时间和实时跟踪更改。", + "invited_to_group_register": "要接受 __inviterName__ 的邀请,您需要创建一个帐户。", + "invited_to_group_register_benefits": "__appName__ 是一个协作式在线 LaTeX 编辑器,拥有数千个即用型模板和一系列 LaTeX 学习资源,可帮助您入门。", + "invited_to_join": "您已经被邀请加入", + "ip_address": "IP地址", + "is_email_affiliated": "你的邮件附属于某个机构的吗? ", + "is_longer_than_n_characters": "至少要 __n__ 个字符长", + "is_not_used_on_any_other_website": "未在任何其他网站上使用", + "issued_on": "发布于:__date__", + "it": "意大利语", + "ja": "日语", + "january": "一月", + "join_beta_program": "加入beta计划", + "join_labs": "加入实验室", + "join_now": "现在加入", + "join_overleaf_labs": "加入 Overleaf Labs", + "join_project": "加入项目", + "join_sl_to_view_project": "加入 __appName__ 来查看此项目", + "join_team_explanation": "请单击下面的按钮加入团队并享受升级的__appName__帐户的好处", + "joined_team": "您已加入由__inviterName__管理的团队", + "joining": "加入", + "july": "七月", + "june": "六月", + "justify": "调整", + "kb_suggestions_enquiry": "您检查过我们的 <0>__kbLink__ 了吗?", + "keep_current_plan": "保持我现在的计划", + "keep_personal_projects_separate": "将个人项目分开", + "keep_your_account_safe": "确保您的帐户安全", + "keep_your_account_safe_add_another_email": "确保您的帐户安全,并确保您不会因添加其他电子邮件地址而失去对该帐户的访问权限。", + "keep_your_email_updated": "保持您的电子邮件更新,这样您就不会失去对帐户和数据的访问权限。", + "keybindings": "组合键", + "knowledge_base": "知识库", + "ko": "韩语", + "labels_help_you_to_easily_reference_your_figures": "标签可以帮助您轻松地在整个文档中引用您的图片。要引用文档中的图片,请使用<0> ef{…} 命令引用标签。这使得引用图形变得容易,而无需手动记住图形编号<1> 了解更多信息", + "labels_help_you_to_reference_your_tables": "标签可以帮助您轻松地在整个文档中引用表。要引用文本中的表,请使用<0>ef{…}命令引用标签。这样就可以很容易地引用表格,而无需手动记住表格编号<1> 阅读标签和交叉引用。", + "labs_program_benefits": "__appName__ 一直在寻找新的方法来帮助用户更快、更有效地工作。 通过加入 Overleaf Labs,您可以参与探索协作写作和出版领域创新想法的实验。", + "language": "语言", + "language_feedback": "语言反馈", + "large_or_high-resolution_images_taking_too_long": "大型或高分辨率图像的处理时间过长。 您也许能够<0>优化一下。", + "last_active": "最后活跃于", + "last_active_description": "最近项目打开时间", + "last_edit": "最近编辑", + "last_logged_in": "最近登录", + "last_modified": "最近一次修改", + "last_name": "姓", + "last_resort_trouble_shooting_guide": "如果不起作用,请按照我们的<0>问题排查指南进行操作。", + "last_suggested_fix": "最后建议的修复", + "last_updated": "最近上传", + "last_updated_date_by_x": "由 __person__ 在 __lastUpdatedDate__", + "last_used": "最近使用", + "latam_discount_modal_info": "使用__currencyName__支付的高级订阅可享受__discount__%的折扣,充分释放Overleaf的潜力。获得更长的编译超时时间、完整的文档历史记录、跟踪更改、额外的合作者等等。", + "latam_discount_modal_title": "高级订阅折扣", + "latam_discount_offer_plans_page_banner": "__flag__好消息 我们已经为__country__的用户在此页面上的高级计划应用了__discount__折扣。看看新的低价 (in __currency__)。", + "latex_articles_page_summary": "用 LaTeX 编写并由我们社区发布的论文、演示文稿、报告等。 在下面搜索或浏览。", + "latex_articles_page_title": "文章 - 论文、演示、报告等", + "latex_examples_page_summary": "强大的LaTeX软件包和使用中的技术样例——通过示例学习LaTeX的好方法。在下面搜索或浏览。", + "latex_examples_page_title": "样例 - Equations, Formatting, TikZ, 软件包等", + "latex_in_thirty_minutes": "30分钟学会 LaTeX", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX 根据特殊算法放置图形。 您可以使用“放置参数”来调整图形的位置。 <0>了解具体方法", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX根据一种特殊的算法放置表格。可以使用“放置参数”来调整表格的位置<0>这篇文章解释了如何做到这一点。", + "latex_templates": "LaTeX模板", + "layout": "布局", + "layout_processing": "布局处理中", + "ldap": "LDAP", + "ldap_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在LDAP系统中的账户,请使用此账户登陆系统。", + "learn": "学习", + "learn_more": "了解更多", + "learn_more_about_account": "<0>详细了解如何管理您的 __appName__ 帐户。", + "learn_more_about_emails": "<0>详细了解如何管理您的 __appName__ 电子邮件。", + "learn_more_about_link_sharing": "了解分享链接", + "learn_more_about_managed_users": "学习关于管理用户", + "learn_more_about_other_causes_of_compile_timeouts": "<0>了解更多 关于其他导致编译超时的原因以及如何修复。", + "learn_more_lowercase": "了解更多", + "leave": "离开", + "leave_any_group_subscriptions": "保留除将管理您帐户的组订阅之外的任何团队订阅<0>将它们从“订阅”页面中删除", + "leave_group": "退出团队", + "leave_labs": "离开 Overleaf Labs", + "leave_now": "现在退出", + "leave_project": "离开项目", + "leave_projects": "离开项目", + "left": "左对齐", + "length_unit": "长度单位", + "let_us_know": "让我们知道", + "let_us_know_how_we_can_help": "告诉我们您需要什么帮助", + "let_us_know_what_you_think": "让我们知道您的想法", + "lets_fix_your_errors": "来修复您的错误", + "library": "库", + "license": "许可", + "license_for_educational_purposes": "此许可证用于教育目的(适用于使用__appName__进行教学的学生或教师)", + "limited_offer": "限时优惠", + "limited_to_n_editors": "仅限 __count__ 个编辑", + "limited_to_n_editors_per_project": "每个项目仅限 __count__ 个编辑者", + "limited_to_n_editors_per_project_plural": "每个项目最多可有 __count__ 名编辑者", + "limited_to_n_editors_plural": "仅限 __count__ 名编辑者", + "line_height": "行高 (编辑器)", + "line_width_is_the_width_of_the_line_in_the_current_environment": "行宽是当前环境下行的宽度。例如:单列布局中的全页宽度或两列布局中的半页宽度。", + "link": "链接", + "link_account": "链接帐户", + "link_accounts": "链接帐户", + "link_accounts_and_add_email": "链接帐户并添加电子邮件", + "link_institutional_email_get_started": "将机构电子邮件地址链接到您的帐户以开始。", + "link_sharing": "分享链接", + "link_sharing_is_off": "链接分享已关闭,只有被邀请的用户才能浏览此项目。", + "link_sharing_is_off_short": "链接共享已关闭", + "link_sharing_is_on": "通过链接分享功能已开启。", + "link_to_github": "建立与您的GitHub账户的关联", + "link_to_github_description": "您需要授权 __appName__ 访问您的GitHub账户,从而允许我们同步您的项目。", + "link_to_mendeley": "关联至Mendeley", + "link_to_zotero": "关联至Zotero", + "link_your_accounts": "链接您的帐户", + "linked_accounts": "关联账户", + "linked_accounts_explained": "您可以将您的__appName__帐户与其他服务链接,以启用下面描述的功能", + "linked_collabratec_description": "使用Collabratec管理您的__appName__项目。", + "linked_file": "导入的文件", + "links": "链接", + "loading": "正在加载", + "loading_content": "正在创建项目", + "loading_github_repositories": "正在读取您的GitHub存储库", + "loading_prices": "加载价格", + "loading_recent_github_commits": "正在装载最近的提交", + "loading_writefull": "加载 Writefull", + "log_entry_description": "级别为__level__的日志条目", + "log_entry_maximum_entries": "最大日志条目限制已达到", + "log_entry_maximum_entries_enable_stop_on_first_error": "尝试修复第一个错误并重新编译。通常一个错误会导致许多后续的错误消息。您可以<0>启用“第一次出现错误时停止”以专注于修复错误。我们建议尽快修复错误;让它们积累起来可能会导致难以调试和致命的错误<1> 了解更多信息", + "log_entry_maximum_entries_see_full_logs": "如果您需要查看完整的日志,您仍然可以下载它们或查看下面的原始日志。", + "log_entry_maximum_entries_title": "__total__ 条日志消息总数。 显示第一个 __displayed__", + "log_hint_extra_info": "了解更多", + "log_in": "登录", + "log_in_and_link": "登录并链接", + "log_in_and_link_accounts": "登录并链接帐户", + "log_in_first_to_proceed": "您需要先登录才能继续。", + "log_in_now": "现在登录", + "log_in_with": "用 __provider__ 账户登陆", + "log_in_with_a_different_account": "以另外一个账户登录", + "log_in_with_email": "使用 __email__ 登录", + "log_in_with_existing_institution_email": "请使用您现有的 __appName__ 帐户登录,以便将您的__appName____institutionName__ 机构帐户关联起来。", + "log_in_with_primary_email_address": "如果您使用电子邮件地址和密码登录,这将是要使用的电子邮件地址。 重要的 __appName__ 通知将发送到此电子邮件地址。", + "log_in_with_sso": "通过 SSO 登录", + "log_in_with_sso_email": "工作或大学电子邮件账户", + "log_out": "退出", + "log_out_from": "从 __email__ 注销", + "log_out_lowercase_dot": "退出", + "log_viewer_error": "显示此项目的编译错误和日志时出现问题。", + "logged_in_with_email": "您当前使用 __email__ 登录到__appName__。", + "logging_in": "正在登录", + "logging_in_or_managing_your_account": "登录或管理您的帐户", + "login": "登录", + "login_count": "登录次数", + "login_error": "登录错误", + "login_failed": "登陆失败", + "login_here": "在此登录", + "login_or_password_wrong_try_again": "注册名或密码错误,请重试", + "login_register_or": "或者", + "login_to_accept_invitation": "登录以接受邀请", + "login_to_overleaf": "登录到Overleaf", + "login_with_service": "使用__service__登录", + "logs_and_output_files": "日志和生成的文件", + "longer_compile_timeout": "更长的 <0>编译时间", + "longer_compile_timeout_on_faster_servers": "在更快的服务器上拥有更长编译时限", + "looking_multiple_licenses": "寻找多个许可证?", + "looks_like_logged_in_with_email": "您似乎已经使用 __email__ 登录到 __appName__。", + "looks_like_youre_at": "看起来你在<0>__institutionName__!", + "lost_connection": "网络连接已断开", + "main_document": "主文档 (main tex)", + "main_file_not_found": "未知主文件", + "main_navigation": "主导航栏", + "maintenance": "维护", + "make_a_copy": "复制一份", + "make_email_primary_description": "将此作为主要电子邮件,用于登录", + "make_owner": "指定所有者", + "make_primary": "设为主邮件", + "make_private": "允许私有访问", + "manage_beta_program_membership": "管理 Beta 计划账户", + "manage_files_from_your_dropbox_folder": "管理Dropbox文件夹中的文件", + "manage_group_managers": "管理团队管理员", + "manage_group_members_subtext": "在团队订阅中添加或删除成员", + "manage_group_settings": "管理团队设置", + "manage_group_settings_subtext": "配置和管理 SSO 和托管用户", + "manage_group_settings_subtext_group_sso": "配置和管理 SSO", + "manage_group_settings_subtext_managed_users": "启用托管用户", + "manage_institution_managers": "管理机构管理员", + "manage_managers_subtext": "分配或删除管理员权限", + "manage_members": "管理成员", + "manage_newsletter": "管理您的电子邮件偏好", + "manage_publisher_managers": "管理出版社管理员", + "manage_sessions": "管理会话", + "manage_subscription": "管理订购", + "managed": "托管", + "managed_user_accounts": "托管的用户账户", + "managed_user_invite_has_been_sent_to_email": "托管用户邀请已发送到<0>__email__", + "managed_users": "托管用户", + "managed_users_accounts": "托管用户帐户", + "managed_users_accounts_plan_info": "托管用户使您可以更好地控制您的组对 Overleaf 的使用。 它确保对用户访问和删除进行更严格的管理,并允许您在有人离开组时保持对项目的控制。", + "managed_users_explanation": "托管用户确保您能够控制组织的项目以及项目的所有者<0>阅读有关托管用户的更多信息", + "managed_users_gives_gives_you_more_control_over_your_group": "托管用户让您可以更好地控制您的群组对 __appName__ 的使用。它确保对用户访问和删除进行更严格的管理,并允许您在有人离开群组时继续控制您的项目。", + "managed_users_is_enabled": "托管用户已启用", + "managed_users_terms": "要使用托管用户功能,您必须代表您的组织在 <0>__link__ 上选择下面的“我同意”,同意最新版本的客户条款。 这些条款将适用于您的组织对 Overleaf 的使用,以取代任何先前商定的 Overleaf 条款。 例外情况是我们与您签署了协议,在这种情况下,签署的协议将继续有效。 请保留一份副本作为记录。", + "managers_cannot_remove_admin": "管理员无法删除", + "managers_cannot_remove_self": "管理者不能删除自己", + "managers_management": "管理管理者", + "managing_your_subscription": "管理您的订阅", + "march": "三月", + "mark_as_resolved": "标记为已解决", + "marked_as_resolved": "标记为已解决", + "math_display": "数学表达式", + "math_inline": "行内数学符号", + "max_collab_per_project": "每个项目的协作者数量", + "max_collab_per_project_info": "您可以邀请参与每个项目的人数。 他们只需要拥有一个 Overleaf 帐户即可。 他们可以是每个项目中的不同人。", + "maximum_files_uploaded_together": "最多可同时上传__max__个文件", + "may": "五月", + "maybe_later": "或许稍后", + "member_picker": "选择团体计划的用户数量", + "members_management": "成员管理", + "mendeley": "Mendeley", + "mendeley_cta": "获取 Mendeley 集成", + "mendeley_groups_loading_error": "从 Mendeley 加载群组时出错", + "mendeley_groups_relink": "访问您的 Mendeley 数据时出错。 这可能是由于缺乏权限造成的。 请重新关联您的帐户并重试。", + "mendeley_integration": "Mendeley 集成", + "mendeley_integration_lowercase": "Mendeley 集成", + "mendeley_integration_lowercase_info": "在 Mendeley 中管理您的参考文献,并将其直接链接到 Overleaf 中的 .bib 文件,以便您可以轻松引用文献中的任何内容。", + "mendeley_is_premium": "Mendeley集成是一个高级功能", + "mendeley_reference_loading_error": "错误,无法加载Mendeley的参考文献", + "mendeley_reference_loading_error_expired": "Mendeley令牌过期,请重新关联您的账户", + "mendeley_reference_loading_error_forbidden": "无法加载Mendeley的参考文献,请重新关联您的账户后重试", + "mendeley_sync_description": "集成 Mendeley 后,您可以将 mendeley 的参考文献导入 __appName__ 项目。", + "menu": "菜单", + "merge": "合并", + "merge_cells": "合并单元格", + "merging": "正在合并", + "message_received": "收到消息", + "missing_field_for_entry": "缺少字段", + "missing_fields_for_entry": "缺少字段", + "money_back_guarantee": "30天无理由退款", + "month": "月", + "monthly": "每个月", + "more": "更多", + "more_actions": "更多操作", + "more_info": "更多信息", + "more_lowercase": "更多", + "more_options": "更多选择", + "more_options_for_border_settings_coming_soon": "更多的边框设置选项即将推出。", + "more_project_collaborators": "<0>更多项目<0>合作者", + "more_than_one_kind_of_snippet_was_requested": "在Overleaf打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "most_popular": "最受欢迎的", + "most_popular_uppercase": "最受欢迎的", + "must_be_email_address": "必须是电邮地址", + "must_be_purchased_online": "必须通过在线订购", + "my_library": "我的库", + "n_items": "__count__ 个项目", + "n_items_plural": "__count__ 个项目", + "n_matches": "__n__ 个匹配", + "n_more_updates_above": "__count__处更新在上方", + "n_more_updates_above_plural": "__count__处更新在上方", + "n_more_updates_below": "__count__处更新在下方", + "n_more_updates_below_plural": "__count__处更新在下方", + "n_users": "__userCount__ 个用户", + "name": "名字", + "name_usage_explanation": "您的名字将显示给您的合作者(以便他们知道正在与谁合作)。", + "native": "本机", + "navigate_log_source": "导航到源代码中的日志位置:__location__", + "navigation": "导航", + "nearly_activated": "还有一步您的 __appName__ 账户就会被激活了!", + "need_anything_contact_us_at": "您有任何需要,请直接联系我们", + "need_contact_group_admin_to_make_changes": "如果您想对帐户进行某些更改,则需要联系群组管理员。 <0>了解有关托管用户的更多信息。", + "need_make_changes": "你需要做一些修改", + "need_more_than_50_users": "需要50多个用户?", + "need_more_than_to_licenses_get_in_touch": "需要 50 以上的许可证? 请联系我们", + "need_more_than_x_licenses": "需要 __x__ 个以上的许可证?", + "need_to_add_new_primary_before_remove": "在删除此电子邮件地址之前,您需要添加一个新的主电子邮件地址。", + "need_to_leave": "确定要删除账号?", + "need_to_upgrade_for_more_collabs": "您的账户需要升级方可添加更多的合作者", + "new_compile_domain_notice": "我们最近将 PDF 下载迁移到了新域,可能会阻止您的浏览器访问新域 <0>__compilesUserContentDomain__。 这可能是由网络阻止或严格的浏览器插件规则引起的。 请查阅我们的<1>问题排查指南。", + "new_file": "新建文件", + "new_folder": "新建目录", + "new_name": "新名字", + "new_password": "新密码", + "new_project": "创建新项目", + "new_snippet_project": "未命名", + "new_subscription_will_be_billed_immediately": "您的新订阅将立即通过您当前的付款方式计费。", + "new_tag": "新建标签", + "new_tag_name": "新标签名", + "newsletter": "电子邮件", + "newsletter_info_note": "请注意:您仍然会收到重要的电子邮件,例如项目邀请和安全通知(密码重置、帐户链接等)。", + "newsletter_info_subscribed": "您当前<0>订阅了__appName__ 新闻资讯。 如果您不想收到此电子邮件,则可以随时取消订阅。", + "newsletter_info_summary": "每隔几个月,我们就会发送一份简讯,总结可用的新功能。", + "newsletter_info_title": "电子邮件偏好", + "newsletter_info_unsubscribed": "您当前<0>未订阅__appName__ 新闻资讯。", + "newsletter_onboarding_accept": "我想要关于产品优惠、公司新闻和活动的电子邮件。", + "next": "下一步", + "next_page": "下一页", + "next_payment_of_x_collectected_on_y": "<0>__paymentAmmount__ 的下次支付时间为<1>__collectionDate__ 。", + "nl": "荷兰语", + "no": "挪威语", + "no_actions": "无操作", + "no_articles_matching_your_tags": "没有符合您标签的文章", + "no_borders": "无边框", + "no_caption": "无标题", + "no_comments": "没有评论", + "no_comments_or_suggestions": "没有评论或建议", + "no_existing_password": "请使用密码重置表单设置密码", + "no_featured_templates": "无特色模板", + "no_folder": "没有文件夹", + "no_i_dont_need_these": "不,我不需要这些", + "no_image_files_found": "没有找到图片文件", + "no_members": "没有成员", + "no_messages": "无消息", + "no_new_commits_in_github": "自上次合并后GitHub未收到新的提交", + "no_one_has_commented_or_left_any_suggestions_yet": "目前还没有人发表评论或留下任何建议。", + "no_other_projects_found": "找不到其他项目,请先创建另一个项目", + "no_other_sessions": "暂无其他活跃对话", + "no_pdf_error_explanation": "此编译未生成 PDF。 在以下情况下可能会发生这种情况:", + "no_pdf_error_reason_no_content": "document 环境中未包含任何内容。 如果为空,请您在其中添加一些内容并重新编译。", + "no_pdf_error_reason_output_pdf_already_exists": "该项目包含一个名为 output.pdf 的文件。 如果该文件存在,请重命名并重新编译。", + "no_pdf_error_reason_unrecoverable_error": "存在不可恢复的 LaTeX 错误。 如果在下面或原始日志中存在 LaTeX 错误,请尝试修复它们并重新编译。", + "no_pdf_error_title": "无 PDF", + "no_planned_maintenance": "目前没有维护计划", + "no_preview_available": "抱歉,无法预览。", + "no_projects": "没有任何项目", + "no_resolved_comments": "没有已解决的评论", + "no_resolved_threads": "没有未解决线程", + "no_search_results": "没有搜索到结果", + "no_selection_select_file": "当前未选择任何文件。请从文件树中选择一个文件。", + "no_symbols_found": "找不到符号", + "no_thanks_cancel_now": "不,谢谢,我还是想取消", + "no_update_email": "不,更新邮件", + "normal": "常规", + "normally_x_price_per_month": "通常每月__price__", + "normally_x_price_per_year": "通常每年__price__", + "not_found_error_from_the_supplied_url": "在Overleaf打开此内容的链接指向找不到的文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "not_managed": "未被托管", + "not_now": "稍后", + "not_registered": "未注册", + "note_features_under_development": "<0>请注意此计划中的功能仍在测试和快速开发中。 这意味着它们可能<0>改变、<0>被删除或<0>成为高级计划的一部分", + "notification_features_upgraded_by_affiliation": "好消息!您的组织__institutionName__已有 Overleaf 订阅,并且您现在可以访问 Overleaf 的所有专业功能。", + "notification_personal_and_group_subscriptions": "我们发现您有<0>多个活跃的 __appName__ 订阅。 为避免支付超出您需要的费用,请<1>检查您的订阅。", + "notification_personal_subscription_not_required_due_to_affiliation": " 好消息!您的组织 __institutionName__ 与 Overleaf 有合作关系。您可以取消您的个人订阅,而不会失去访问您的任何利益。", + "notification_project_invite": "__userName__ 想让您加入 __projectName__ 加入项目", + "notification_project_invite_accepted_message": "您已加入 __projectName__", + "notification_project_invite_message": "__userName__ 希望您加入 __projectName__", + "november": "十一月", + "number_collab": "合作者数量", + "number_collab_info": "您可以邀请与您一起处理项目的人数。每个项目都有限制,因此您可以邀请不同的人参与每个项目。", + "number_of_projects": "项目的数量", + "number_of_users": "用户数量", + "number_of_users_info": "如果你订阅此计划,可以升级的Overleaf账户的用户数量", + "number_of_users_with_colon": "用户数量:", + "oauth_orcid_description": " 通过将您的 ORCID iD 链接到您的__appName__帐户,安全地建立您的身份。提交给参与发布者的文件将自动包含您的ORCID iD,以改进工作流和可见性。 ", + "october": "十月", + "off": "关闭", + "official": "官方", + "ok": "好的", + "ok_continue_to_project": "好的,继续到项目", + "ok_join_project": "好的,加入项目", + "on": "开", + "on_free_plan_upgrade_to_access_features": "您使用的是 __appName__ 免费计划。 升级即可使用这些<0>高级功能", + "one_collaborator": "仅一个合作者", + "one_collaborator_per_project": "每个项目 1 名协作者", + "one_free_collab": "1个免费的合作者", + "one_per_project": "每个项目 1 个", + "one_step_away_from_professional_features": "您距离访问<0>Overleaf Professional 功能仅一步之遥!", + "one_user": "1 个用户", + "ongoing_experiments": "正在进行的实验", + "online_latex_editor": "在线LaTeX编辑器", + "only_group_admin_or_managers_can_delete_your_account_1": "通过成为托管用户,您的组织将对您的帐户拥有管理权限,并控制您的内容,包括关闭您的帐户以及访问、删除和共享您的内容的权限。因此:", + "only_group_admin_or_managers_can_delete_your_account_2": "只有您的群组管理员才能删除您的帐户。", + "only_group_admin_or_managers_can_delete_your_account_3": "您的群组管理员将能够将项目的所有权重新分配给其他群组成员。", + "only_group_admin_or_managers_can_delete_your_account_4": "一旦您成为托管用户,就无法再更改回来。 <0>了解有关托管 Overleaf 帐户的更多信息。", + "only_group_admin_or_managers_can_delete_your_account_5": "有关更多信息,请参阅我们的使用条款中的“托管帐户”部分,您可以通过单击“接受邀请”来同意该条款", + "only_importer_can_refresh": "只有最初导入此 __provider__ 文件的人才能刷新它。", + "open_a_file_on_the_left": "打开左侧的一个文件", + "open_advanced_reference_search": "打开高级引用搜索", + "open_as_template": "作为模版打开", + "open_file": "编辑文件", + "open_link": "前往页面", + "open_path": "打开 __path__", + "open_project": "打开项目", + "open_target": "前往目标", + "opted_out_linking": "您已选择取消将您的 __email__ __appName__ 帐户绑定到您的机构帐户。", + "optional": "选填", + "or": "或者", + "organization": "组织", + "organization_name": "组织名", + "organization_or_company_name": "组织或公司名称", + "organization_or_company_type": "组织或公司类型", + "organize_projects": "分类管理项目", + "original_price": "原价", + "other": "其他", + "other_actions": "其他", + "other_logs_and_files": "其他日志和文件", + "other_output_files": "下载其他输出文件", + "other_sessions": "其他会话", + "other_ways_to_log_in": "其他登录方式", + "our_values": "我们的价值观", + "out_of_sync": "同步失败", + "out_of_sync_detail": "很抱歉,此文件无法同步,我们需要刷新整个页面。<0><1>有关详细信息,请参阅本帮助指南", + "output_file": "输出文件", + "over": "超过", + "over_n_users_at_research_institutions_and_business": "全球有超过 __userCountMillion__ 万研究机构和企业用户喜爱 __appName__", + "overall_theme": "全局主题", + "overleaf": "Overleaf", + "overleaf_group_plans": "Overleaf 团队计划", + "overleaf_history_system": "Overleaf 历史跟踪系统", + "overleaf_individual_plans": "Overleaf 个人计划", + "overleaf_labs": "Overleaf Labs", + "overleaf_plans_and_pricing": "overleaf 计划和价格", + "overview": "概览", + "overwrite": "覆盖", + "overwriting_the_original_folder": "覆盖原始文件夹将删除它及其包含的所有文件。", + "owned_by_x": "由__x__拥有", + "owner": "拥有者", + "page_current": "页面 __page__,当前页面", + "page_not_found": "找不到页面", + "pagination_navigation": "分页导航", + "partial_outline_warning": "文件大纲已过期。它将在您编辑文档时自行更新", + "password": "密码", + "password_cant_be_the_same_as_current_one": "密码不能和当前的完全一样", + "password_change_old_password_wrong": "您的旧密码错误", + "password_change_password_must_be_different": "您输入的密码与当前密码相同。请尝试其他密码。", + "password_change_passwords_do_not_match": "密码不匹配", + "password_change_successful": "密码已更改", + "password_compromised_try_again_or_use_known_device_or_reset": "您输入的密码位于<0>泄露密码的公开列表中。 请尝试从您之前使用过的设备登录或<1>重置您的密码", + "password_managed_externally": "密码设置由外部管理", + "password_reset": "重置密码", + "password_reset_email_sent": "已给您发送邮件以完成密码重置", + "password_reset_token_expired": "您的密码重置链接已过期。请申请新的密码重置email,并按照email中的链接操作。", + "password_too_long_please_reset": "超过最大密码长度限制。请重新设置密码。", + "password_updated": "密码已更新", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "在<0>已知泄露密码的公共列表中检测到此密码", + "paste_options": "粘贴选项", + "paste_with_formatting": "粘贴并附带格式", + "paste_without_formatting": "粘贴纯文本", + "payment_method_accepted": "__paymentMethod__ 已接受", + "payment_provider_unreachable_error": "抱歉,与我们的支付提供商交谈时出错。请稍后再试。\n如果您在浏览器中使用任何广告或脚本阻止扩展,则可能需要暂时禁用它们。", + "payment_summary": "付款摘要", + "pdf_compile_in_progress_error": "之前的编译仍在运行。 请稍等片刻,然后再尝试编译。", + "pdf_compile_rate_limit_hit": "编译率达到限制", + "pdf_compile_try_again": "请等待其他项目编译完成后再试", + "pdf_in_separate_tab": "PDF 为单独的选项卡", + "pdf_only_hide_editor": "仅 PDF <0>(隐藏编辑器)", + "pdf_preview_error": "显示此项目的编译结果时出现问题。", + "pdf_rendering_error": "PDF渲染错误", + "pdf_unavailable_for_download": "PDF 无法下载", + "pdf_viewer": "PDF 阅读器", + "pdf_viewer_error": "显示此项目的PDF时出现问题。", + "pending": "待定", + "pending_additional_licenses": "您的订阅正在更改为包括<0>__pendingAdditionalLicenses__个附加许可证,总共有<1>__pendingTotalLicenses__个许可证。", + "pending_invite": "等待中的邀请", + "per_month": "每个月", + "per_user": "每个用户", + "per_user_per_year": "每个用户 / 每年", + "per_user_year": "每个用户 / 每年", + "per_year": "每年", + "percent_discount_for_groups": "__appName__为__size__或以上的团体提供__percent__%的教育折扣。", + "percent_is_the_percentage_of_the_line_width": "% 是行宽的百分比", + "personal": "个人", + "personalized_onboarding": "个性化入门", + "personalized_onboarding_info": "我们将帮助您设置好一切,然后我们将在这里回答您的用户关于平台、模板或LaTeX的问题!", + "pl": "波兰语", + "plan": "计划", + "plan_tooltip": "你在__plan__计划中。点击了解如何充分利用您的 Overleaf 高级功能。", + "planned_maintenance": "计划中的维护", + "plans_amper_pricing": "套餐 & 价格", + "plans_and_pricing": "套餐及价格", + "plans_and_pricing_lowercase": "套餐 & 价格", + "please_ask_the_project_owner_to_upgrade_more_editors": "请要求项目所有者升级他们的计划,以允许更多的编辑者。", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "请要求项目所有者升级以使用历史查询功能。", + "please_change_primary_to_remove": "请更改您的主要电子邮件以删除它", + "please_check_your_inbox": "请检查您的收件箱", + "please_check_your_inbox_to_confirm": "请检查您的电子邮件收件箱以确认您属于<0>__institutionName__ 。", + "please_compile_pdf_before_download": "请在下载PDF之前编译您的项目", + "please_compile_pdf_before_word_count": "请您在统计字数之前先编译您的的项目", + "please_confirm_email": "请点击电子邮件中的链接确认您的电子邮件地址 __emailAddress__ ", + "please_confirm_your_email_before_making_it_default": "请先确认您的电子邮件,然后再将其作为主要邮件。", + "please_contact_support_to_makes_change_to_your_plan": "请<0>联系支持以更改您的计划", + "please_contact_us_if_you_think_this_is_in_error": "如果您认为此信息有误,请<0>联系我们。", + "please_enter_confirmation_code": "请输入您的验证码", + "please_enter_email": "请输入您的电子邮件地址", + "please_get_in_touch": "请联系", + "please_link_before_making_primary": "请确认您的电子邮件链接到您的机构帐户,然后再将其作为主要电子邮件。", + "please_provide_a_message": "请提供消息", + "please_provide_a_subject": "请提供主题", + "please_reconfirm_institutional_email": "请花点时间确认您的机构电子邮件地址,或<0>将其从您的帐户中删除。", + "please_reconfirm_your_affiliation_before_making_this_primary": "请确认您的从属关系,然后再将此作为主要。", + "please_refresh": "请刷新页面以继续", + "please_request_a_new_password_reset_email_and_follow_the_link": "请求一封新的密码重置电子邮件并点击链接", + "please_select": "请选择", + "please_select_a_file": "请选择一个文件", + "please_select_a_project": "请选择项目", + "please_select_an_output_file": "请选择输出文件", + "please_set_a_password": "请设置密码", + "please_set_main_file": "请在项目菜单中选择此项目的主文件。", + "please_wait": "请稍后", + "plus_additional_collaborators_document_history_track_changes_and_more": "(以及更多协作者、文档历史记录、跟踪更改等付费功能)。", + "plus_more": "加上更多", + "popular_tags": "热门标签", + "portal_add_affiliation_to_join": "您似乎已经登录到 __appName__!如果你有一封 __portalTitle__ 邮件,现在就可以添加了。", + "position": "职位", + "postal_code": "邮政编码", + "powerful_latex_editor_and_realtime_collaboration": "强大的LaTeX编辑器 & 实时协作", + "powerful_latex_editor_and_realtime_collaboration_info": "拼写检查、智能自动完成、语法高亮显示、数十种颜色主题、vim和emacs绑定、LaTeX警告和错误消息的帮助等等。每个人都有最新的版本,您可以实时看到合作者的光标和更改。", + "premium_feature": "Premium 功能", + "premium_features": "高级功能", + "premium_plan_label": "您正在使用 Overleaf Premium", + "presentation": "幻灯片", + "presentation_mode": "演示模式", + "press_and_awards": "新闻 & 奖项", + "previous_page": "上一页", + "price": "价格", + "primarily_work_study_question": "你主要在哪里工作或学习?", + "primarily_work_study_question_company": "公司", + "primarily_work_study_question_government": "政府", + "primarily_work_study_question_nonprofit_ngo": "非营利组织或非政府组织", + "primarily_work_study_question_other": "其他", + "primarily_work_study_question_university_school": "大学或高校", + "primary_certificate": "主证书", + "primary_email_check_question": "<0>__email__ 还是您的电子邮件地址吗?", + "priority_support": "优先支持", + "priority_support_info": "我们乐于助人的支持团队将在必要时优先考虑并升级您的支持请求。", + "privacy": "隐私", + "privacy_and_terms": "隐私和条款", + "privacy_policy": "隐私政策", + "private": "私有", + "problem_changing_email_address": "无法更改您的email地址。请您过一会儿重试。如果问题持续,请联系我们。", + "problem_talking_to_publishing_service": "我们的发布服务出现故障,请在几分钟后再试", + "problem_with_subscription_contact_us": "您的订购出现了问题。请联系我们以获得更多信息。", + "proceed_to_paypal": "继续使用 PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "继续访问 PayPal 将带您前往 PayPal 网站支付订阅费用。", + "processing": "处理中", + "processing_uppercase": "处理中", + "processing_your_request": "我们正在处理您的请求,请稍候。", + "professional": "专业版", + "progress_bar_percentage": "进度条从 0 到 100%", + "project": "项目", + "project_approaching_file_limit": "此项目已接近文件限制", + "project_figure_modal": "项目", + "project_flagged_too_many_compiles": "因频繁编译,项目被标旗。编译上限会稍后解除。", + "project_has_too_many_files": "此项目已达到 2000 个文件限制", + "project_last_published_at": "您的项目最近一次被发布在", + "project_layout_sharing_submission": "项目布局、分享和提交", + "project_name": "项目名称", + "project_not_linked_to_github": "该项目未与GitHub任一存储库关联。您可以在GitHub中为该项目创建一个存储库:", + "project_owner_plus_10": "项目作者 + 10人", + "project_ownership_transfer_confirmation_1": "是否确定要将 <0>__user__ 设为 <1>__project__ 的所有者?", + "project_ownership_transfer_confirmation_2": "此操作无法撤消。新所有者将收到通知,并可以更改项目访问权限设置(包括删除您自己的访问权限)。", + "project_renamed_or_deleted": "项目已重命名或删除", + "project_renamed_or_deleted_detail": "该项目已被外部数据源(例如 Dropbox)重命名或删除。 我们不想删除您在 Overleaf 上的数据,因此该项目仍然包含您的历史记录和合作者。 如果项目已重命名,请在项目列表中查找新名称下的新项目。", + "project_synced_with_git_repo_at": "该项目已与GitHub存储库同步,仓库地址为", + "project_synchronisation": "项目同步", + "project_timed_out_enable_stop_on_first_error": "<0>启用“出现第一个错误时停止”可帮助您立即查找并修复错误。", + "project_timed_out_fatal_error": "<0>致命编译错误可能会彻底阻止编译。", + "project_timed_out_intro": "抱歉,您的编译运行时间已超时。 超时的最常见原因是:", + "project_timed_out_learn_more": "<0>了解更多 关于其他导致编译超时的原因以及如何修复。", + "project_timed_out_optimize_images": "处理大图像或高分辨率图像需要很长时间。 您也许能够<0>优化一下。", + "project_too_large": "项目太大", + "project_too_large_please_reduce": "此项目的可编辑文本太多,请尝试减少它。最大的文件是:", + "project_too_much_editable_text": "该项目具有太多可编辑文本,请尝试减少它。", + "project_url": "受影响的项目URL", + "projects": "项目", + "projects_count": "项目数", + "projects_list": "项目列表", + "provide_details_of_your_sso_configuration": "添加、编辑或删除身份提供商的 SAML 元数据。", + "pt": "葡萄牙语", + "public": "公共", + "publish": "发布", + "publish_as_template": "管理模版", + "publisher_account": "发布者帐户", + "publishing": "正在发表", + "pull_github_changes_into_sharelatex": "将GitHub中的更改调入 __appName__", + "purchase_now": "现在订购", + "purchase_now_lowercase": "现在订购", + "push_sharelatex_changes_to_github": "将 __appName__ 中的更改推送到GitHub", + "quoted_text": "引用文本", + "quoted_text_in": "引文内容", + "raw_logs": "原始日志", + "raw_logs_description": "来自 LaTeX 编译器的原始日志", + "react_history_tutorial_content": "要比较一系列版本,请在范围的开头和结尾使用所需版本的 <0>。 要添加标签或下载版本,请使用三点菜单中的选项。 <1>了解有关使用Overleaf历史记录的更多信息。", + "react_history_tutorial_title": "历史跟踪操作迁移到了新位置", + "reactivate_subscription": "重新激活您的订阅", + "read_lines_from_path": "从 __path__ 读取行", + "read_more": "阅读更多", + "read_more_about_free_compile_timeouts_servers": "阅读有关免费计划编译超时和服务器更改的更多信息", + "read_only": "只读", + "read_only_token": "只读令牌", + "read_write_token": "可读写令牌", + "ready_to_join_x": "您已加入 __inviterName__", + "ready_to_join_x_in_group_y": "您已加入 __groupName__ 团队的 __inviterName__", + "ready_to_set_up": "准备好设置", + "ready_to_use_templates": "现成的模板", + "real_time_track_changes": "实时<0>跟踪更改", + "realtime_track_changes": "实时跟踪更改", + "realtime_track_changes_info_v2": "打开跟踪更改以查看谁进行了每项更改、接受或拒绝其他人的更改以及撰写评论。", + "reasons_for_compile_timeouts": "编译超时的原因", + "reauthorize_github_account": "重新授权 GitHub 帐号", + "recaptcha_conditions": "本网站受reCAPTCHA保护,谷歌<1>隐私政策和<2>服务条款适用。", + "recent": "最近的", + "recent_commits_in_github": "GitHub中最近的提交", + "recompile": "重新编译", + "recompile_from_scratch": "从头开始重新编译", + "recompile_pdf": "重新编译该PDF", + "reconfirm": "再次确认", + "reconfirm_explained": "我们需要再次确认你的帐户。请通过以下表格申请密码重置链接,以重新确认您的帐户。如果您在重新确认您的帐户时有任何问题,请联系我们", + "reconnect": "重试", + "reconnecting": "正在重新连接", + "reconnecting_in_x_secs": "__seconds__ 秒后重新连接", + "recurly_email_update_needed": "您当前的帐单邮件地址为 <0>__recurlyEmail__。如果需要,您可以将帐单地址修改为 <1>__userEmail__。", + "recurly_email_updated": "您的帐单邮件地址已成功更新", + "redirect_to_editor": "重定向到编辑器", + "redirect_url": "重定向 URL", + "redirecting": "重定向中", + "reduce_costs_group_licenses": "您可以通过我们的团体优惠许可证减少工作并降低成本。", + "reference_error_relink_hint": "如果仍出现此错误,请尝试在此重新关联您的账户:", + "reference_managers": "引文管理", + "reference_search": "高级搜索", + "reference_search_info_new": "轻松查找您的参考文献——按作者、标题、年份或期刊搜索。", + "reference_search_info_v2": "查找参考文献很容易 - 您可以按作者、标题、年份或期刊进行搜索。 您仍然可以通过引用键进行搜索。", + "reference_sync": "同步参考文献", + "refresh": "刷新", + "refresh_page_after_linking_dropbox": "请在将您的帐户链接到Dropbox后刷新此页。", + "refresh_page_after_starting_free_trial": "请在您开始免费试用之后刷新此页面", + "refreshing": "正在刷新", + "regards": "感谢", + "register": "注册", + "register_error": "注册错误", + "register_intercept_sso": "登录后,您可以从“帐户设置”页绑定您的 __authProviderName__ 帐户。", + "register_to_accept_invitation": "注册以接受邀请", + "register_to_edit_template": "请注册以编辑 __templateName__ 模板", + "register_with_another_email": "使用另一个邮件地址注册 __appName__", + "registered": "已注册", + "registering": "正在注册", + "registration_error": "注册错误", + "reject": "不要", + "reject_all": "拒绝全部", + "reject_change": "拒绝修改", + "related_tags": "相关标签", + "relink_your_account": "重新链接您的帐户", + "reload_editor": "重新加载编辑器", + "remind_before_trial_ends": "我们会在试用期结束前提醒您", + "remote_service_error": "远程服务产生错误", + "remove": "删除", + "remove_access": "移除权限", + "remove_collaborator": "移除合作者", + "remove_from_group": "从群组中移除", + "remove_link": "移除链接", + "remove_manager": "删除管理者", + "remove_or_replace_figure": "删除或替换图片", + "remove_secondary_email_addresses": "删除与您的帐户关联的所有辅助电子邮件地址。 <0>在帐户设置中将其删除。", + "remove_sso_login_option": "删除用户的 SSO 登录选项。", + "remove_tag": "移除标签 __tagName__", + "removed": "已被移除", + "removed_from_project": "从项目中删除", + "removing": "删除", + "rename": "重命名", + "rename_project": "重命名项目", + "renaming": "重命名中", + "reopen": "重新打开", + "replace_figure": "替换图片", + "replace_from_another_project": "从另一个项目替换", + "replace_from_computer": "从本地计算机替换", + "replace_from_project_files": "从项目文件替换", + "replace_from_url": "从 URL 替换", + "reply": "回复", + "repository_name": "存储库名称", + "republish": "重新发布", + "request_new_password_reset_email": "请求发送重置密码电子邮件", + "request_overleaf_common": "请求 Overleaf Commons", + "request_password_reset": "请求重置密码", + "request_password_reset_to_reconfirm": "请求密码重置邮件以重新确认", + "request_reconfirmation_email": "请求再确认电子邮件", + "request_sent_thank_you": "请求已发送,我们的团队将审核并通过电子邮件回复。", + "requesting_password_reset": "请求密码重置", + "required": "必填", + "resend": "重发", + "resend_confirmation_code": "重新发送确认码", + "resend_confirmation_email": "重新发送确认电子邮件", + "resend_email": "重新发送电子邮件", + "resend_group_invite": "重新发送群组邀请", + "resend_link_sso": "重新发送 SSO 邀请", + "resend_managed_user_invite": "重新发送托管用户邀请", + "resending_confirmation_code": "重新发送确认码", + "resending_confirmation_email": "重新发送确认电子邮件", + "reset_password": "重置密码", + "reset_password_link": "单击此链接重置您的密码", + "reset_your_password": "重置您的密码", + "resize": "调整大小", + "resolve": "解决", + "resolve_comment": "解决评论", + "resolved_comments": "已折叠的评论", + "restore": "恢复", + "restore_file": "恢复文件", + "restore_file_confirmation_message": "您当前的文件将恢复到 __date__ __time__ 的版本。", + "restore_file_confirmation_title": "恢复此版本?", + "restore_file_error_message": "恢复文件版本时出现问题。请稍后重试。如果问题仍然存在,请联系我们。", + "restore_file_error_title": "恢复文件错误", + "restore_file_version": "恢复此版本", + "restore_project_to_this_version": "将项目恢复至此版本", + "restore_this_version": "恢复此版本", + "restoring": "正在恢复", + "restricted": "受限的", + "restricted_no_permission": "访问受限,抱歉您没有权限访问此页面", + "resync_completed": "重新同步完成!", + "resync_message": "重新同步项目历史记录可能需要几分钟时间,具体取决于项目的大小。", + "resync_project_history": "重新同步项目历史记录", + "retry_test": "重试测试", + "return_to_login_page": "回到登录页", + "reverse_x_sort_order": "反向__x__排序顺序", + "revert_pending_plan_change": "撤销计划的套餐更改", + "review": "审阅", + "review_your_peers_work": "同行评议", + "revoke": "撤回", + "revoke_invite": "撤销邀请", + "right": "右对齐", + "ro": "罗马尼亚语", + "role": "角色", + "ru": "俄罗斯语", + "saml": "SAML", + "saml_auth_error": "很抱歉,您的身份提供程序响应时出错。有关详细信息,请与管理员联系。", + "saml_authentication_required_error": "其他登录方法已被您的群组管理员禁用。 请使用您的群组 SSO 登录。", + "saml_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在SAML系统中的账户,请使用此账户登陆系统。", + "saml_email_not_recognized_error": "此电子邮件地址未设置为SSO。请检查并重试,或者与管理员联系。", + "saml_identity_exists_error": "很抱歉,您的身份提供商返回的身份已链接到另一个Overleaf帐户。有关详细信息,请与您的管理员联系。", + "saml_invalid_signature_error": "很抱歉,从您的身份提供商处收到的信息签名无效。有关详细信息,请与您的管理员联系。", + "saml_login_disabled_error": "很抱歉,__email__的单点登录已被禁用。有关详细信息,请与管理员联系。", + "saml_login_failure": "抱歉,您登录时出现问题。请联系您的管理员以获取更多信息。", + "saml_login_identity_mismatch_error": "抱歉,您正在尝试以 __email__ 身份登录 Overleaf,但您的身份提供商返回的身份不是此 Overleaf 帐户的正确身份。", + "saml_login_identity_not_found_error": "抱歉,我们无法找到为此身份提供商设置单点登录的 Overleaf 帐户。", + "saml_metadata": "Overleaf SAML 元数据", + "saml_missing_signature_error": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。 请联系您的管理员以获取更多信息。", + "saml_response": "SAML 响应:", + "save": "保存", + "save_20_percent": "节省 20%", + "save_20_percent_by_paying_annually": "按年支付可节省20%", + "save_30_percent_or_more": "节省30%或更多", + "save_30_percent_or_more_uppercase": "节省30%或更多", + "save_n_percent": "节约 __percentage__%", + "save_or_cancel-cancel": "取消", + "save_or_cancel-or": "或者", + "save_or_cancel-save": "保存", + "save_x_percent_or_more": "节省 __percent__% 或更多", + "saving": "正在保存", + "saving_20_percent": "节省 20%!", + "saving_20_percent_no_exclamation": "节约20%", + "saving_notification_with_seconds": "保存 __docname__... (剩余 __seconds__ 秒)", + "search": "搜索", + "search_all_project_files": "搜索所有的项目文件", + "search_bib_files": "按作者、标题、年份搜索", + "search_by_citekey_author_year_title": "通过引文的关键词、作者、标题、年份搜索", + "search_command_find": "查找", + "search_command_replace": "替换", + "search_in_all_projects": "在所有项目中搜索", + "search_in_archived_projects": "在归档项目中搜索", + "search_in_shared_projects": "搜索与您共享的项目", + "search_in_trashed_projects": "在已删除项目中搜索", + "search_in_your_projects": "在您的项目中搜索", + "search_match_case": "区分大小写", + "search_next": "下一个", + "search_previous": "上一个", + "search_projects": "搜索项目", + "search_references": "搜索此项目中的.bib文件", + "search_regexp": "正则表达式", + "search_replace": "替换", + "search_replace_all": "全部替换", + "search_replace_with": "以...替换", + "search_search_for": "搜索", + "search_terms": "搜索词组", + "search_whole_word": "完整词组", + "search_within_selection": "在选择范围内", + "searched_path_for_lines_containing": "在 __path__ 中搜索包含“__query__”的行", + "secondary_email_password_reset": "该电子邮件已注册为辅助电子邮件。请输入您帐户的主要电子邮件。", + "security": "安全性", + "see_changes_in_your_documents_live": "实时查看文档修改情况", + "select_a_column_or_a_merged_cell_to_align": "选择要对齐的列或合并的单元格", + "select_a_column_to_adjust_column_width": "选择一列来调整列宽", + "select_a_file": "选择一个文件", + "select_a_file_figure_modal": "选择一个文件", + "select_a_group_optional": "选择一个团队(可选的)", + "select_a_language": "选择语言", + "select_a_new_owner_for_projects": "为此用户的项目选择新所有者", + "select_a_payment_method": "选择付款方式", + "select_a_project": "选择一个项目", + "select_a_project_figure_modal": "选择一个项目", + "select_a_row_or_a_column_to_delete": "选择要删除的行或列", + "select_access_level": "选择访问级别", + "select_access_levels": "选择访问级别", + "select_all": "选择全部", + "select_all_projects": "全选", + "select_an_output_file": "选择输出文件", + "select_an_output_file_figure_modal": "选择一个输出文件", + "select_cells_in_a_single_row_to_merge": "在一行中选择单元格合并", + "select_color": "选择颜色 __name__", + "select_folder_from_project": "从项目中选择文件夹", + "select_from_output_files": "从输出文件中选择", + "select_from_project_files": "从项目文件中选择", + "select_from_source_files": "从源文件中选择", + "select_from_your_computer": "从您的电脑文件中选择", + "select_github_repository": "选取要导入 __appName__ 的GitHub存储库", + "select_image_from_project_files": "从项目文件中选择图片", + "select_monthly_plans": "选择用于月计划", + "select_project": "选择 __project__", + "select_projects": "选择项目", + "select_tag": "选择标签__tagName__", + "select_user": "选择用户", + "selected": "选择的", + "selected_by_overleaf_staff": "由 Overleaf 工作人员精选", + "selected_by_overleaf_staff_description": "这些模板是由 Overleaf 工作人员精心挑选的,因为它们的质量很高,并且多年来从 Overleaf 社区收到了积极的反馈。", + "selection_deleted": "所选内容已删除", + "send": "发送", + "send_first_message": "向你的合作者发送第一条信息", + "send_message": "发送消息", + "send_test_email": "发送测试邮件", + "sending": "发送中", + "sent": "发送", + "september": "九月", + "server_error": "服务器错误", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro 许可证", + "server_pro_license_entitlement_line_2": "您当前有 <0>__count__ 活跃用户。 如果您需要增加许可证授权,请<1>联系 Overleaf。", + "server_pro_license_entitlement_line_3": "活跃用户是指在过去 12 个月内在此 Server Pro 实例中打开过项目的用户。", + "services": "服务", + "session_created_at": "会话创建于", + "session_error": "会话错误。请检查是否已启用Cookie。如果问题仍然存在,请尝试清除缓存和cookies。", + "session_expired_redirecting_to_login": "会话过期。将在__seconds__秒后重定向至登录页面", + "sessions": "会话", + "set_color": "设置颜色", + "set_column_width": "设置列宽", + "set_new_password": "设置新密码", + "set_password": "设置密码", + "set_up_single_sign_on": "设置单点登录 (SSO)", + "set_up_sso": "设置 SSO", + "settings": "设置", + "setup_another_account_under_a_personal_email_address": "在个人电子邮件地址下设置另一个 Overleaf 帐户。", + "share": "共享", + "share_project": "共享该项目", + "share_with_your_collabs": "和您的合作者共享", + "shared_with_you": "与您共享的", + "sharelatex_beta_program": "__appName__ Beta版项目", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace____altSpace__)", + "show_all": "显示全部", + "show_all_projects": "显示全部项目", + "show_document_preamble": "显示文档导言部分", + "show_hotkeys": "显示快捷键", + "show_in_code": "在代码中显示", + "show_in_pdf": "在 PDF 中显示", + "show_less": "折叠", + "show_local_file_contents": "显示本地文件内容", + "show_more": "显示更多", + "show_outline": "显示文件大纲", + "show_x_more_projects": "再显示 __x__ 个项目", + "show_your_support": "表示你的支持", + "showing_1_result": "显示 1 个结果", + "showing_1_result_of_total": "显示 1 个结果(共计 __total__ )", + "showing_x_out_of_n_projects": "显示 __x__ 个项目(共 __n__ 个)", + "showing_x_results": "显示 __x__ 结果", + "showing_x_results_of_total": "显示 __x__ 个结果(共计__total__ )", + "sign_up": "注册", + "sign_up_for_free": "免费注册", + "single_sign_on_sso": "单点登录 (SSO)", + "site_description": "一个简洁的在线 LaTeX 编辑器。无需安装,实时共享,版本控制,数百免费模板……", + "site_wide_option_available": "提供站点范围的选项", + "sitewide_option_available": "提供站点范围的选项", + "sitewide_option_available_info": "当用户注册或将其电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时,用户会自动升级。", + "six_collaborators_per_project": "每个项目6个合作者", + "six_per_project": "每个项目6个", + "skip": "跳过", + "skip_to_content": "跳到内容", + "something_not_right": "出了些问题", + "something_went_wrong": "出了些问题", + "something_went_wrong_canceling_your_subscription": "取消订阅时出错。请联系支持人员。", + "something_went_wrong_loading_pdf_viewer": "加载 PDF 查看器时出错。 这可能是由<0>临时网络问题或<0>过时的网络浏览器等问题引起的。 请按照<1>访问、加载和显示问题的故障排除步骤进行操作。 如果问题仍然存在,请<2>告知我们。", + "something_went_wrong_processing_the_request": "处理请求时出错", + "something_went_wrong_rendering_pdf": "渲染此PDF时出错了。", + "something_went_wrong_rendering_pdf_expected": "显示此 PDF 时出现问题。 <0>请重新编译", + "something_went_wrong_server": "与服务器交谈时出错 :(。请再试一次。", + "somthing_went_wrong_compiling": "抱歉,出错了,您的项目无法编译。请在几分钟后再试。", + "sorry_detected_sales_restricted_region": "抱歉,我们检测到您所在的地区目前无法接受付款。 如果您认为您错误地收到了此消息,请联系我们并提供您所在位置的详细信息,我们将为您调查此问题。 我们对不便表示抱歉。", + "sorry_it_looks_like_that_didnt_work_this_time": "抱歉!这次似乎没有成功。请重试。", + "sorry_something_went_wrong_opening_the_document_please_try_again": "很抱歉,尝试在Overleaf打开此内容时发生意外错误。请再试一次。", + "sorry_the_connection_to_the_server_is_down": "抱歉,服务器连接已断开。", + "sorry_there_are_no_experiments": "抱歉,Overleaf Labs 目前没有正在进行任何实验。", + "sorry_this_account_has_been_suspended": "抱歉,该账户已被暂停。", + "sorry_your_table_cant_be_displayed_at_the_moment": "抱歉,您的表格暂时无法显示。", + "sorry_your_token_expired": "抱歉,您的令牌已过期", + "sort_by": "排序方式", + "sort_by_x": "按 __x__ 排序", + "sort_projects": "排序项目", + "source": "源代码", + "spell_check": "拼写检查", + "sso": "单点登录(SSO)", + "sso_account_already_linked": "帐户已链接到另一个__appName__用户", + "sso_active": "SSO 激活", + "sso_already_setup_good_to_go": "您的帐户已设置单点登录,因此您可以开始使用了。", + "sso_config_deleted": "SSO 配置已删除", + "sso_config_prop_help_certificate": "Base64编码的、无空格的证书", + "sso_config_prop_help_first_name": "指定用户名字的 SAML 属性", + "sso_config_prop_help_last_name": "指定用户姓氏的 SAML 属性", + "sso_config_prop_help_redirect_url": "IdP 提供的单点登录重定向 URL(有时称为单点登录服务 HTTP 重定向位置)", + "sso_config_prop_help_user_id": "IdP 提供的用于标识每个用户的 SAML 属性", + "sso_configuration": "SSO 配置", + "sso_configuration_not_finalized": "您的配置尚未最终确定。", + "sso_configuration_saved": "SSO 配置已保存", + "sso_disabled_by_group_admin": "您的组管理员已禁用 SSO。 您仍然可以像平常一样登录并使用 Overleaf。", + "sso_error_audience_mismatch": "您的 IdP 中配置的服务提供商实体 ID 与我们的元数据中提供的不匹配。 请联系您的 IT 部门以获取更多信息。", + "sso_error_idp_error": "您的身份提供商响应错误。", + "sso_error_invalid_external_user_id": "IdP 提供的唯一标识您用户的 SAML 属性格式无效,应为字符串。 属性:<0> __expecting__ ", + "sso_error_invalid_signature": "抱歉,从您的身份提供商处收到的信息签名无效。", + "sso_error_missing_external_user_id": "您的 IdP 提供的唯一标识您用户的 SAML 属性要么丢失,要么使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_firstname_attribute": "指定用户名的 SAML 属性丢失或使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_lastname_attribute": "指定用户姓氏的 SAML 属性丢失或使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_signature": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。", + "sso_error_response_already_processed": "SAML 响应的 InResponseTo 无效。 如果它与 SAML 请求不匹配,或者登录处理时间过长且请求已过期,则可能会发生这种情况。", + "sso_explanation": "为您的组设置单点登录。 除非启用了托管用户,否则此登录方法对于群组成员来说是可选的。 <0>详细了解 Overleaf 组 SSO。", + "sso_here_is_the_data_we_received": "以下是我们在 SAML 响应中收到的数据:", + "sso_integration": "SSO 集成", + "sso_integration_info": "Overleaf 提供标准的基于 SAML 的单点登录集成。", + "sso_is_disabled": "SSO 已经关闭", + "sso_is_disabled_explanation_1": "群组成员将无法通过SSO登录", + "sso_is_disabled_explanation_2": "该组的所有成员都需要用户名和密码才能登录__appName__", + "sso_is_enabled": "SSO 已经开启", + "sso_is_enabled_explanation_1": "群组成员将 <0>只能 通过 SSO 登录", + "sso_is_enabled_explanation_1_sso_only": "群组成员可以选择通过 SSO 登录。", + "sso_is_enabled_explanation_2": "如果配置有任何问题,只有您(作为组管理员)才能禁用SSO。", + "sso_link_account_with_idp": "您的组使用 SSO。 这意味着我们需要通过组身份提供商验证您的帐户。 点击<0>设置 SSO 立即进行身份验证。", + "sso_link_error": "链接SSO帐户时出错", + "sso_link_invite_has_been_sent_to_email": "一封 SSO 邀请提示已经被发送到 <0>__email__", + "sso_login": "SSO 登录", + "sso_logs": "单点登录日志", + "sso_not_active": "单点登录未开启", + "sso_not_linked": "您尚未将帐户绑定到 __provider__。请以另一种方式登录到您的帐户,并通过您的帐户设置绑定您的 __provider__ 帐户。", + "sso_reauth_request": "SSO 二次身份验证请求已发送至 <0>__email__", + "sso_test_interstitial_info_1": "<0>开始此测试之前,请确保您已<1>将 Overleaf 配置为 IdP 中的服务提供商,并授权访问 Overleaf 服务。", + "sso_test_interstitial_info_2": "点击<0>测试配置会将您重定向到 IdP 的登录屏幕。 <1>阅读我们的文档,了解测试期间发生的情况的完整详细信息。 如果您遇到困难,请查看我们的<2>SSO 故障排除建议。", + "sso_test_interstitial_title": "让我们测试一下您的 SSO 配置", + "sso_test_result_error_message": "这次测试没有成功,但不用担心 - 通常可以通过调整配置设置来快速解决错误。 我们的<0>SSO 故障排除指南提供有关测试错误的一些常见原因的帮助。", + "sso_title": "单点登录", + "sso_user_denied_access": "无法登录,因为未授予 __appName__ 访问您的 __provider__ 帐户的权限。 请再试一次。", + "sso_user_explanation_enabled_with_admin_email": "您的群组由 <0>__adminEmail__ 管理,已启用 SSO,因此您无需记住密码即可登录。", + "sso_user_explanation_enabled_with_group_name": "您的群组 <0>__groupName__ 已启用 SSO,因此您无需记住密码即可登录。", + "sso_user_explanation_ready_with_admin_email": "您的群组由 <0>__adminEmail__ 管理,已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__开始。", + "sso_user_explanation_ready_with_group_name": "您的群组 <0>__groupName__ 已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__开始。", + "standard": "标准版", + "start_a_free_trial": "开始免费试用", + "start_by_adding_your_email": "从添加电子邮件地址开始。", + "start_by_fixing_the_first_error_in_your_doc": "首先修复文档中的第一个错误,以避免以后出现问题。", + "start_free_trial": "开始免费试用", + "start_free_trial_without_exclamation": "开始免费试用", + "start_typing_find_your_company": " 开始键入以查找您的公司", + "start_typing_find_your_organization": "开始键入以查找您的组织", + "start_typing_find_your_university": "开始键入以查找您的大学", + "state": "州", + "status_checks": "状态检查", + "still_have_questions": "还有问题?", + "stop_compile": "停止编译", + "stop_on_first_error": "出现第一处错误时停止", + "stop_on_first_error_enabled_description": "<0>“出现第一个错误时停止编译”已启用。禁用它可能允许编译器生成 PDF(但您的项目仍会出现错误)。", + "stop_on_first_error_enabled_title": "无 PDF:出现第一个错误时停止编译已启用", + "stop_on_validation_error": "编译前检查语法", + "store_your_work": "将工作存储在自己的硬件上", + "stretch_width_to_text": "拉伸宽度适应文本", + "student": "学生", + "student_and_faculty_support_make_difference": "学生和教师的支持会带来改变! 在讨论 Overleaf 机构账户时,我们可以与您所在大学的联系人分享此信息。", + "student_disclaimer": "教育折扣适用于中学和高等教育机构(学校和大学)的所有学生。 我们可能会与您联系以确认您是否有资格享受折扣。", + "student_plans": "学生计划", + "students": "学生", + "subject": "主题", + "subject_area": "主题区", + "subject_to_additional_vat": "价格可能会受到额外的增值税,取决于您的国家。", + "submit": "提交", + "submit_title": "提交", + "subscribe": "提交", + "subscribe_to_find_the_symbols_you_need_faster": "订阅以更快地找到您需要的符号", + "subscription": "订购", + "subscription_admin_panel": "管理员面板", + "subscription_admins_cannot_be_deleted": "订阅时不能删除您的帐户。请取消订阅并重试。如果您一直看到此消息,请与我们联系。", + "subscription_canceled": "订阅已取消", + "subscription_canceled_and_terminate_on_x": " 您的订阅已被取消,将于 <0>__terminateDate__ 停止。不必支付其他费用。", + "subscription_will_remain_active_until_end_of_billing_period_x": "您的订阅将保持有效,直到您的结算周期结束,<0>__terminationDate__。", + "subscription_will_remain_active_until_end_of_trial_period_x": "您的订阅将保持有效,直到试用期结束,<0>__terminationDate__。", + "success_sso_set_up": "成功! 单点登录已为您设置完毕。", + "suggest_a_different_fix": "建议其他修复方法", + "suggest_fix": "建议修复", + "suggested": "建议", + "suggested_fix_for_error_in_path": "针对 __path__ 中的错误建议修复", + "suggestion": "建议", + "suggestion_applied": "应用建议的修改", + "support": "支持", + "sure_you_want_to_cancel_plan_change": "是否确实要撤销计划的套餐更改?您将继续订阅<0>__planName__。", + "sure_you_want_to_change_plan": "您确定想要改变套餐为 <0>__planName__?", + "sure_you_want_to_delete": "您确定要永久删除以下文件吗?", + "sure_you_want_to_leave_group": "您确定要退出该群吗?", + "sv": "瑞典语", + "switch_to_editor": "切换到编辑器", + "switch_to_pdf": "切换到 PDF", + "symbol_palette": "数学符号面板", + "symbol_palette_highlighted": "<0>符号 面板", + "symbol_palette_info": "一种将数学符号插入文档的快速便捷的方法。", + "symbol_palette_info_new": "单击按钮即可将数学符号插入到您的文档中。", + "sync": "同步", + "sync_dropbox_github": "与dropbox或Github同步", + "sync_project_to_github_explanation": "您在 __appName__ 中的所有更改将被提交并与 GitHub 中的所有更新合并。", + "sync_to_dropbox": "同步到 Dropbox", + "sync_to_github": "同步到 GitHub", + "synctex_failed": "找不到相应的源文件", + "syntax_validation": "代码检查", + "tab_connecting": "与编辑器连接中", + "tab_no_longer_connected": "该选项卡与编辑器已断开连接", + "tag_color": "标签颜色", + "tag_name_cannot_exceed_characters": "标签名称不能超过 __maxLength__ 个字符", + "tag_name_is_already_used": "标签“__tagName__”已存在", + "tags": "标签", + "take_me_home": "我要返回!", + "take_short_survey": "做一个简短的调查", + "take_survey": "参加调查", + "tc_everyone": "所有人", + "tc_guests": "受邀用户", + "tc_switch_everyone_tip": "为所有用户切换记录模式", + "tc_switch_guests_tip": "为所有分享链接用户切换记录模式", + "tc_switch_user_tip": "为当前用户切换记录模式", + "tell_the_project_owner_and_ask_them_to_upgrade": "如果您需要更多编译时间,<0>告诉项目所有者并要求他们升级其 Overleaf 计划。", + "template": "模版", + "template_approved_by_publisher": "该模板已获得发布者批准", + "template_description": "模板描述", + "template_gallery": "模板库", + "template_not_found_description": "这种从模板创建项目的方法已被删除。请访问我们的模板库以查找更多模板。", + "template_title_taken_from_project_title": "模板标题将自动从项目标题中获取", + "template_top_pick_by_overleaf": "该模板是由 Overleaf 工作人员精心挑选的高质量模版", + "templates": "模板", + "templates_admin_source_project": "管理员:源项目", + "templates_page_summary": "使用高质量的LaTeX模板开始您的项目,包括期刊、个人履历、个人简历、论文、展示Pre、作业、信件、项目报告等。在下面搜索或浏览。", + "templates_page_title": "模板 - 期刊、简历、演示文稿、报告等", + "ten_collaborators_per_project": "每个项目 10 位协作者", + "ten_per_project": "每个项目 10 个", + "terminated": "编译取消", + "terms": "条款", + "test": "测试", + "test_configuration": "测试配置", + "test_configuration_successful": "测试配置成功", + "tex_live_version": "TeX Live 版本", + "thank_you": "谢谢您!", + "thank_you_email_confirmed": "谢谢您,您的电子邮件现已确认", + "thank_you_exclamation": "谢谢您!", + "thank_you_for_being_part_of_our_beta_program": "感谢您参与我们的测试版计划,您可以<0>尽早使用新功能并帮助我们更好地了解您的需求", + "thank_you_for_your_feedback": "感谢您的反馈意见!", + "thanks": "谢谢", + "thanks_for_confirming_your_email_address": "感谢您确认邮件地址", + "thanks_for_getting_in_touch": "感谢您联系我们。我们的团队将尽快通过电子邮件回复您。", + "thanks_for_subscribing": "感谢订购!", + "thanks_for_subscribing_you_help_sl": "感谢您订阅 __planName__ 计划。 正是像您这样的人的支持才使得 __appName__ 能够继续成长和改进。", + "thanks_settings_updated": "谢谢,您的设置已更新", + "the_file_supplied_is_of_an_unsupported_type ": "在Overleaf打开此内容的链接指向错误的文件类型。有效的文件类型是.tex文档和.zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_following_files_already_exist_in_this_project": "该项目中已存在以下文件:", + "the_following_files_and_folders_already_exist_in_this_project": "此项目中已存在以下文件和文件夹:", + "the_following_folder_already_exists_in_this_project": "该项目中已存在以下文件夹:", + "the_following_folder_already_exists_in_this_project_plural": "该项目中已存在以下文件夹:", + "the_original_text_has_changed": "原文本已发生改变,因此此建议无法应用", + "the_project_that_contains_this_file_is_not_shared_with_you": "包含此文件的项目未与您共享", + "the_requested_conversion_job_was_not_found": "在Overleaf打开此内容的链接指定了找不到的转换作业。作业可能已过期,需要重新运行。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_requested_publisher_was_not_found": "在Overleaf打开此内容的链接指定了找不到的发布者。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_required_parameters_were_not_supplied": "在Overleaf打开此内容的链接缺少一些必需的参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_supplied_parameters_were_invalid": "在Overleaf打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_supplied_uri_is_invalid": "在Overleaf打开此内容的链接包含无效的URI。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_target_folder_could_not_be_found": "找不到目标文件夹。", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "您在此处选择的宽度基于文档中文本的宽度。 或者,您可以直接在 LaTeX 代码中自定义图像大小。", + "their_projects_will_be_transferred_to_another_user": "他们的项目将全部转移给您选择的另一个用户", + "theme": "主题", + "then_x_price_per_month": "接着每月__price__", + "then_x_price_per_year": "接着每年__price__", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "有很多选项可用于编辑和自定义图形,例如在图形周围环绕文本、旋转图像或在单个图形中包含多个图像。 您需要编辑 LaTeX 代码才能执行此操作。 <0>了解具体方法", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "恢复项目时出现问题。请稍后重试。如果问题仍然存在,请联系我们。", + "there_was_an_error_opening_your_content": "创建项目时出错", + "thesis": "论文", + "they_lose_access_to_account": "他们将立即失去对此 Overleaf 帐户的所有访问权限", + "this_action_cannot_be_reversed": "此操作无法撤消。", + "this_action_cannot_be_undone": "此操作无法撤消。", + "this_address_will_be_shown_on_the_invoice": "该地址将显示在发票上", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "这可能是因为我们尚无法在表格预览中支持表格的某些元素。 或者表格的 LaTeX 代码可能有错误。", + "this_experiment_isnt_accepting_new_participants": "此实验不接受新参与者。", + "this_field_is_required": "此字段必填", + "this_grants_access_to_features_2": "这将授予您访问 <0>__appName__ <0>__featureType__ 功能的权限。", + "this_is_a_labs_experiment": "这是实验性功能", + "this_is_your_template": "这是从你的项目提取的模版", + "this_project_already_has_maximum_editors": "此项目的编辑者人数已达到所有者方案允许的最大数量。这意味着您可以查看但无法编辑该项目。", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "该项目超出了我们免费计划的编译超时限制。", + "this_project_exceeded_editor_limit": "此项目超出了您的方案的编辑者限制。所有协作者现在都只有查看权限。", + "this_project_has_more_than_max_collabs": "此项目的协作者数量超出了项目所有者的 Overleaf 计划允许的最大数量。这意味着您可能会失去 __linkSharingDate__ 的编辑权限。", + "this_project_is_public": "此项目是公共的,可以被任何人通过URL编辑", + "this_project_is_public_read_only": "该项目是公开的,任何人都可以通过该URL查看,但是不能编辑。", + "this_project_will_appear_in_your_dropbox_folder_at": "此项目将显示在您的Dropbox的目录 ", + "this_tool_helps_you_insert_figures": "该工具可帮助您将图片插入项目中,而无需编写 LaTeX 代码。 以下信息详细介绍了该工具中的选项以及如何进一步自定义您的图片。", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "该工具可帮助您将简单的表格插入项目中,而无需编写 LaTeX 代码。 该工具是新工具,因此请<0>向我们提供反馈并留意即将推出的其他功能。", + "this_was_helpful": "很有帮助", + "this_wasnt_helpful": "没有帮助", + "thousands_templates": "数千个模板", + "thousands_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作精美的文档。", + "three_free_collab": "3个免费的合作者", + "timedout": "超时", + "tip": "提示", + "title": "标题", + "to_add_email_accounts_need_to_be_linked_2": "要添加此电子邮件,您的 <0>__appName__ 和 <0>__institutionName__ 帐户需要关联。", + "to_add_more_collaborators": "若要添加更多合作者或打开链接共享,请询问项目所有者", + "to_change_access_permissions": "若要更改访问权限,请询问项目所有者", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "要确认电子邮件地址,您必须使用请求新的辅助电子邮件的 Overleaf 帐户登录。", + "to_confirm_transfer_enter_email_address": "要接受邀请,请输入与您的帐户关联的电子邮件地址。", + "to_confirm_unlink_all_users_enter_email": "要确认您要取消所有用户的链接,请输入您的电子邮件地址:", + "to_fix_this_you_can": "要解决此问题,您可以:", + "to_fix_this_you_can_ask_the_github_repository_owner": "要解决此问题,您可以要求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 续订其 __appName__ 订阅并重新连接项目。", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "要插入或移动标题,请确保 \\begin{tabular} 直接位于table环境中", + "to_keep_edit_access": "要保留编辑权限,请要求项目所有者升级其计划或减少具有编辑权限的人数。", + "to_many_login_requests_2_mins": "您的账户尝试登录次数过多。请等待2分钟后再试", + "to_modify_your_subscription_go_to": "如需修改您的订阅,请到", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>请注意: 要在表格中使用文本换行,请确保在文档序言中包含 <1>array 包:", + "toggle_compile_options_menu": "切换编译选项菜单", + "token": "令牌", + "token_access_failure": "无法授予访问权限;联系项目负责人寻求帮助", + "token_limit_reached": "您已达到 10 个令牌的限制。 要生成新的身份验证令牌,请删除现有的身份验证令牌。", + "token_read_only": "只读令牌", + "token_read_write": "可读写令牌", + "too_many_attempts": "尝试太多。请稍等片刻,然后再试一次。", + "too_many_comments_or_tracked_changes": "太多评论或跟踪更改", + "too_many_comments_or_tracked_changes_detail": "抱歉,此文件有太多评论或跟踪更改。 请尝试接受或拒绝某些现有更改,或解决并删除某些评论。", + "too_many_confirm_code_resend_attempts": "尝试次数过多。请等 1 分钟,然后重试。", + "too_many_confirm_code_verification_attempts": "验证尝试次数过多。 请等待 1 分钟,然后重试。", + "too_many_files_uploaded_throttled_short_period": "上传的文件数量过多,您的上传将被暂停一会儿。请等待15分钟,然后重试。", + "too_many_requests": "短时间内收到的请求太多。请稍等片刻,然后重试。", + "too_many_search_results": "有超过 100 个结果。 请细化您的搜索。", + "too_recently_compiled": "此项目是最近编译的,所以已跳过此编译。", + "took_a_while": "这会花一段时间...", + "toolbar_bullet_list": "无序列表", + "toolbar_choose_section_heading_level": "选择章节标题级别", + "toolbar_decrease_indent": "减少缩进", + "toolbar_format_bold": "粗体格式", + "toolbar_format_italic": "斜体格式", + "toolbar_increase_indent": "增加缩进", + "toolbar_insert_citation": "插入引文", + "toolbar_insert_cross_reference": "插入交叉引用", + "toolbar_insert_display_math": "插入行间数学公式", + "toolbar_insert_figure": "插入图片", + "toolbar_insert_inline_math": "插入行内数学公式", + "toolbar_insert_link": "插入链接", + "toolbar_insert_math": "插入数学公式", + "toolbar_insert_table": "插入表格", + "toolbar_numbered_list": "有序列表", + "toolbar_redo": "重做", + "toolbar_selected_projects": "选择的项目", + "toolbar_selected_projects_management_actions": "选定的项目管理方法", + "toolbar_selected_projects_remove": "删除选定的项目", + "toolbar_selected_projects_restore": "恢复选定的项目", + "toolbar_table_insert_size_table": "插入 __size__ 表格", + "toolbar_table_insert_table_lowercase": "插入表格", + "toolbar_toggle_symbol_palette": "数学符号面板开关", + "toolbar_undo": "撤销", + "tooltip_hide_filetree": "单击以隐藏文件树", + "tooltip_hide_pdf": "单击隐藏PDF", + "tooltip_show_filetree": "单击以显示文件树", + "tooltip_show_pdf": "单击显示PDF", + "top_pick": "首选", + "total": "总计", + "total_per_month": "每月总计", + "total_per_year": "每年合计", + "total_per_year_for_x_users": "__licenseSize__ 个用户每年总计", + "total_per_year_lowercase": "每年合计", + "total_with_subtotal_and_tax": "总计:每年 <0> __total__ (__subtotal__ + __tax__税)", + "total_words": "总字数", + "tr": "土耳其语", + "track_any_change_in_real_time": "实时记录文档的任何修改情况", + "track_changes": "修订", + "track_changes_for_everyone": "跟踪每个人的更改", + "track_changes_for_x": "跟踪 __name__ 的更改", + "track_changes_is_off": "修改追踪功能 关闭", + "track_changes_is_on": "修改追踪功能 开启", + "tracked_change_added": "已添加", + "tracked_change_deleted": "已删除", + "transfer_management_of_your_account": "Overleaf 账户的转移管理", + "transfer_management_of_your_account_to_x": "将您 Overleaf 帐户的管理权转移至 __groupName__", + "transfer_management_resolve_following_issues": "如需转移账户管理权,您需要解决以下问题:", + "transfer_this_users_projects": "转移该用户的项目", + "transfer_this_users_projects_description": "该用户的项目将转移给新所有者。", + "transferring": "正在转移中", + "trash": "回收站", + "trash_projects": "已删除项目", + "trashed": "被删除", + "trashed_projects": "已删除项目", + "trashing_projects_wont_affect_collaborators": "删除项目不会影响你的合作者。", + "trial_last_day": "这是您的 Overleaf Premium 试用期的最后一天", + "trial_remaining_days": "Overleaf Premium 试用期还有 __days__ 天", + "tried_to_log_in_with_email": "您已尝试使用 __email__ 登录。", + "tried_to_register_with_email": "您已尝试使用 __email__ 进行注册,该帐户已在 __appName__ 中注册为机构帐户。", + "troubleshooting_tip": "故障修复提示", + "try_again": "请再试一次", + "try_for_free": "免费试用", + "try_it_for_free": "免费体验", + "try_now": "立刻尝试", + "try_premium_for_free": "免费试用 Premium", + "try_recompile_project_or_troubleshoot": "请尝试从头开始重新编译项目,如果仍然无效,请按照我们的<0>问题排查指南进行操作。", + "try_relinking_provider": "您似乎需要重新链接您的 __provider__ 帐户。", + "try_to_compile_despite_errors": "忽略错误编译", + "turn_off": "关闭", + "turn_off_link_sharing": "关闭通过链接分享功能。", + "turn_on": "打开", + "turn_on_link_sharing": "开启通过链接分享功能。", + "tutorials": "教程", + "two_users": "2 个用户", + "uk": "乌克兰语", + "unable_to_extract_the_supplied_zip_file": "在Overleaf打开此内容失败,因为无法提取zip文件。请确保它是有效的zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "unarchive": "恢复", + "uncategorized": "未分类", + "uncategorized_projects": "未分类的项目", + "unconfirmed": "未确认的", + "undelete": "恢复删除", + "undeleting": "取消删除", + "understanding_labels": "了解标签", + "unfold_line": "展开线", + "unique_identifier_attribute": "唯一标识符属性", + "university": "大学", + "university_school": "大学或学校名称", + "unknown": "未知", + "unlimited": "无限制", + "unlimited_bold": "<0>无限制的", + "unlimited_collaborators_in_each_project": "每个项目无限的合作者数量", + "unlimited_collaborators_per_project": "每个项目的合作者数量不受限制", + "unlimited_collabs": "无限制的合作者数", + "unlimited_collabs_rt": "<0>无限个合作者", + "unlimited_projects": "项目无限制", + "unlimited_projects_info": "默认情况下,您的项目是私有的。这意味着只有你才能查看它们,只有你才能允许其他人访问它们。", + "unlink": "取消关联", + "unlink_all_users": "取消所有用户的链接", + "unlink_all_users_explanation": "您即将删除组中所有用户的 SSO 登录选项。 如果启用 SSO,这将强制用户使用您的 IdP 重新验证其 Overleaf 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_dropbox_folder": "取消 Dropbox 帐户链接", + "unlink_dropbox_warning": "您与 Dropbox 同步的所有项目都将断开连接,并且不再与 Dropbox 保持同步。 您确定要取消 Dropbox 帐户的关联吗?", + "unlink_github_repository": "取消链接 Github 存储库", + "unlink_github_warning": "任何您已经同步到GitHub的项目将被切断联系,并且不再保持与GitHub同步。您确定要取消与您的GitHub账户的关联吗?", + "unlink_linked_accounts": "取消链接任何链接的帐户(例如 ORCID ID、IEEE)。 <0>在“帐户设置”(“关联帐户”下)中将其删除。", + "unlink_linked_google_account": "取消与您的 Google 帐户的关联。 <0>在“帐户设置”(“关联帐户”下)中将其删除。", + "unlink_provider_account_title": "取消链接 __provider__ 帐户", + "unlink_provider_account_warning": "警告:当您取消帐户与 __provider__ 的链接后,您将无法再使用 __provider__ 登录。", + "unlink_reference": "取消关联参考文献提供者", + "unlink_the_project_from_the_current_github_repo": "取消项目与当前 GitHub 存储库的链接,并创建与您拥有的存储库的连接。 (您需要有效的 __appName__ 订阅才能设置 GitHub 同步)。", + "unlink_user": "取消链接用户", + "unlink_user_explanation": "您即将删除 <0>__email__ 的 SSO 登录选项。 这将迫使他们向您的 IdP 重新验证其 Overleaf 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_users": "取消用户链接", + "unlink_warning_reference": "警告:如果将账户与此提供者取消关联,您将无法把参考文献导入到项目中。", + "unlinking": "取消链接", + "unmerge_cells": "取消合并单元格", + "unpublish": "未出版", + "unpublishing": "取消发布", + "unsubscribe": "取消订阅", + "unsubscribed": "订阅被取消", + "unsubscribing": "正在取消订阅", + "untrash": "恢复", + "up_to": "最多", + "update": "更新", + "update_account_info": "更新账户信息", + "update_dropbox_settings": "更新Dropbox设置", + "update_your_billing_details": "更新您的帐单细节", + "updates_to_project_sharing": "项目共享的更新", + "updating": "更新中", + "updating_site": "升级站点", + "upgrade": "升级", + "upgrade_cc_btn": "现在升级,7天后付款", + "upgrade_for_12x_more_compile_time": "升级以获得 12 倍以上的编译时间", + "upgrade_now": "现在升级", + "upgrade_to_add_more_editors": "升级以便添加更多的编辑者到您的项目中", + "upgrade_to_add_more_editors_and_access_collaboration_features": "升级以添加更多编辑器并访问协作功能,如跟踪更改和完整的项目历史记录。", + "upgrade_to_get_feature": "升级以获得__feature__,以及:", + "upgrade_to_track_changes": "升级以记录文档修改历史", + "upload": "上传", + "upload_failed": "上传失败", + "upload_from_computer": "从电脑本地上传", + "upload_project": "上传项目", + "upload_zipped_project": "上传项目的压缩包", + "url_to_fetch_the_file_from": "获取文件的URL", + "usage_metrics": "使用指标", + "usage_metrics_info": "显示有多少用户正在访问许可证、正在创建和处理多少项目以及 Overleaf 中正在进行多少协作的指标。", + "use_a_different_password": "请使用不同的密码", + "use_saml_metadata_to_configure_sso_with_idp": "使用 Overleaf SAML 元数据通过您的身份提供商配置 SSO。", + "use_your_own_machine": "使用你自己的机器,有你自己的设置", + "used_latex_before": "您以前使用过 LaTeX 吗?", + "used_latex_response_never": "没有,从不", + "used_latex_response_occasionally": "是的,偶尔", + "used_latex_response_often": "是的,经常", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "在引用文档其他地方的图时使用", + "user_administration": "用户管理", + "user_already_added": "用户已添加", + "user_deletion_error": "抱歉,删除您的帐户时出错。请稍后再试。", + "user_deletion_password_reset_tip": "如果您忘记了密码,或者您使用其他提供商(例如 ORCID 或 Google)的单点登录进行登录,请<0>重置您的密码并重试。", + "user_first_name_attribute": "用户名字属性", + "user_is_not_part_of_group": "用户不属于团队", + "user_last_name_attribute": "用户姓氏属性", + "user_management": "用户管理", + "user_management_info": "团体计划管理员可以访问管理面板,可以在其中轻松添加和删除用户。 对于站点范围的计划,用户在注册或将其电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时会自动升级。", + "user_metrics": "用户数据指标", + "user_not_found": "找不到用户", + "user_sessions": "用户会话", + "user_wants_you_to_see_project": "__username__ 邀请您加入 __projectname__", + "using_latex": "使用 LaTeX", + "using_premium_features": "使用高级功能", + "using_the_overleaf_editor": "使用 __appName__ 编辑器", + "valid": "有效的", + "valid_sso_configuration": "有效的 SSO 配置", + "validation_issue_entry_description": "阻止此项目编译的验证问题", + "vat": "增值税", + "vat_number": "增值税号", + "verify_email_address_before_enabling_managed_users": "在启用托管用户之前,您需要验证您的电子邮件地址。", + "view_all": "预览所有", + "view_code": "查看代码", + "view_configuration": "查看配置", + "view_group_members": "查看群组成员", + "view_hub": "查看管理中心", + "view_hub_subtext": "访问和下载订阅统计数据和用户列表", + "view_in_template_gallery": "在模板库查看", + "view_invitation": "查看邀请", + "view_labs_experiments": "查看实验性的内容", + "view_less": "查看更少", + "view_logs": "查看日志", + "view_metrics": "查看指标", + "view_metrics_commons_subtext": "监控和下载 Commons 订阅的使用指标", + "view_metrics_group_subtext": "监控和下载团队订阅的使用指标", + "view_more": "查看更多", + "view_only_access": "只读访问", + "view_only_downgraded": "仅可查看。升级可恢复编辑权限。", + "view_options": "查看选项", + "view_pdf": "查看 PDF", + "view_source": "查看源代码", + "view_your_invoices": "查看您的账单", + "viewer": "查看者", + "viewing_x": "正在查看<0>__endTime__", + "visual_editor": "可视化编辑器", + "visual_editor_is_only_available_for_tex_files": "可视化编辑器仅适用于 TeX 文件", + "want_access_to_overleaf_premium_features_through_your_university": "想要通过您的大学访问__appName__高级功能吗?", + "want_change_to_apply_before_plan_end": "如果您希望在当前计费周期结束前应用此更改,请与我们联系。", + "we_are_unable_to_opt_you_into_this_experiment": "目前我们无法让您加入此实验,请确保您的组织已允许此功能,或稍后重试。", + "we_cant_confirm_this_email": "我们无法确认此电子邮件", + "we_cant_find_any_sections_or_subsections_in_this_file": "在此文件中找不到任何 sections 或 subsections", + "we_do_not_share_personal_information": "有关我们如何处理您的个人数据的详细信息,请参阅我们的<0>隐私声明", + "we_logged_you_in": "我们已为您登录。", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>我们也可能联系您 通过电子邮件进行调查,或询问您是否愿意参与其他用户研究计划", + "we_sent_new_code": "我们发送了一个新代码。如果您没有收到,请检查您的垃圾邮件和任何促销邮件等。", + "webinars": "在线教程", + "website_status": "网站状态", + "wed_love_you_to_stay": "我们希望你留下来", + "welcome_to_sl": "欢迎使用 __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "我们正在<0>对项目共享进行一些更改。这意味着,作为具有编辑权限的人,项目所有者和其他编辑者将可以看到您的姓名和电子邮件地址。", + "were_performing_maintenance": "我们正在对Overleaf进行维护,您需要等待片刻。很抱歉给您带来不便。编辑器将在 __seconds__ 秒后自动刷新。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "我们最近<0>降低了免费计划的编译超时限制,这可能会影响这个项目。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "我们最近<0>降低了免费计划的编译时限,这可能会影响这个项目。", + "what_do_you_need": "你需要什么?", + "what_do_you_need_help_with": "你有什么需要帮助的?", + "what_do_you_think_of_the_ai_error_assistant": "您对 AI 错误助手有何看法?", + "what_does_this_mean": "这是什么意思?", + "what_does_this_mean_for_you": "这意味着:", + "what_happens_when_sso_is_enabled": "开启单点登录后会发生什么?", + "what_should_we_call_you": "我们该怎么称呼你?", + "when_you_join_labs": "加入实验室后,您可以选择要参与的实验。完成此操作后,您可以正常使用 Overleaf,但您会看到所有实验室功能都标有此徽章:", + "when_you_tick_the_include_caption_box": "当您勾选“包含标题”框时,图像将带有占位符标题插入到文档中。 要编辑它,您只需选择占位符文本并键入以将其替换为您自己的文本。", + "why_latex": "为何用 LaTeX?", + "wide": "宽松的", + "will_lose_edit_access_on_date": "将于 __date__ 失去编辑权限", + "will_need_to_log_out_from_and_in_with": "您需要从 __email1__ 帐户注销,然后使用 __email2__ 登录。", + "with_premium_subscription_you_also_get": "通过Overleaf Premium订阅,您还可以获得", + "word_count": "字数统计", + "work_offline": "离线工作", + "work_or_university_sso": "工作/高校账户 单点登录", + "work_with_non_overleaf_users": "和非Overleaf用户一起工作", + "would_you_like_to_see_a_university_subscription": "您想在你的大学看到风靡全球各大学的__appName__订阅吗?", + "write_and_collaborate_faster_with_features_like": "借助以下功能更快地写作和协作:", + "writefull": "Writefull", + "writefull_learn_more": "了解更多关于 Writefull for Overleaf", + "writefull_loading_error_body": "尝试刷新页面,如果无效,尝试禁用所有的浏览器拓展,以便检查是否他们阻止了 Writefull 的加载。", + "writefull_loading_error_title": "Writefull 加载失败", + "writefull_settings_description": "使用 Writefull for Overleaf 获得专为研究写作量身定制的基于人工智能的免费语言反馈。 另外,如果您升级到 Writefull Premium,您可以使用 TeXGPT 生成 LaTeX 代码 - 在结账时使用 OVERLEAF10 可获得 10% 的折扣。", + "x_changes_in": "__count__ 处变化在", + "x_changes_in_plural": "__count__ 处变化在", + "x_collaborators_per_project": "每个项目__collaboratorsCount__个协作者", + "x_price_for_first_month": "首月 <0>__price__", + "x_price_for_first_year": "首年 <0>__price__", + "x_price_for_y_months": "您前 __discountMonths__ 个月的费用:<0>__price__", + "x_price_per_user": "__price__ 每个用户", + "x_price_per_year": "每年 <0>__price__", + "year": "年", + "yearly": "每年", + "yes_im_in": "是的,我已经在", + "yes_move_me_to_personal_plan": "好的,前往个人计划", + "yes_that_is_correct": "是正确的", + "you": "你", + "you_already_have_a_subscription": "你已经有一个订阅啦", + "you_and_collaborators_get_access_to": "你与你的项目协作者将会获得", + "you_and_collaborators_get_access_to_info": "这些功能可供您和您的协作者(您邀请加入项目的其他 Overleaf 用户)使用。", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员和<1>成员", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__)管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员和<1>成员。", + "you_are_a_manager_of_commons_at_institution_x": "您是 <0>__institutionName__ 的 Overleaf Commons 订阅的<0>管理者", + "you_are_a_manager_of_publisher_x": "您是 <0>__publisherName__ 的<0>管理者", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__) 管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员。", + "you_are_currently_logged_in_as": "您当前以 __email__ 身份登录。", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "您使用的是 __appName__ 付费计划。 <0>联系支持人员以了解更多信息。", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "您作为 <1>__institutionName__ 的<1>确认成员加入了我们的<0>__planName__计划", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "您作为<1>__groupName__群组订阅的<1>成员加入了我们的<0>__planName__计划,该群组订阅由<1>__adminEmail__管理", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "您还可以选择<0>匿名查看(您将失去编辑权限)或<1>离开项目。", + "you_can_buy_this_plan_but_not_as_a_trial": "您可以购买此计划,但不能试用,因为您最近已经完成试用。", + "you_can_now_enable_sso": "现在,您可以在“组设置”页面上启用SSO。", + "you_can_now_log_in_sso": "您现在可以通过您的机构登录,如果符合条件,您将获得<0>__appName__ 专业功能。", + "you_can_only_add_n_people_to_edit_a_project": "当前计划下您只能添加 __count__ 人与您一起编辑项目。升级可添加更多人。", + "you_can_only_add_n_people_to_edit_a_project_plural": "当前计划下您只能添加 __count__ 个人与您一起编辑项目。升级可添加更多人。", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "您可以随时在此页面上<0>选择加入和退出该计划", + "you_can_request_a_maximum_of_limit_fixes_per_day": "您每天最多可以请求 __limit__ 个修复。请明天再试。", + "you_can_select_or_invite": "您可以在当前计划中选择或邀请__count__位编辑者,或者升级以获得更多编辑者。", + "you_can_select_or_invite_plural": "您可以在当前计划中选择或邀请__count__位编辑者,也可以升级以获得更多编辑者。", + "you_cant_add_or_change_password_due_to_sso": "您无法添加或更改密码,因为您的群组或组织使用<0>单点登录 (SSO)。", + "you_cant_join_this_group_subscription": "您无法加入此团队订阅", + "you_cant_reset_password_due_to_sso": "您无法重置密码,因为您的群组或组织使用 SSO。 <0>使用单点登录登录。", + "you_dont_have_any_repositories": "您没有任何仓库", + "you_get_access_to": "你将获得", + "you_get_access_to_info": "这些功能仅供您(订阅者)使用。", + "you_have_added_x_of_group_size_y": "您已经添加 <0>__addedUsersSize__ / <1>__groupSize__ 个可用成员。", + "you_have_been_invited_to_transfer_management_of_your_account": "您已被邀请转移您帐户的管理权。", + "you_have_been_invited_to_transfer_management_of_your_account_to": "您已被邀请将帐户管理转移到__groupName__。", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "您已从该项目中删除,将不再有权访问该项目。您将被立即重定向到项目面板。", + "you_need_to_configure_your_sso_settings": "在启用SSO之前,您需要配置并测试SSO设置", + "you_plus_1": "你 + 1人", + "you_plus_10": "你 + 10人", + "you_plus_6": "你 + 6人", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "您可以随时联系我们分享您的反馈", + "you_will_be_able_to_reassign_subscription": "您可以将他们的订阅成员资格重新分配给组织中的其他人", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "尽管您仍可使用此工具在<1>代码编辑器中插入表格,但在<0>可视化编辑器中使用此工具将获得最佳结果。 选择所需的行数和列数后,表格将出现在文档中,您可以双击单元格向其中添加内容。", + "youll_need_to_ask_the_github_repository_owner": "您需要请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 重新连接该项目。", + "youll_no_longer_need_to_remember_credentials": "您将不再需要记住单独的电子邮件地址和密码。相反,您将使用单点登录登录到Overleaf。<0>阅读有关SSO的更多信息。", + "your_account_is_managed_by_admin_cant_join_additional_group": "您的__appName__帐户由您当前的组管理员(__admin__)管理。这意味着您不能加入其他组订阅<0>阅读有关托管用户的更多信息", + "your_account_is_managed_by_your_group_admin": "您的帐户由您的群组管理员管理。 您无法更改或删除您的电子邮件地址。", + "your_account_is_suspended": "你的账户暂时无法使用", + "your_affiliation_is_confirmed": "您已确认属于<0>__institutionName__。", + "your_browser_does_not_support_this_feature": "很抱歉,您的浏览器不支持此功能。请将浏览器更新到最新版本。", + "your_compile_timed_out": "您的编译超时", + "your_current_project_will_revert_to_the_version_from_time": "您当前的项目将恢复到时间戳为 __timestamp__ 的版本", + "your_git_access_info": "当进行 Git 操作时,若系统提示您输入密码,请输入您的 Git 身份验证令牌。", + "your_git_access_info_bullet_1": "您最多可以拥有 10 个令牌。", + "your_git_access_info_bullet_2": "如果达到最大限制,您需要先删除令牌,然后才能生成新令牌。", + "your_git_access_info_bullet_3": "您可以使用<0>生成令牌按钮生成令牌。", + "your_git_access_info_bullet_4": "首次查看生成令牌后,您将无法再次查看该令牌的完整内容。请复制并保证其安全", + "your_git_access_info_bullet_5": "此处将显示以前生成的令牌。", + "your_git_access_tokens": "您的 Git 身份验证令牌", + "your_message_to_collaborators": "向您的合作者发送消息", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "项目所有者和其他编辑者将可以看到您的姓名和电子邮件地址。", + "your_new_plan": "你的新计划", + "your_password_has_been_successfully_changed": "您的密码已成功更改", + "your_password_was_detected": "您的密码位于<0>已知泄露密码的公开列表中。 立即更改密码,确保您的帐户安全。", + "your_plan": "您的订购", + "your_plan_is_changing_at_term_end": "在当前计费周期结束时,您的计划将更改为<0>__pendingPlanName__。", + "your_plan_is_limited_to_n_editors": "您的计划允许 __count__ 位合作者拥有编辑权限和无限位查看者。", + "your_plan_is_limited_to_n_editors_plural": "您的计划允许 __count__ 位合作者拥有编辑权限和无限数量的查看者。", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "你的项目超过了我们免费计划的编译时限。", + "your_project_exceeded_editor_limit": "您的项目超出了编辑者限制,访问级别已更改。请为您的协作者选择新的访问级别,或升级以添加更多编辑者。", + "your_project_near_compile_timeout_limit": "对于我们的免费计划,你的项目已经达到编译时限。", + "your_projects": "您的项目", + "your_questions_answered": "您的问题已被解答", + "your_role": "您的角色", + "your_sessions": "我的会话", + "your_subscription": "您的订阅", + "your_subscription_has_expired": "您的订购已过期", + "youre_a_member_of_overleaf_labs": "您是 Overleaf Labs 的成员。别忘了定期查看您可以报名参加哪些实验。", + "youre_about_to_disable_single_sign_on": "您将禁用所有群成员的单点登录。", + "youre_about_to_enable_single_sign_on": "您即将启用单点登录(SSO)。在执行此操作之前,您应该确保您确信SSO配置是正确的,并且您的所有组成员都具有托管用户帐户。", + "youre_about_to_enable_single_sign_on_sso_only": "您即将启用单点登录 (SSO)。 在执行此操作之前,您应该确保 SSO 配置正确。", + "youre_already_setup_for_sso": "您已完成 SSO 设置", + "youre_joining": "您正在加入", + "youre_on_free_trial_which_ends_on": "您正在享受免费试用,试用期将于<0>__date__结束。", + "youre_signed_in_as_logout": "您已使用 <0>__email__ 登录。 <1>退出。", + "youre_signed_up": "您已注册", + "youve_lost_edit_access": "您已失去编辑连接", + "youve_unlinked_all_users": "您已取消所有用户的关联", + "zh-CN": "中文", + "zip_contents_too_large": "压缩包太大", + "zoom_in": "放大", + "zoom_out": "缩小", + "zoom_to": "缩放至", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero 与 <0>Mendeley 集成", + "zotero_cta": "获取 Zotero 集成", + "zotero_groups_loading_error": "从 Zotero 加载群组时出错", + "zotero_groups_relink": "访问您的Zotero数据时出错。这可能是由于缺乏权限造成的。请重新链接您的帐户,然后重试。", + "zotero_integration": "Zotero 集成", + "zotero_integration_lowercase": "Zotero集成", + "zotero_integration_lowercase_info": "在Zotero中管理您的参考库,并将其直接链接到Overleaf中的.bib文件,这样您就可以轻松引用库中的任何内容。", + "zotero_is_premium": "Zotero 集成是一个高级(付费)功能", + "zotero_reference_loading_error": "错误,无法加载Zotero的参考文献", + "zotero_reference_loading_error_expired": "Zotero令牌过期,请重新关联您的账户", + "zotero_reference_loading_error_forbidden": "无法加载Zotero的参考文献,请重新关联您的账户后重试", + "zotero_sync_description": "集成 Zotero 后,您可以将 Zotero 的参考文献导入__appName__项目。" +} diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js new file mode 100644 index 0000000..72fb172 --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js @@ -0,0 +1,1376 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, adminUserExists, authMethod, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + pug_mixins["launchpad-check"] = pug_interp = function(section){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (pug.attr("data-ol-launchpad-check", section, true, true)) + "\u003E\u003Cspan data-ol-inflight=\"pending\"\u003E\u003Ci class=\"fa fa-fw fa-spinner fa-spin\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('checking')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"idle\"\u003E\u003Cdiv data-ol-result=\"success\"\u003E\u003Ci class=\"fa fa-check\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('ok')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton class=\"btn btn-inline-link\"\u003E\u003Cspan class=\"text-danger\"\u003E " + (pug.escape(null == (pug_interp = translate('retry')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-result=\"error\"\u003E\u003Ci class=\"fa fa-exclamation\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('error')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton class=\"btn btn-inline-link\"\u003E\u003Cspan class=\"text-danger\"\u003E " + (pug.escape(null == (pug_interp = translate('retry')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"alert alert-danger\"\u003E\u003Cspan data-ol-error\u003E\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'modules/launchpad/pages/launchpad' +metadata = metadata || {} +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-adminUserExists\" data-type=\"boolean\""+pug.attr("content", adminUserExists, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ideJsPath\""+pug.attr("content", buildJsPath('ide.js'), true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", (wsUrl || '/socket.io') + '/socket.io.js', true, true)) + "\u003E\u003C\u002Fscript\u003E\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card launchpad-body\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate('welcome_to_sl')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/ol-brand/overleaf-o.svg'), true, true)) + "\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- wrapper --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003C!-- create first admin form --\u003E"; +if (!adminUserExists) { +pug_html = pug_html + "\u003Cdiv class=\"row\" data-ol-not-sent\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('create_first_admin_account')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C!-- Local Auth Form--\u003E"; +if (authMethod === 'local') { +pug_html = pug_html + "\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"password\"\u003E" + (pug.escape(null == (pug_interp = translate("password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" id=\"passwordField\" type=\"password\" name=\"password\" placeholder=\"********\" autocomplete=\"new-password\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C!-- Ldap Form--\u003E"; +if (authMethod === 'ldap') { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('ldap')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('ldap_create_admin_instructions')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_ldap_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C!-- Saml Form--\u003E"; +if (authMethod === 'saml') { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('saml')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('saml_create_admin_instructions')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_saml_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cbr\u003E"; +} +pug_html = pug_html + "\u003C!-- status indicators --\u003E"; +if (adminUserExists) { +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 status-indicators\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('status_checks')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C!-- websocket --\u003E\u003Cdiv class=\"row row-spaced-small\"\u003E\u003Cdiv class=\"col-sm-5\"\u003E" + (pug.escape(null == (pug_interp = translate('websockets')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-7\"\u003E"; +pug_mixins["launchpad-check"]('websocket'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- break --\u003E\u003Chr class=\"thin\"\u003E\u003C!-- other actions --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('other_actions')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('send_test_email')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cform class=\"form\" data-ol-async-form action=\"\u002Flaunchpad\u002Fsend_test_email\" method=\"POST\"\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003EEmail\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" id=\"email\" name=\"email\" required\u003E\u003C\u002Fdiv\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("send")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("sending")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cp\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- break --\u003E\u003Chr class=\"thin\"\u003E\u003C!-- Go to app --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbr\u003E\u003Cp\u003E\u003Ca class=\"btn btn-info\" href=\"\u002Fadmin\"\u003EGo To Admin Panel\u003C\u002Fa\u003E \u003Ca class=\"btn btn-primary\" href=\"\u002Fproject\"\u003EStart Using " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cbr\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "adminUserExists" in locals_for_with ? + locals_for_with.adminUserExists : + typeof adminUserExists !== 'undefined' ? adminUserExists : undefined, "authMethod" in locals_for_with ? + locals_for_with.authMethod : + typeof authMethod !== 'undefined' ? authMethod : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js new file mode 100644 index 0000000..9ece4bf --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js @@ -0,0 +1,1351 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"alert alert-success\"\u003E" + (pug.escape(null == (pug_interp = translate("nearly_activated")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("please_set_a_password")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form name=\"activationForm\" action=\"\u002Fuser\u002Fpassword\u002Fset\" method=\"POST\"\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("activation_token_expired")) ? "" : pug_interp)); +} +}, 'token-expired', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password')) ? "" : pug_interp)); +} +}, 'invalid-password', 'danger'); +pug_html = pug_html + "\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"passwordResetToken\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" aria-label=\"email\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\""+pug.attr("value", email, true, true)+pug.attr("required", true, true, true)+pug.attr("disabled", true, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"password\"\u003E" + (pug.escape(null == (pug_interp = translate("password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"passwordField\" type=\"password\" name=\"password\" placeholder=\"********\" autocomplete=\"new-password\""+pug.attr("autofocus", true, true, true)+pug.attr("required", true, true, true)+pug.attr("minlength", settings.passwordStrengthOptions.length.min, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('activate'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('activate')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('activating')) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js new file mode 100644 index 0000000..db8d6ed --- /dev/null +++ b/docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'modules/user-activate/pages/user-activate-page' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv id=\"user-activate-register-container\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/_prep/000_default.sh b/docker/features/_prep/000_default.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/_prep/END_default.sh b/docker/features/_prep/END_default.sh new file mode 100644 index 0000000..0ffdc8a --- /dev/null +++ b/docker/features/_prep/END_default.sh @@ -0,0 +1,3 @@ +cd /overleaf +npm install retry-request@4.2.2 teeny-request@7.1.3 thread-loader@4.0.2 +node genScript compile | bash diff --git a/docker/features/_tools/configure_features.py b/docker/features/_tools/configure_features.py new file mode 100644 index 0000000..dfcb32a --- /dev/null +++ b/docker/features/_tools/configure_features.py @@ -0,0 +1,62 @@ +# apt -y install python3-pip python3-strictyaml +import glob +import strictyaml as yaml # type: ignore +from collections import Counter +import os + + +# import diff_match_patch as dmp_module + +docker_dir: str = "/docker/compose/overleafserver" + +with open("compose_base.yaml", "r") as file: + lines = file.read() +yaml_base = yaml.load(lines).data +yaml_base["services"]["overleafserver"]["volumes"] = [] + +filenames: list[str] = sorted(list(glob.glob("_intern/*.yaml"))) + +volume_collection: list[str] = [] +volume_collection_target: list[str] = [] +setting_files: list[str] = [] + +for filename in filenames: + + with open(filename, "r") as file: + lines = file.read() + + for entry in yaml.load(lines).data["volumes"]: + volume_collection.append(entry) + volume_collection_target.append(entry.split(":")[-1]) + +# Check for duplicates +duplicates = [ + item for item, count in Counter(volume_collection_target).items() if count > 1 +] + +with open("/docker/version", "r") as file: + version: str = file.readline().lstrip().rstrip() + + +# Filter out all the duplicates +volume_collection_unique: list[str] = [] +for entry in volume_collection: + if (((entry.split(":")[-1] in duplicates)) is False) or entry.split(":")[ + 0 + ].startswith("/docker/features/_patched") is True: + volume_collection_unique.append(entry) + else: + print(f"Removed: {entry}") + +# Manuel overwrite +with open("manuel_overwrite/_intern/files.yaml", "r") as file: + lines = file.read() + +for entry in yaml.load(lines).data["volumes"]: + volume_collection_unique.append(entry) + +# Make new yaml file + +yaml_base["services"]["overleafserver"]["volumes"] = volume_collection_unique +with open(os.path.join(docker_dir, "compose.yaml"), "w") as file: + file.write(yaml.as_document(yaml_base).as_yaml()) diff --git a/docker/features/_tools/configure_features.sh b/docker/features/_tools/configure_features.sh new file mode 100644 index 0000000..40bd854 --- /dev/null +++ b/docker/features/_tools/configure_features.sh @@ -0,0 +1 @@ +python3 _tools/configure_features.py diff --git a/docker/features/_tools/generate_prep.sh b/docker/features/_tools/generate_prep.sh new file mode 100644 index 0000000..6cb2f6d --- /dev/null +++ b/docker/features/_tools/generate_prep.sh @@ -0,0 +1,8 @@ +#!/bin/bash +docker_path="/docker/compose/overleafserver/data/" +mkdir -p ${docker_path} +rm ${docker_path}/prep.sh +for file in $(ls -v _prep/*.sh | grep -v "^_prep/END_default.sh"); do + cat "${file}" >> ${docker_path}/prep.sh +done +cat _prep/END_default.sh >> ${docker_path}/prep.sh \ No newline at end of file diff --git a/docker/features/compose_base.yaml b/docker/features/compose_base.yaml new file mode 100644 index 0000000..e523a77 --- /dev/null +++ b/docker/features/compose_base.yaml @@ -0,0 +1,62 @@ +services: + overleafserver: + image: sharelatex/sharelatex:5.2.1 + container_name: overleafserver + hostname: overleafserver + restart: always + volumes: + expose: + - 80 + environment: + GIT_BRIDGE_ENABLED: false + GIT_BRIDGE_HOST: git-bridge + GIT_BRIDGE_PORT: 8000 + REDIS_HOST: overleafredis + REDIS_PORT: 6379 + OVERLEAF_REDIS_HOST: overleafredis + V1_HISTORY_URL: http://127.0.0.1:3100/api + OVERLEAF_MONGO_URL: mongodb://overleafmongo/sharelatex + OVERLEAF_APP_NAME: ${OVERLEAF_APP_NAME} + ENABLED_LINKED_FILE_TYPES: project_file,project_output_file + ENABLE_CONVERSIONS: true + EMAIL_CONFIRMATION_DISABLED: false + OVERLEAF_BEHIND_PROXY: true + OVERLEAF_SECURE_COOKIE: true + OVERLEAF_SITE_URL: ${OVERLEAF_SITE_URL} + OVERLEAF_NAV_TITLE: ${OVERLEAF_NAV_TITLE} + OVERLEAF_ADMIN_EMAIL: ${OVERLEAF_ADMIN_EMAIL} + OVERLEAF_EMAIL_FROM_ADDRESS: ${OVERLEAF_EMAIL_FROM_ADDRESS} + OVERLEAF_EMAIL_SMTP_HOST: ${OVERLEAF_EMAIL_SMTP_HOST} + OVERLEAF_EMAIL_SMTP_PORT: ${OVERLEAF_EMAIL_SMTP_PORT} + OVERLEAF_EMAIL_SMTP_SECURE: ${OVERLEAF_EMAIL_SMTP_SECURE} + OVERLEAF_EMAIL_SMTP_USER: ${OVERLEAF_EMAIL_SMTP_USER} + OVERLEAF_EMAIL_SMTP_PASS: ${OVERLEAF_EMAIL_PASSWORD} + OVERLEAF_EMAIL_SMTP_LOGGER: true + OVERLEAF_CUSTOM_EMAIL_FOOTER: ${OVERLEAF_CUSTOM_EMAIL_FOOTER} + OIDC_ENABLE: ${OIDC_ENABLE} + OIDC_NAME_SHORT: ${OIDC_NAME_SHORT} + OIDC_NAME_LONG: ${OIDC_NAME_LONG} + OIDC_ISSUER: ${OIDC_ISSUER} + OIDC_AUTHORIZATION_URL: ${OIDC_AUTHORIZATION_URL} + OIDC_TOKEN_URL: ${OIDC_TOKEN_URL} + OIDC_USERINFO_URL: ${OIDC_USERINFO_URL} + OIDC_CALLBACK_URL: ${OIDC_CALLBACK_URL} + OIDC_CLIENT_ID: ${OIDC_CLIENT_ID} + OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET} + DOCKER_RUNNER: true + TEXLIVE_IMAGE_USER: www-data + COMPILES_HOST_DIR: /docker/compose/overleafserver/data/data/compiles + SANDBOXED_COMPILES: true + SANDBOXED_COMPILES_SIBLING_CONTAINERS: true + SANDBOXED_COMPILES_HOST_DIR: /docker/compose/overleafserver/data/data/compiles + TEXLIVE_IMAGE: texlive/texlive:latest-full + SYNCTEX_BIN_HOST_PATH: /docker/compose/overleafserver/data/bin/synctex + entrypoint: | + /bin/sh -c "cd /var/lib/overleaf && touch prep.sh && sh prep.sh && cd / && /sbin/my_init" + networks: + - overleaf-network +volumes: + overleaf_data: +networks: + overleaf-network: + external: true diff --git a/docker/features/disable-community-survey/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js b/docker/features/disable-community-survey/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js new file mode 100644 index 0000000..43b889d --- /dev/null +++ b/docker/features/disable-community-survey/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js @@ -0,0 +1,759 @@ +// ts-check +const _ = require('lodash') +const Metrics = require('@overleaf/metrics') +const Settings = require('@overleaf/settings') +const ProjectHelper = require('./ProjectHelper') +const ProjectGetter = require('./ProjectGetter') +const PrivilegeLevels = require('../Authorization/PrivilegeLevels') +const SessionManager = require('../Authentication/SessionManager') +const Sources = require('../Authorization/Sources') +const UserGetter = require('../User/UserGetter') +const SurveyHandler = require('../Survey/SurveyHandler') +const TagsHandler = require('../Tags/TagsHandler') +const { expressify } = require('@overleaf/promise-utils') +const logger = require('@overleaf/logger') +const Features = require('../../infrastructure/Features') +const SubscriptionViewModelBuilder = require('../Subscription/SubscriptionViewModelBuilder') +const NotificationsHandler = require('../Notifications/NotificationsHandler') +const Modules = require('../../infrastructure/Modules') +const { OError, V1ConnectionError } = require('../Errors/Errors') +const { User } = require('../../models/User') +const UserPrimaryEmailCheckHandler = require('../User/UserPrimaryEmailCheckHandler') +const UserController = require('../User/UserController') +const LimitationsManager = require('../Subscription/LimitationsManager') +const NotificationsBuilder = require('../Notifications/NotificationsBuilder') +const GeoIpLookup = require('../../infrastructure/GeoIpLookup') +const SplitTestHandler = require('../SplitTests/SplitTestHandler') +const SplitTestSessionHandler = require('../SplitTests/SplitTestSessionHandler') +const SubscriptionLocator = require('../Subscription/SubscriptionLocator') +const TutorialHandler = require('../Tutorial/TutorialHandler') + +/** + * @import { GetProjectsRequest, GetProjectsResponse, AllUsersProjects, MongoProject } from "./types" + * @import { ProjectApi, Filters, Page, Sort } from "../../../../types/project/dashboard/api" + * @import { Tag } from "../Tags/types" + */ + +const _ssoAvailable = (affiliation, session, linkedInstitutionIds) => { + if (!affiliation.institution) return false + + // institution.confirmed is for the domain being confirmed, not the email + // Do not show SSO UI for unconfirmed domains + if (!affiliation.institution.confirmed) return false + + // Could have multiple emails at the same institution, and if any are + // linked to the institution then do not show notification for others + if ( + linkedInstitutionIds.indexOf(affiliation.institution.id.toString()) === -1 + ) { + if (affiliation.institution.ssoEnabled) return true + if (affiliation.institution.ssoBeta && session.samlBeta) return true + return false + } + return false +} + +const _buildPortalTemplatesList = affiliations => { + if (affiliations == null) { + affiliations = [] + } + + const portalTemplates = [] + const uniqueAffiliations = _.uniqBy(affiliations, 'institution.id') + for (const aff of uniqueAffiliations) { + const hasSlug = aff.portal?.slug + const hasTemplates = aff.portal?.templates_count > 0 + + if (hasSlug && hasTemplates) { + const portalPath = aff.institution.isUniversity ? '/edu/' : '/org/' + const portalTemplateURL = Settings.siteUrl + portalPath + aff.portal?.slug + + portalTemplates.push({ + name: aff.institution.name, + url: portalTemplateURL, + }) + } + } + return portalTemplates +} + +function cleanupSession(req) { + // cleanup redirects at the end of the redirect chain + delete req.session.postCheckoutRedirect + delete req.session.postLoginRedirect + delete req.session.postOnboardingRedirect + + // cleanup details from register page + delete req.session.sharedProjectData + delete req.session.templateData +} + +/** + * @param {import("express").Request} req + * @param {import("express").Response} res + * @param {import("express").NextFunction} next + * @returns {Promise} + */ +async function projectListPage(req, res, next) { + cleanupSession(req) + + // can have two values: + // - undefined - when there's no "saas" feature or couldn't get subscription data + // - object - the subscription data object + let usersBestSubscription + let survey + let userIsMemberOfGroupSubscription = false + let groupSubscriptionsPendingEnrollment = [] + + const isSaas = Features.hasFeature('saas') + + const userId = SessionManager.getLoggedInUserId(req.session) + const projectsBlobPending = _getProjects(userId).catch(err => { + logger.err({ err, userId }, 'projects listing in background failed') + return undefined + }) + const user = await User.findById( + userId, + `email emails features alphaProgram betaProgram lastPrimaryEmailCheck labsProgram signUpDate${ + isSaas ? ' enrollment writefull completedTutorials' : '' + }` + ) + + // Handle case of deleted user + if (user == null) { + UserController.logout(req, res, next) + return + } + + if (isSaas) { + await SplitTestSessionHandler.promises.sessionMaintenance(req, user) + + try { + usersBestSubscription = + await SubscriptionViewModelBuilder.promises.getBestSubscription({ + _id: userId, + }) + } catch (error) { + logger.err( + { err: error, userId }, + "Failed to get user's best subscription" + ) + } + try { + const { isMember, subscriptions } = + await LimitationsManager.promises.userIsMemberOfGroupSubscription(user) + + userIsMemberOfGroupSubscription = isMember + + // TODO use helper function + if (!user.enrollment?.managedBy) { + groupSubscriptionsPendingEnrollment = subscriptions.filter( + subscription => subscription.groupPlan && subscription.groupPolicy + ) + } + } catch (error) { + logger.error( + { err: error }, + 'Failed to check whether user is a member of group subscription' + ) + } + + try { + survey = await SurveyHandler.promises.getSurvey(userId) + } catch (error) { + logger.err({ err: error, userId }, 'Failed to load the active survey') + } + + if (user && UserPrimaryEmailCheckHandler.requiresPrimaryEmailCheck(user)) { + return res.redirect('/user/emails/primary-email-check') + } + } + + const tags = await TagsHandler.promises.getAllTags(userId) + + let userEmailsData = { list: [], allInReconfirmNotificationPeriods: [] } + + try { + const fullEmails = await UserGetter.promises.getUserFullEmails(userId) + + if (!Features.hasFeature('affiliations')) { + userEmailsData.list = fullEmails + } else { + try { + const results = await Modules.promises.hooks.fire( + 'allInReconfirmNotificationPeriodsForUser', + fullEmails + ) + + const allInReconfirmNotificationPeriods = (results && results[0]) || [] + + userEmailsData = { + list: fullEmails, + allInReconfirmNotificationPeriods, + } + } catch (error) { + userEmailsData = error + } + } + } catch (error) { + if (!(error instanceof V1ConnectionError)) { + logger.error({ err: error, userId }, 'Failed to get user full emails') + } + } + + const userEmails = userEmailsData.list || [] + + const userAffiliations = userEmails + .filter(emailData => !!emailData.affiliation) + .map(emailData => { + const result = emailData.affiliation + result.email = emailData.email + return result + }) + + const portalTemplates = _buildPortalTemplatesList(userAffiliations) + + const { allInReconfirmNotificationPeriods } = userEmailsData + + const notifications = + await NotificationsHandler.promises.getUserNotifications(userId) + + for (const notification of notifications) { + notification.html = req.i18n.translate( + notification.templateKey, + notification.messageOpts + ) + } + + const notificationsInstitution = [] + // Institution and group SSO Notifications + let groupSsoSetupSuccess + let reconfirmedViaSAML + if (Features.hasFeature('saml')) { + reconfirmedViaSAML = _.get(req.session, ['saml', 'reconfirmed']) + const samlSession = req.session.saml + // Notification: SSO Available + const linkedInstitutionIds = [] + userEmails.forEach(email => { + if (email.samlProviderId) { + linkedInstitutionIds.push(email.samlProviderId) + } + }) + if (Array.isArray(userAffiliations)) { + userAffiliations.forEach(affiliation => { + if (_ssoAvailable(affiliation, req.session, linkedInstitutionIds)) { + notificationsInstitution.push({ + email: affiliation.email, + institutionId: affiliation.institution.id, + institutionName: affiliation.institution.name, + templateKey: 'notification_institution_sso_available', + }) + } + }) + } + + if (samlSession) { + // Notification institution SSO: After SSO Linked + if (samlSession.linked) { + notificationsInstitution.push({ + email: samlSession.institutionEmail, + institutionName: + samlSession.linked.universityName || + samlSession.linked.providerName, + templateKey: 'notification_institution_sso_linked', + }) + } + + // Notification group SSO: After SSO Linked + if (samlSession.linkedGroup) { + groupSsoSetupSuccess = true + } + + // Notification institution SSO: After SSO Linked or Logging in + // The requested email does not match primary email returned from + // the institution + if ( + samlSession.requestedEmail && + samlSession.emailNonCanonical && + !samlSession.error + ) { + notificationsInstitution.push({ + institutionEmail: samlSession.emailNonCanonical, + requestedEmail: samlSession.requestedEmail, + templateKey: 'notification_institution_sso_non_canonical', + }) + } + + // Notification institution SSO: Tried to register, but account already existed + // registerIntercept is set before the institution callback. + // institutionEmail is set after institution callback. + // Check for both in case SSO flow was abandoned + if ( + samlSession.registerIntercept && + samlSession.institutionEmail && + !samlSession.error + ) { + notificationsInstitution.push({ + email: samlSession.institutionEmail, + templateKey: 'notification_institution_sso_already_registered', + }) + } + + // Notification: When there is a session error + if (samlSession.error) { + notificationsInstitution.push({ + templateKey: 'notification_institution_sso_error', + error: samlSession.error, + }) + } + } + delete req.session.saml + } + + function fakeDelay() { + return new Promise(resolve => { + setTimeout(() => resolve(undefined), 0) + }) + } + + const prefetchedProjectsBlob = await Promise.race([ + projectsBlobPending, + fakeDelay(), + ]) + Metrics.inc('project-list-prefetch-projects', 1, { + status: prefetchedProjectsBlob ? 'success' : 'too-slow', + }) + + // in v2 add notifications for matching university IPs + if (Settings.overleaf != null && req.ip !== user.lastLoginIp) { + try { + await NotificationsBuilder.promises + .ipMatcherAffiliation(user._id) + .create(req.ip) + } catch (err) { + logger.error( + { err }, + 'failed to create institutional IP match notification' + ) + } + } + + const hasPaidAffiliation = userAffiliations.some( + affiliation => affiliation.licence && affiliation.licence !== 'free' + ) + + const inactiveTutorials = TutorialHandler.getInactiveTutorials(user) + + const usGovBannerHooksResponse = await Modules.promises.hooks.fire( + 'getUSGovBanner', + userEmails, + hasPaidAffiliation, + inactiveTutorials.includes('us-gov-banner') + ) + + const usGovBanner = (usGovBannerHooksResponse && + usGovBannerHooksResponse[0]) || { + showUSGovBanner: false, + usGovBannerVariant: null, + } + + const { showUSGovBanner, usGovBannerVariant } = usGovBanner + + const showGroupsAndEnterpriseBanner = + Features.hasFeature('saas') && + !showUSGovBanner && + !userIsMemberOfGroupSubscription && + !hasPaidAffiliation + + const groupsAndEnterpriseBannerVariant = + showGroupsAndEnterpriseBanner && + _.sample(['on-premise', 'FOMO', 'FOMO', 'FOMO']) + + let showWritefullPromoBanner = false + if (Features.hasFeature('saas') && !req.session.justRegistered) { + try { + const { variant } = await SplitTestHandler.promises.getAssignment( + req, + res, + 'writefull-promo-banner' + ) + showWritefullPromoBanner = variant === 'enabled' + } catch (error) { + logger.warn( + { err: error }, + 'failed to get "writefull-promo-banner" split test assignment' + ) + } + } + + let showInrGeoBanner = false + let showBrlGeoBanner = false + let showLATAMBanner = false + let recommendedCurrency + + if (usersBestSubscription?.type === 'free') { + const latamGeoPricingAssignment = + await SplitTestHandler.promises.getAssignment( + req, + res, + 'geo-pricing-latam-v2' + ) + + const { countryCode, currencyCode } = + await GeoIpLookup.promises.getCurrencyCode(req.ip) + + if (countryCode === 'IN') { + showInrGeoBanner = true + } + showBrlGeoBanner = countryCode === 'BR' + + showLATAMBanner = + latamGeoPricingAssignment.variant === 'latam' && + ['MX', 'CO', 'CL', 'PE'].includes(countryCode) + // LATAM Banner needs to know which currency to display + if (showLATAMBanner) { + recommendedCurrency = currencyCode + } + } + + let hasIndividualRecurlySubscription = false + + try { + const individualSubscription = + await SubscriptionLocator.promises.getUsersSubscription(userId) + + hasIndividualRecurlySubscription = + individualSubscription?.groupPlan === false && + individualSubscription?.recurlyStatus?.state !== 'canceled' && + individualSubscription?.recurlySubscription_id !== '' + } catch (error) { + logger.error({ err: error }, 'Failed to get individual subscription') + } + + try { + await SplitTestHandler.promises.getAssignment(req, res, 'paywall-cta') + } catch (error) { + logger.error( + { err: error }, + 'failed to get "paywall-cta" split test assignment' + ) + } + + // Get the user's assignment for this page's Bootstrap 5 split test, which + // populates splitTestVariants with a value for the split test name and allows + // Pug to read it + await SplitTestHandler.promises.getAssignment( + req, + res, + 'bootstrap-5-project-dashboard' + ) + + res.render('project/list-react', { + title: 'your_projects', + usersBestSubscription, + notifications, + notificationsInstitution, + user, + userAffiliations, + userEmails, + reconfirmedViaSAML, + allInReconfirmNotificationPeriods, + survey, + tags, + portalTemplates, + prefetchedProjectsBlob, + showGroupsAndEnterpriseBanner, + groupsAndEnterpriseBannerVariant, + showUSGovBanner, + usGovBannerVariant, + showWritefullPromoBanner, + showLATAMBanner, + recommendedCurrency, + showInrGeoBanner, + showBrlGeoBanner, + projectDashboardReact: true, // used in navbar + groupSsoSetupSuccess, + groupSubscriptionsPendingEnrollment: + groupSubscriptionsPendingEnrollment.map(subscription => ({ + groupId: subscription._id, + groupName: subscription.teamName, + })), + hasIndividualRecurlySubscription, + userRestrictions: Array.from(req.userRestrictions || []), + }) +} + +/** + * Load user's projects with pagination, sorting and filters + * + * @param {GetProjectsRequest} req the request + * @param {GetProjectsResponse} res the response + * @returns {Promise} + */ +async function getProjectsJson(req, res) { + const { filters, page, sort } = req.body + const userId = SessionManager.getLoggedInUserId(req.session) + const projectsPage = await _getProjects(userId, filters, sort, page) + res.json(projectsPage) +} + +/** + * @param {string} userId + * @param {Filters} filters + * @param {Sort} sort + * @param {Page} page + * @returns {Promise<{totalSize: number, projects: ProjectApi[]}>} + * @private + */ +async function _getProjects( + userId, + filters = {}, + sort = { by: 'lastUpdated', order: 'desc' }, + page = { size: 20 } +) { + const [ + /** @type {AllUsersProjects} **/ allProjects, + /** @type {Tag[]} **/ tags, + ] = await Promise.all([ + ProjectGetter.promises.findAllUsersProjects( + userId, + 'name lastUpdated lastUpdatedBy publicAccesLevel archived trashed owner_ref tokens' + ), + TagsHandler.promises.getAllTags(userId), + ]) + const formattedProjects = _formatProjects(allProjects, userId) + const filteredProjects = _applyFilters( + formattedProjects, + tags, + filters, + userId + ) + const pagedProjects = _sortAndPaginate(filteredProjects, sort, page) + + await _injectProjectUsers(pagedProjects) + + return { + totalSize: filteredProjects.length, + projects: pagedProjects, + } +} + +/** + * @param {AllUsersProjects} projects + * @param {string} userId + * @returns {Project[]} + * @private + */ +function _formatProjects(projects, userId) { + const { owned, readAndWrite, readOnly, tokenReadAndWrite, tokenReadOnly } = + projects + + const formattedProjects = /** @type {Project[]} **/ [] + for (const project of owned) { + formattedProjects.push( + _formatProjectInfo(project, 'owner', Sources.OWNER, userId) + ) + } + // Invite-access + for (const project of readAndWrite) { + formattedProjects.push( + _formatProjectInfo(project, 'readWrite', Sources.INVITE, userId) + ) + } + for (const project of readOnly) { + formattedProjects.push( + _formatProjectInfo(project, 'readOnly', Sources.INVITE, userId) + ) + } + // Token-access + // Only add these formattedProjects if they're not already present, this gives us cascading access + // from 'owner' => 'token-read-only' + for (const project of tokenReadAndWrite) { + if (!formattedProjects.some(p => p.id === project._id.toString())) { + formattedProjects.push( + _formatProjectInfo(project, 'readAndWrite', Sources.TOKEN, userId) + ) + } + } + for (const project of tokenReadOnly) { + if (!formattedProjects.some(p => p.id === project._id.toString())) { + formattedProjects.push( + _formatProjectInfo(project, 'readOnly', Sources.TOKEN, userId) + ) + } + } + + return formattedProjects +} + +/** + * @param {Project[]} projects + * @param {Tag[]} tags + * @param {Filters} filters + * @param {string} userId + * @returns {Project[]} + * @private + */ +function _applyFilters(projects, tags, filters, userId) { + if (!_hasActiveFilter(filters)) { + return projects + } + return projects.filter(project => _matchesFilters(project, tags, filters)) +} + +/** + * @param {Project[]} projects + * @param {Sort} sort + * @param {Page} page + * @returns {Project[]} + * @private + */ +function _sortAndPaginate(projects, sort, page) { + if ( + (sort.by && !['lastUpdated', 'title', 'owner'].includes(sort.by)) || + (sort.order && !['asc', 'desc'].includes(sort.order)) + ) { + throw new OError('Invalid sorting criteria', { sort }) + } + const sortedProjects = _.orderBy( + projects, + [sort.by || 'lastUpdated'], + [sort.order || 'desc'] + ) + // TODO handle pagination + return sortedProjects +} + +/** + * @param {MongoProject} project + * @param {string} accessLevel + * @param {'owner' | 'invite' | 'token'} source + * @param {string} userId + * @returns {object} + * @private + */ +function _formatProjectInfo(project, accessLevel, source, userId) { + const archived = ProjectHelper.isArchived(project, userId) + // If a project is simultaneously trashed and archived, we will consider it archived but not trashed. + const trashed = ProjectHelper.isTrashed(project, userId) && !archived + + const model = { + id: project._id.toString(), + name: project.name, + owner_ref: project.owner_ref, + lastUpdated: project.lastUpdated, + lastUpdatedBy: project.lastUpdatedBy, + accessLevel, + source, + archived, + trashed, + } + if (accessLevel === PrivilegeLevels.READ_ONLY && source === Sources.TOKEN) { + model.owner_ref = null + model.lastUpdatedBy = null + } + return model +} + +/** + * @param {Project[]} projects + * @returns {Promise} + * @private + */ +async function _injectProjectUsers(projects) { + const userIds = new Set() + for (const project of projects) { + if (project.owner_ref != null) { + userIds.add(project.owner_ref.toString()) + } + if (project.lastUpdatedBy != null) { + userIds.add(project.lastUpdatedBy.toString()) + } + } + + const projection = { + first_name: 1, + last_name: 1, + email: 1, + } + const users = {} + for (const user of await UserGetter.promises.getUsers(userIds, projection)) { + const userId = user._id.toString() + users[userId] = { + id: userId, + email: user.email, + firstName: user.first_name, + lastName: user.last_name, + } + } + for (const project of projects) { + if (project.owner_ref != null) { + project.owner = users[project.owner_ref.toString()] + } + if (project.lastUpdatedBy != null) { + project.lastUpdatedBy = users[project.lastUpdatedBy.toString()] || null + } + + delete project.owner_ref + } +} + +/** + * @param {any} project + * @param {Tag[]} tags + * @param {Filters} filters + * @private + */ +function _matchesFilters(project, tags, filters) { + if (filters.ownedByUser && project.accessLevel !== 'owner') { + return false + } + if (filters.sharedWithUser && project.accessLevel === 'owner') { + return false + } + if (filters.archived && !project.archived) { + return false + } + if (filters.trashed && !project.trashed) { + return false + } + if ( + filters.tag && + !_.find( + tags, + tag => + filters.tag === tag.name && (tag.project_ids || []).includes(project.id) + ) + ) { + return false + } + if ( + filters.search?.length && + project.name.toLowerCase().indexOf(filters.search.toLowerCase()) === -1 + ) { + return false + } + return true +} + +/** + * @param {Filters} filters + * @returns {boolean} + * @private + */ +function _hasActiveFilter(filters) { + return ( + filters.ownedByUser || + filters.sharedWithUser || + filters.archived || + filters.trashed || + filters.tag === null || + filters.tag?.length || + filters.search?.length + ) +} + +module.exports = { + projectListPage: expressify(projectListPage), + getProjectsJson: expressify(getProjectsJson), +} diff --git a/docker/features/disable-community-survey/README.md b/docker/features/disable-community-survey/README.md new file mode 100644 index 0000000..222afbf --- /dev/null +++ b/docker/features/disable-community-survey/README.md @@ -0,0 +1 @@ +Removes the survey in the project list window \ No newline at end of file diff --git a/docker/features/disable-community-survey/_intern/files.yaml b/docker/features/disable-community-survey/_intern/files.yaml new file mode 100644 index 0000000..e0753c8 --- /dev/null +++ b/docker/features/disable-community-survey/_intern/files.yaml @@ -0,0 +1,2 @@ +volumes: + - /docker/features/disable-community-survey/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js:/overleaf/services/web/app/src/Features/Project/ProjectListController.js diff --git a/docker/features/disable-community-survey/_prep/prep.sh b/docker/features/disable-community-survey/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/disable-community-survey/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js.diff b/docker/features/disable-community-survey/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js.diff new file mode 100644 index 0000000..64825a8 --- /dev/null +++ b/docker/features/disable-community-survey/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js.diff @@ -0,0 +1,21 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js 2024-12-11 20:32:32.905963857 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/Features/Project/ProjectListController.js 2024-12-10 17:43:53.113910424 +0000 +@@ -167,17 +167,7 @@ + if (user && UserPrimaryEmailCheckHandler.requiresPrimaryEmailCheck(user)) { + return res.redirect('/user/emails/primary-email-check') + } +- } else { +- if (!process.env.OVERLEAF_IS_SERVER_PRO) { +- // temporary survey for CE: https://github.com/overleaf/internal/issues/19710 +- survey = { +- name: 'ce-survey', +- preText: 'Help us improve Overleaf', +- linkText: 'by filling out this quick survey', +- url: 'https://docs.google.com/forms/d/e/1FAIpQLSdPAS-731yaLOvRM8HW7j6gVeOpcmB_X5A5qwgNJT7Oj09lLA/viewform?usp=sf_link', +- } +- } +- } ++ } + + const tags = await TagsHandler.promises.getAllTags(userId) + diff --git a/docker/features/disable-community-survey/dev_tools/get_file_list.sh b/docker/features/disable-community-survey/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/disable-community-survey/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/disable-community-survey/dev_tools/get_masterfiles.sh b/docker/features/disable-community-survey/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/disable-community-survey/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/disable-community-survey/disable_feature.sh b/docker/features/disable-community-survey/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/disable-community-survey/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/disable-community-survey/enable_feature.sh b/docker/features/disable-community-survey/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/disable-community-survey/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/enable_all.sh b/docker/features/enable_all.sh new file mode 100644 index 0000000..38073c8 --- /dev/null +++ b/docker/features/enable_all.sh @@ -0,0 +1,27 @@ +cd disable-community-survey +sh enable_feature.sh +cd .. +cd hajtex-branding +sh enable_feature.sh +cd .. +cd login-page +sh enable_feature.sh +cd .. +cd oidc +sh enable_feature.sh +cd .. +cd references +sh enable_feature.sh +cd .. +cd registration-page +sh enable_feature.sh +cd .. +cd shell-escape +sh enable_feature.sh +cd .. +cd symbol-palette +sh enable_feature.sh +cd .. +cd track-changes +sh enable_feature.sh +cd .. diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/admin/index.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/admin/index.js new file mode 100644 index 0000000..42e0a73 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/admin/index.js @@ -0,0 +1,1437 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, openSockets, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, systemMessages, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["bookmarkable-tabset-header"] = pug_interp = function(id, title, active){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([(active ? 'active' : '')], [true]), false, true)+" role=\"presentation\"") + "\u003E\u003Ca" + (pug.attr("href", '#' + id, true, true)+pug.attr("aria-controls", id, true, true)+" role=\"tab\" data-toggle=\"tab\""+pug.attr("data-ol-bookmarkable-tab", true, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EAdmin Panel\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-bookmarkable-tabset\u003E\u003Cul class=\"nav nav-tabs\" role=\"tablist\"\u003E"; +pug_mixins["bookmarkable-tabset-header"]('system-messages', 'System Messages', true); +pug_mixins["bookmarkable-tabset-header"]('open-sockets', 'Open Sockets'); +pug_mixins["bookmarkable-tabset-header"]('open-close-editor', 'Open/Close Editor'); +if (hasFeature('saas')) { +pug_mixins["bookmarkable-tabset-header"]('tpds', 'TPDS/Dropbox Management'); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"tab-content\"\u003E\u003Cdiv class=\"tab-pane active\" role=\"tabpanel\" id=\"system-messages\"\u003E"; +// iterate systemMessages +;(function(){ + var $$obj = systemMessages; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var message = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cdiv class=\"alert alert-info row-spaced\"\u003E" + (pug.escape(null == (pug_interp = message.content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var message = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cdiv class=\"alert alert-info row-spaced\"\u003E" + (pug.escape(null == (pug_interp = message.content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Chr\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002Fmessages\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"content\"\u003E\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" name=\"content\" type=\"text\" placeholder=\"Message…\" required\u003E\u003C\u002Fdiv\u003E\u003Cbutton class=\"btn btn-primary\" type=\"submit\"\u003EPost Message\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Chr\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002Fmessages\u002Fclear\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EClear all messages\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"open-sockets\"\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cul\u003E"; +// iterate openSockets +;(function(){ + var $$obj = openSockets; + if ('number' == typeof $$obj.length) { + for (var url = 0, $$l = $$obj.length; url < $$l; url++) { + var agents = $$obj[url]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = url) ? "" : pug_interp)) + " - total : " + (pug.escape(null == (pug_interp = agents.length) ? "" : pug_interp)) + "\u003Cul\u003E"; +// iterate agents +;(function(){ + var $$obj = agents; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var agent = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var agent = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var url in $$obj) { + $$l++; + var agents = $$obj[url]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = url) ? "" : pug_interp)) + " - total : " + (pug.escape(null == (pug_interp = agents.length) ? "" : pug_interp)) + "\u003Cul\u003E"; +// iterate agents +;(function(){ + var $$obj = agents; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var agent = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var agent = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E" + (pug.escape(null == (pug_interp = agent) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"open-close-editor\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "The \"Open\u002FClose Editor\" feature is not available in SAAS."; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FcloseEditor\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EClose Editor\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill stop anyone opening the editor. Will NOT disconnect already connected users.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FdisconnectAllUsers\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EDisconnect all users\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill force disconnect all users with the editor open. Make sure to close the editor first to avoid them reconnecting.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row-spaced\"\u003E\u003Cform method=\"post\" action=\"\u002Fadmin\u002FopenEditor\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-danger\" type=\"submit\"\u003EReopen Editor\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Cp class=\"small\"\u003EWill reopen the editor after closing.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cdiv class=\"tab-pane\" role=\"tabpanel\" id=\"tpds\"\u003E\u003Ch3\u003EFlush project to TPDS\u003C\u002Fh3\u003E\u003Cdiv class=\"row\"\u003E\u003Cform class=\"col-xs-6\" method=\"post\" action=\"\u002Fadmin\u002FflushProjectToTpds\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"project_id\"\u003Eproject_id\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" name=\"project_id\" placeholder=\"project_id\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\"\u003EFlush\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003Chr\u003E\u003Ch3\u003EPoll Dropbox for user\u003C\u002Fh3\u003E\u003Cdiv class=\"row\"\u003E\u003Cform class=\"col-xs-6\" method=\"post\" action=\"\u002Fadmin\u002FpollDropboxForUser\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"user_id\"\u003Euser_id\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" name=\"user_id\" placeholder=\"user_id\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\"\u003EPoll\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var item = $$obj[pug_index17]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var item = $$obj[pug_index17]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "openSockets" in locals_for_with ? + locals_for_with.openSockets : + typeof openSockets !== 'undefined' ? openSockets : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "systemMessages" in locals_for_with ? + locals_for_with.systemMessages : + typeof systemMessages !== 'undefined' ? systemMessages : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js new file mode 100644 index 0000000..a18ea3a --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js @@ -0,0 +1,1355 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["back-to-btns"] = pug_interp = function(settingsAnchor){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-secondary text-capitalize\""+pug.attr("href", `/user/settings${settingsAnchor ? '#' + settingsAnchor : '' }`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container beta-opt-in-wrapper\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("sharelatex_beta_program")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"beta-opt-in\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E"; +if (user.betaProgram) { +pug_html = pug_html + "\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_already_participating")) ? "" : pug_interp)) + ".\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("thank_you_for_being_part_of_our_beta_program", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_not_participating")) ? "" : pug_interp)) + ".\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("beta_program_benefits", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cp\u003E\u003Cstrong\u003EHow it works:\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_badge_description")) ? "" : pug_interp)) + " \u003Cspan" + (" class=\"beta-badge\""+pug.attr("aria-label", translate("beta_feature_badge"), true, true)+" role=\"img\"") + "\u003E\u003C\u002Fspan\u003E\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("you_will_be_able_to_contact_us_any_time_to_share_your_feedback", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("we_may_also_contact_you_from_time_to_time_by_email_with_a_survey", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003Cli\u003E" + (null == (pug_interp = translate("you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E" + (null == (pug_interp = translate("note_features_under_development", {}, ['strong'])) ? "" : pug_interp) + ".\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-centered\"\u003E\u003Cdiv class=\"col-md-12\"\u003E"; +if (user.betaProgram) { +pug_html = pug_html + "\u003Cform data-ol-regular-form method=\"post\" action=\"\u002Fbeta\u002Fopt-out\" novalidate\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Ca class=\"btn btn-primary btn-lg\" href=\"https:\u002F\u002Fforms.gle\u002FCFEsmvZQTAwHCd3X9\" target=\"_blank\" rel=\"noopener noreferrer\"\u003E" + (pug.escape(null == (pug_interp = translate("give_feedback")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn btn-secondary-info btn-secondary btn-sm\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_opt_out_action")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("processing")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +else { +pug_html = pug_html + "\u003Cform data-ol-regular-form method=\"post\" action=\"\u002Fbeta\u002Fopt-in\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cbutton class=\"btn btn-primary\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("beta_program_opt_in_action")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("joining")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["back-to-btns"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/404.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/404.js new file mode 100644 index 0000000..260e70b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/404.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"error-container\"\u003E\u003Cdiv class=\"error-details\"\u003E\u003Cp class=\"error-status\"\u003ENot found\u003C\u002Fp\u003E\u003Cp class=\"error-description\"\u003E" + (pug.escape(null == (pug_interp = translate("cant_find_page")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"error-actions\"\u003E\u003Ca class=\"error-btn\" href=\"\u002F\"\u003EHome\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/closed.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/closed.js new file mode 100644 index 0000000..286e06d --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/closed.js @@ -0,0 +1,1342 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 text-center\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EMaintenance\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E"; +if (settings.statusPageUrl) { +pug_html = pug_html + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + " is currently down for maintenance.\nPlease check our \u003Ca" + (pug.attr("href", 'https://' + settings.statusPageUrl, true, true)) + "\u003Estatus page\u003C\u002Fa\u003E\nfor updates."; +} +else { +pug_html = pug_html + ((pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + " is currently down for maintenance.\nWe should be back within minutes, but if not, or you have\nan urgent request, please contact us at\n " + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp))); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/post-gateway.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/post-gateway.js new file mode 100644 index 0000000..a286305 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/general/post-gateway.js @@ -0,0 +1,1360 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, form_data, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate('processing_your_request')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-regular-form data-ol-auto-submit method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput hidden name=\"viaGateway\" type=\"submit\" value=\"true\"\u003E"; +// iterate Object.keys(form_data) +;(function(){ + var $$obj = Object.keys(form_data); + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var name = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cinput" + (pug.attr("name", name, true, true)+" type=\"hidden\""+pug.attr("value", form_data[name], true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var name = $$obj[pug_index12]; +pug_html = pug_html + "\u003Cinput" + (pug.attr("name", name, true, true)+" type=\"hidden\""+pug.attr("value", form_data[name], true, true)) + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fform\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "form_data" in locals_for_with ? + locals_for_with.form_data : + typeof form_data !== 'undefined' ? form_data : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug new file mode 100644 index 0000000..43fdb26 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug @@ -0,0 +1,40 @@ +footer.site-footer + - var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 + - var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 + .site-footer-content.hidden-print + .row + ul.col-md-9 + if hasFeature('saas') + li © #{new Date().getFullYear()} Overleaf + else if !settings.nav.hide_powered_by + li + //- year of Server Pro release, static + | © 2024 + | + a(href='https://github.com/HajTeX/HajTeX') Powered by HajTex + + if showLanguagePicker || hasCustomLeftNav + li + strong.text-muted | + + if showLanguagePicker + include language-picker + + if showLanguagePicker && hasCustomLeftNav + li + strong.text-muted | + + each item in nav.left_footer + li + if item.url + a(href=item.url, class=item.class) !{translate(item.text)} + else + | !{item.text} + + ul.col-md-3.text-right + each item in nav.right_footer + li + if item.url + a(href=item.url, class=item.class, aria-label=item.label) !{item.text} + else + | !{item.text} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js new file mode 100644 index 0000000..b6a17ac --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js @@ -0,0 +1,1356 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, brandVariationId, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, compiler, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, imageName, isManagedAccount, mainFile, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, templateId, templateVersionId, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"editor full-size\"\u003E\u003Cdiv class=\"loading-screen\"\u003E\u003Cdiv class=\"loading-screen-brand-container\"\u003E\u003Cdiv class=\"loading-screen-brand\" style=\"height: 20%;\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Ch3 class=\"loading-screen-label\"\u003E" + (pug.escape(null == (pug_interp = translate("Opening template")) ? "" : pug_interp)) + "\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-regular-form data-ol-auto-submit method=\"POST\" action=\"\u002Fproject\u002Fnew\u002Ftemplate\u002F\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateId\""+pug.attr("value", templateId, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateVersionId\""+pug.attr("value", templateVersionId, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"templateName\""+pug.attr("value", name, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"compiler\""+pug.attr("value", compiler, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"imageName\""+pug.attr("value", imageName, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"mainFile\""+pug.attr("value", mainFile, true, true)) + "\u003E"; +if (brandVariationId) { +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"brandVariationId\""+pug.attr("value", brandVariationId, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cinput hidden type=\"submit\"\u003E\u003C\u002Fform\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "brandVariationId" in locals_for_with ? + locals_for_with.brandVariationId : + typeof brandVariationId !== 'undefined' ? brandVariationId : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "compiler" in locals_for_with ? + locals_for_with.compiler : + typeof compiler !== 'undefined' ? compiler : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "imageName" in locals_for_with ? + locals_for_with.imageName : + typeof imageName !== 'undefined' ? imageName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mainFile" in locals_for_with ? + locals_for_with.mainFile : + typeof mainFile !== 'undefined' ? mainFile : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "templateId" in locals_for_with ? + locals_for_with.templateId : + typeof templateId !== 'undefined' ? templateId : undefined, "templateVersionId" in locals_for_with ? + locals_for_with.templateVersionId : + typeof templateVersionId !== 'undefined' ? templateVersionId : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js new file mode 100644 index 0000000..a7aa52f --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js @@ -0,0 +1,992 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allowedImageNames, anonymous, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, chatEnabled, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, debugPdfDetach, deferScripts, detachRole, dictionariesRoot, editorThemes, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, gitBridgePublicBaseUrl, hasAdminAccess, hasCustomLeftNav, hasFeature, hasTrackChangesFeature, hideFatFooter, isManagedAccount, isRestrictedTokenMember, isSaas, isTokenMember, languages, learnedWords, legacyEditorThemes, linkSharingEnforcement, linkSharingWarning, mathJaxPath, maxDocLength, metadata, moduleIncludes, nav, overallThemes, projectDashboardReact, projectName, projectTags, project_id, roMirrorOnClientNoLocalStorage, scriptNonce, settings, showAiErrorAssistant, showLanguagePicker, showSupport, showSymbolPalette, showTemplatesServerPro, showThinFooter, showUpgradePrompt, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, symbolPaletteAvailable, title, translate, useOpenTelemetry, usedLatex, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'ide-detached' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var suppressCookieBanner = true +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-project_id\""+pug.attr("content", project_id, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectName\""+pug.attr("content", projectName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userSettings\" data-type=\"json\""+pug.attr("content", userSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-learnedWords\" data-type=\"json\""+pug.attr("content", learnedWords, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-anonymous\" data-type=\"boolean\""+pug.attr("content", anonymous, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-brandVariation\" data-type=\"json\""+pug.attr("content", brandVariation, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isTokenMember\" data-type=\"boolean\""+pug.attr("content", isTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isRestrictedTokenMember\" data-type=\"boolean\""+pug.attr("content", isRestrictedTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-maxDocLength\" data-type=\"json\""+pug.attr("content", maxDocLength, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wikiEnabled\" data-type=\"boolean\""+pug.attr("content", settings.proxyLearn, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-chatEnabled\" data-type=\"boolean\""+pug.attr("content", chatEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgePublicBaseUrl\""+pug.attr("content", gitBridgePublicBaseUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-compilesUserContentDomain\""+pug.attr("content", settings.compilesUserContentDomain, true, true)) + "\u003E\u003Cmeta name=\"ol-useShareJsHash\" data-type=\"boolean\" content\u003E\u003Cmeta" + (" name=\"ol-wsUrl\" data-type=\"string\""+pug.attr("content", wsUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wsRetryHandshake\" data-type=\"json\""+pug.attr("content", settings.wsRetryHandshake, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-debugPdfDetach\" data-type=\"boolean\""+pug.attr("content", debugPdfDetach, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSymbolPalette\" data-type=\"boolean\""+pug.attr("content", showSymbolPalette, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-symbolPaletteAvailable\" data-type=\"boolean\""+pug.attr("content", symbolPaletteAvailable, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showAiErrorAssistant\" data-type=\"boolean\""+pug.attr("content", showAiErrorAssistant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-detachRole\" data-type=\"string\""+pug.attr("content", detachRole, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allowedImageNames\" data-type=\"json\""+pug.attr("content", allowedImageNames, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-languages\" data-type=\"json\""+pug.attr("content", languages, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-editorThemes\" data-type=\"json\""+pug.attr("content", editorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-legacyEditorThemes\" data-type=\"json\""+pug.attr("content", legacyEditorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUpgradePrompt\" data-type=\"boolean\""+pug.attr("content", showUpgradePrompt, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-useOpenTelemetry\" data-type=\"boolean\""+pug.attr("content", useOpenTelemetry, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSupport\" data-type=\"boolean\""+pug.attr("content", showSupport, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showTemplatesServerPro\" data-type=\"boolean\""+pug.attr("content", showTemplatesServerPro, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasTrackChangesFeature\" data-type=\"boolean\""+pug.attr("content", hasTrackChangesFeature, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inactiveTutorials\" data-type=\"json\""+pug.attr("content", user.inactiveTutorials, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectTags\" data-type=\"json\""+pug.attr("content", projectTags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingWarning\" data-type=\"boolean\""+pug.attr("content", linkSharingWarning, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingEnforcement\" data-type=\"boolean\""+pug.attr("content", linkSharingEnforcement, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usedLatex\" data-type=\"string\""+pug.attr("content", usedLatex, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ro-mirror-on-client-no-local-storage\" data-type=\"boolean\""+pug.attr("content", roMirrorOnClientNoLocalStorage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003C!-- translations for the loading page, before i18n has loaded in the client--\u003E\u003Cmeta" + (" name=\"ol-loadingText\" data-type=\"string\""+pug.attr("content", translate("loading"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationIoNotLoaded\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_websocket_server"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationLoadErrorMessage\" data-type=\"string\""+pug.attr("content", translate("could_not_load_translations"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationUnableToJoin\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_collaboration_server"), true, true)) + "\u003E"; +if ((settings.overleaf != null)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-overallThemes\" data-type=\"json\""+pug.attr("content", overallThemes, true, true)) + "\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("editor:meta", locals)) ? "" : pug_interp) + "\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv id=\"pdf-preview-detached-root\"\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allowedImageNames" in locals_for_with ? + locals_for_with.allowedImageNames : + typeof allowedImageNames !== 'undefined' ? allowedImageNames : undefined, "anonymous" in locals_for_with ? + locals_for_with.anonymous : + typeof anonymous !== 'undefined' ? anonymous : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "chatEnabled" in locals_for_with ? + locals_for_with.chatEnabled : + typeof chatEnabled !== 'undefined' ? chatEnabled : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "debugPdfDetach" in locals_for_with ? + locals_for_with.debugPdfDetach : + typeof debugPdfDetach !== 'undefined' ? debugPdfDetach : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "detachRole" in locals_for_with ? + locals_for_with.detachRole : + typeof detachRole !== 'undefined' ? detachRole : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "editorThemes" in locals_for_with ? + locals_for_with.editorThemes : + typeof editorThemes !== 'undefined' ? editorThemes : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "gitBridgePublicBaseUrl" in locals_for_with ? + locals_for_with.gitBridgePublicBaseUrl : + typeof gitBridgePublicBaseUrl !== 'undefined' ? gitBridgePublicBaseUrl : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasTrackChangesFeature" in locals_for_with ? + locals_for_with.hasTrackChangesFeature : + typeof hasTrackChangesFeature !== 'undefined' ? hasTrackChangesFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isRestrictedTokenMember" in locals_for_with ? + locals_for_with.isRestrictedTokenMember : + typeof isRestrictedTokenMember !== 'undefined' ? isRestrictedTokenMember : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "isTokenMember" in locals_for_with ? + locals_for_with.isTokenMember : + typeof isTokenMember !== 'undefined' ? isTokenMember : undefined, "languages" in locals_for_with ? + locals_for_with.languages : + typeof languages !== 'undefined' ? languages : undefined, "learnedWords" in locals_for_with ? + locals_for_with.learnedWords : + typeof learnedWords !== 'undefined' ? learnedWords : undefined, "legacyEditorThemes" in locals_for_with ? + locals_for_with.legacyEditorThemes : + typeof legacyEditorThemes !== 'undefined' ? legacyEditorThemes : undefined, "linkSharingEnforcement" in locals_for_with ? + locals_for_with.linkSharingEnforcement : + typeof linkSharingEnforcement !== 'undefined' ? linkSharingEnforcement : undefined, "linkSharingWarning" in locals_for_with ? + locals_for_with.linkSharingWarning : + typeof linkSharingWarning !== 'undefined' ? linkSharingWarning : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "maxDocLength" in locals_for_with ? + locals_for_with.maxDocLength : + typeof maxDocLength !== 'undefined' ? maxDocLength : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overallThemes" in locals_for_with ? + locals_for_with.overallThemes : + typeof overallThemes !== 'undefined' ? overallThemes : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectName" in locals_for_with ? + locals_for_with.projectName : + typeof projectName !== 'undefined' ? projectName : undefined, "projectTags" in locals_for_with ? + locals_for_with.projectTags : + typeof projectTags !== 'undefined' ? projectTags : undefined, "project_id" in locals_for_with ? + locals_for_with.project_id : + typeof project_id !== 'undefined' ? project_id : undefined, "roMirrorOnClientNoLocalStorage" in locals_for_with ? + locals_for_with.roMirrorOnClientNoLocalStorage : + typeof roMirrorOnClientNoLocalStorage !== 'undefined' ? roMirrorOnClientNoLocalStorage : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showAiErrorAssistant" in locals_for_with ? + locals_for_with.showAiErrorAssistant : + typeof showAiErrorAssistant !== 'undefined' ? showAiErrorAssistant : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSupport" in locals_for_with ? + locals_for_with.showSupport : + typeof showSupport !== 'undefined' ? showSupport : undefined, "showSymbolPalette" in locals_for_with ? + locals_for_with.showSymbolPalette : + typeof showSymbolPalette !== 'undefined' ? showSymbolPalette : undefined, "showTemplatesServerPro" in locals_for_with ? + locals_for_with.showTemplatesServerPro : + typeof showTemplatesServerPro !== 'undefined' ? showTemplatesServerPro : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUpgradePrompt" in locals_for_with ? + locals_for_with.showUpgradePrompt : + typeof showUpgradePrompt !== 'undefined' ? showUpgradePrompt : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "symbolPaletteAvailable" in locals_for_with ? + locals_for_with.symbolPaletteAvailable : + typeof symbolPaletteAvailable !== 'undefined' ? symbolPaletteAvailable : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "useOpenTelemetry" in locals_for_with ? + locals_for_with.useOpenTelemetry : + typeof useOpenTelemetry !== 'undefined' ? useOpenTelemetry : undefined, "usedLatex" in locals_for_with ? + locals_for_with.usedLatex : + typeof usedLatex !== 'undefined' ? usedLatex : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react.js new file mode 100644 index 0000000..cdaa39a --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/ide-react.js @@ -0,0 +1,1013 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allowedImageNames, anonymous, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, chatEnabled, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, debugPdfDetach, deferScripts, detachRole, dictionariesRoot, editorThemes, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, gitBridgePublicBaseUrl, hasAdminAccess, hasCustomLeftNav, hasFeature, hasTrackChangesFeature, hideFatFooter, isManagedAccount, isRestrictedTokenMember, isSaas, isTokenMember, languages, learnedWords, legacyEditorThemes, linkSharingEnforcement, linkSharingWarning, mathJaxPath, maxDocLength, metadata, moduleIncludes, nav, overallThemes, projectDashboardReact, projectName, projectTags, project_id, roMirrorOnClientNoLocalStorage, scriptNonce, settings, showAiErrorAssistant, showLanguagePicker, showSupport, showSymbolPalette, showTemplatesServerPro, showThinFooter, showUpgradePrompt, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, symbolPaletteAvailable, title, translate, useOpenTelemetry, usedLatex, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/ide' +var suppressNavbar = true +var suppressFooter = true +var suppressSkipToContent = true +var deferScripts = true +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-ide' +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-project_id\""+pug.attr("content", project_id, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectName\""+pug.attr("content", projectName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userSettings\" data-type=\"json\""+pug.attr("content", userSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-learnedWords\" data-type=\"json\""+pug.attr("content", learnedWords, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-anonymous\" data-type=\"boolean\""+pug.attr("content", anonymous, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-brandVariation\" data-type=\"json\""+pug.attr("content", brandVariation, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isTokenMember\" data-type=\"boolean\""+pug.attr("content", isTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isRestrictedTokenMember\" data-type=\"boolean\""+pug.attr("content", isRestrictedTokenMember, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-maxDocLength\" data-type=\"json\""+pug.attr("content", maxDocLength, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wikiEnabled\" data-type=\"boolean\""+pug.attr("content", settings.proxyLearn, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-chatEnabled\" data-type=\"boolean\""+pug.attr("content", chatEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgePublicBaseUrl\""+pug.attr("content", gitBridgePublicBaseUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-compilesUserContentDomain\""+pug.attr("content", settings.compilesUserContentDomain, true, true)) + "\u003E\u003Cmeta name=\"ol-useShareJsHash\" data-type=\"boolean\" content\u003E\u003Cmeta" + (" name=\"ol-wsUrl\" data-type=\"string\""+pug.attr("content", wsUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-wsRetryHandshake\" data-type=\"json\""+pug.attr("content", settings.wsRetryHandshake, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-debugPdfDetach\" data-type=\"boolean\""+pug.attr("content", debugPdfDetach, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSymbolPalette\" data-type=\"boolean\""+pug.attr("content", showSymbolPalette, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-symbolPaletteAvailable\" data-type=\"boolean\""+pug.attr("content", symbolPaletteAvailable, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showAiErrorAssistant\" data-type=\"boolean\""+pug.attr("content", showAiErrorAssistant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-detachRole\" data-type=\"string\""+pug.attr("content", detachRole, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allowedImageNames\" data-type=\"json\""+pug.attr("content", allowedImageNames, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-languages\" data-type=\"json\""+pug.attr("content", languages, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-editorThemes\" data-type=\"json\""+pug.attr("content", editorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-legacyEditorThemes\" data-type=\"json\""+pug.attr("content", legacyEditorThemes, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUpgradePrompt\" data-type=\"boolean\""+pug.attr("content", showUpgradePrompt, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-useOpenTelemetry\" data-type=\"boolean\""+pug.attr("content", useOpenTelemetry, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showSupport\" data-type=\"boolean\""+pug.attr("content", showSupport, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showTemplatesServerPro\" data-type=\"boolean\""+pug.attr("content", showTemplatesServerPro, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasTrackChangesFeature\" data-type=\"boolean\""+pug.attr("content", hasTrackChangesFeature, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inactiveTutorials\" data-type=\"json\""+pug.attr("content", user.inactiveTutorials, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectTags\" data-type=\"json\""+pug.attr("content", projectTags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingWarning\" data-type=\"boolean\""+pug.attr("content", linkSharingWarning, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-linkSharingEnforcement\" data-type=\"boolean\""+pug.attr("content", linkSharingEnforcement, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usedLatex\" data-type=\"string\""+pug.attr("content", usedLatex, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ro-mirror-on-client-no-local-storage\" data-type=\"boolean\""+pug.attr("content", roMirrorOnClientNoLocalStorage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003C!-- translations for the loading page, before i18n has loaded in the client--\u003E\u003Cmeta" + (" name=\"ol-loadingText\" data-type=\"string\""+pug.attr("content", translate("loading"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationIoNotLoaded\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_websocket_server"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationLoadErrorMessage\" data-type=\"string\""+pug.attr("content", translate("could_not_load_translations"), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-translationUnableToJoin\" data-type=\"string\""+pug.attr("content", translate("could_not_connect_to_collaboration_server"), true, true)) + "\u003E"; +if ((settings.overleaf != null)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-overallThemes\" data-type=\"json\""+pug.attr("content", overallThemes, true, true)) + "\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("editor:meta", locals)) ? "" : pug_interp) + "\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain id=\"ide-root\"\u003E\u003Cdiv class=\"loading-screen\"\u003E\u003Cdiv class=\"loading-screen-brand-container\"\u003E\u003Cdiv class=\"loading-screen-brand\" style=\"height: 20%;\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Ch3 class=\"loading-screen-label\"\u003E" + (pug.escape(null == (pug_interp = translate("loading")) ? "" : pug_interp)) + "\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\"loading-screen-ellip\"\u003E.\u003C\u002Fspan\u003E\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +// iterate (useOpenTelemetry ? entrypointScripts("tracing") : []) +;(function(){ + var $$obj = (useOpenTelemetry ? entrypointScripts("tracing") : []); + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var file = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var file = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", (wsUrl || '/socket.io') + '/socket.io.js', true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allowedImageNames" in locals_for_with ? + locals_for_with.allowedImageNames : + typeof allowedImageNames !== 'undefined' ? allowedImageNames : undefined, "anonymous" in locals_for_with ? + locals_for_with.anonymous : + typeof anonymous !== 'undefined' ? anonymous : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "chatEnabled" in locals_for_with ? + locals_for_with.chatEnabled : + typeof chatEnabled !== 'undefined' ? chatEnabled : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "debugPdfDetach" in locals_for_with ? + locals_for_with.debugPdfDetach : + typeof debugPdfDetach !== 'undefined' ? debugPdfDetach : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "detachRole" in locals_for_with ? + locals_for_with.detachRole : + typeof detachRole !== 'undefined' ? detachRole : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "editorThemes" in locals_for_with ? + locals_for_with.editorThemes : + typeof editorThemes !== 'undefined' ? editorThemes : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "gitBridgePublicBaseUrl" in locals_for_with ? + locals_for_with.gitBridgePublicBaseUrl : + typeof gitBridgePublicBaseUrl !== 'undefined' ? gitBridgePublicBaseUrl : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasTrackChangesFeature" in locals_for_with ? + locals_for_with.hasTrackChangesFeature : + typeof hasTrackChangesFeature !== 'undefined' ? hasTrackChangesFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isRestrictedTokenMember" in locals_for_with ? + locals_for_with.isRestrictedTokenMember : + typeof isRestrictedTokenMember !== 'undefined' ? isRestrictedTokenMember : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "isTokenMember" in locals_for_with ? + locals_for_with.isTokenMember : + typeof isTokenMember !== 'undefined' ? isTokenMember : undefined, "languages" in locals_for_with ? + locals_for_with.languages : + typeof languages !== 'undefined' ? languages : undefined, "learnedWords" in locals_for_with ? + locals_for_with.learnedWords : + typeof learnedWords !== 'undefined' ? learnedWords : undefined, "legacyEditorThemes" in locals_for_with ? + locals_for_with.legacyEditorThemes : + typeof legacyEditorThemes !== 'undefined' ? legacyEditorThemes : undefined, "linkSharingEnforcement" in locals_for_with ? + locals_for_with.linkSharingEnforcement : + typeof linkSharingEnforcement !== 'undefined' ? linkSharingEnforcement : undefined, "linkSharingWarning" in locals_for_with ? + locals_for_with.linkSharingWarning : + typeof linkSharingWarning !== 'undefined' ? linkSharingWarning : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "maxDocLength" in locals_for_with ? + locals_for_with.maxDocLength : + typeof maxDocLength !== 'undefined' ? maxDocLength : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overallThemes" in locals_for_with ? + locals_for_with.overallThemes : + typeof overallThemes !== 'undefined' ? overallThemes : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectName" in locals_for_with ? + locals_for_with.projectName : + typeof projectName !== 'undefined' ? projectName : undefined, "projectTags" in locals_for_with ? + locals_for_with.projectTags : + typeof projectTags !== 'undefined' ? projectTags : undefined, "project_id" in locals_for_with ? + locals_for_with.project_id : + typeof project_id !== 'undefined' ? project_id : undefined, "roMirrorOnClientNoLocalStorage" in locals_for_with ? + locals_for_with.roMirrorOnClientNoLocalStorage : + typeof roMirrorOnClientNoLocalStorage !== 'undefined' ? roMirrorOnClientNoLocalStorage : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showAiErrorAssistant" in locals_for_with ? + locals_for_with.showAiErrorAssistant : + typeof showAiErrorAssistant !== 'undefined' ? showAiErrorAssistant : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSupport" in locals_for_with ? + locals_for_with.showSupport : + typeof showSupport !== 'undefined' ? showSupport : undefined, "showSymbolPalette" in locals_for_with ? + locals_for_with.showSymbolPalette : + typeof showSymbolPalette !== 'undefined' ? showSymbolPalette : undefined, "showTemplatesServerPro" in locals_for_with ? + locals_for_with.showTemplatesServerPro : + typeof showTemplatesServerPro !== 'undefined' ? showTemplatesServerPro : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUpgradePrompt" in locals_for_with ? + locals_for_with.showUpgradePrompt : + typeof showUpgradePrompt !== 'undefined' ? showUpgradePrompt : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "symbolPaletteAvailable" in locals_for_with ? + locals_for_with.symbolPaletteAvailable : + typeof symbolPaletteAvailable !== 'undefined' ? symbolPaletteAvailable : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "useOpenTelemetry" in locals_for_with ? + locals_for_with.useOpenTelemetry : + typeof useOpenTelemetry !== 'undefined' ? useOpenTelemetry : undefined, "usedLatex" in locals_for_with ? + locals_for_with.usedLatex : + typeof usedLatex !== 'undefined' ? usedLatex : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js new file mode 100644 index 0000000..08c5e41 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card project-invite-invalid\"\u003E\u003Cdiv class=\"page-header text-centered\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("invite_not_valid")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invite_not_valid_description")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center actions\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ca class=\"btn btn-secondary-info btn-secondary\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate("back_to_your_projects")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/show.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/show.js new file mode 100644 index 0000000..6451151 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/invite/show.js @@ -0,0 +1,1343 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, invite, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, owner, project, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card project-invite-accept\"\u003E\u003Cdiv class=\"page-header text-centered\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("user_wants_you_to_see_project", {username:owner.first_name, projectname:""})) ? "" : pug_interp)) + "\u003Cbr\u003E\u003Cem\u003E" + (pug.escape(null == (pug_interp = project.name) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row text-center\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("accepting_invite_as")) ? "" : pug_interp)) + " \u003Cem\u003E" + (pug.escape(null == (pug_interp = user.email) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cform" + (" class=\"form\""+pug.attr("data-ol-regular-form", true, true, true)+" method=\"POST\""+pug.attr("action", "/project/"+invite.projectId+"/invite/token/"+token+"/accept", true, true)) + "\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" name=\"token\" type=\"hidden\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv class=\"form-group text-center\"\u003E\u003Cbutton class=\"btn btn-lg btn-primary\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("join_project")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("joining")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group text-center\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "invite" in locals_for_with ? + locals_for_with.invite : + typeof invite !== 'undefined' ? invite : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "owner" in locals_for_with ? + locals_for_with.owner : + typeof owner !== 'undefined' ? owner : undefined, "project" in locals_for_with ? + locals_for_with.project : + typeof project !== 'undefined' ? project : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/list-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/list-react.js new file mode 100644 index 0000000..2c779f1 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/list-react.js @@ -0,0 +1,975 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, allInReconfirmNotificationPeriods, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, cloneAndTranslateText, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSsoSetupSuccess, groupSubscriptionsPendingEnrollment, groupsAndEnterpriseBannerVariant, hasAdminAccess, hasCustomLeftNav, hasFeature, hasIndividualRecurlySubscription, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, notifications, notificationsInstitution, portalTemplates, prefetchedProjectsBlob, projectDashboardReact, recommendedCurrency, reconfirmedViaSAML, scriptNonce, settings, showBrlGeoBanner, showGroupsAndEnterpriseBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, showUSGovBanner, showWritefullPromoBanner, splitTestInfo, splitTestVariants, suggestedLanguageSubdomainConfig, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, survey, tags, title, translate, usGovBannerVariant, user, userAffiliations, userEmails, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/project-list' +var suppressNavContentLinks = true +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-project-dashboard' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-usersBestSubscription\" data-type=\"json\""+pug.attr("content", usersBestSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-notifications\" data-type=\"json\""+pug.attr("content", notifications, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-notificationsInstitution\" data-type=\"json\""+pug.attr("content", notificationsInstitution, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userEmails\" data-type=\"json\""+pug.attr("content", userEmails, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-allInReconfirmNotificationPeriods\" data-type=\"json\""+pug.attr("content", allInReconfirmNotificationPeriods, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userAffiliations\" data-type=\"json\""+pug.attr("content", userAffiliations, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmedViaSAML\""+pug.attr("content", reconfirmedViaSAML, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-survey\" data-type=\"json\""+pug.attr("content", survey, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-tags\" data-type=\"json\""+pug.attr("content", tags, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-portalTemplates\" data-type=\"json\""+pug.attr("content", portalTemplates, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-prefetchedProjectsBlob\" data-type=\"json\""+pug.attr("content", prefetchedProjectsBlob, true, true)) + "\u003E"; +if ((suggestedLanguageSubdomainConfig)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-suggestedLanguage\" data-type=\"json\""+pug.attr("content", Object.assign(suggestedLanguageSubdomainConfig, { + lngName: translate(suggestedLanguageSubdomainConfig.lngCode), + imgUrl: buildImgPath("flags/24/" + suggestedLanguageSubdomainConfig.lngCode + ".png") + }), true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-currentUrl\" data-type=\"string\""+pug.attr("content", currentUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showGroupsAndEnterpriseBanner\" data-type=\"boolean\""+pug.attr("content", showGroupsAndEnterpriseBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showWritefullPromoBanner\" data-type=\"boolean\""+pug.attr("content", showWritefullPromoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupsAndEnterpriseBannerVariant\" data-type=\"string\""+pug.attr("content", groupsAndEnterpriseBannerVariant, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showInrGeoBanner\" data-type=\"boolean\""+pug.attr("content", showInrGeoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showBrlGeoBanner\" data-type=\"boolean\""+pug.attr("content", showBrlGeoBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\" data-type=\"string\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showLATAMBanner\" data-type=\"boolean\""+pug.attr("content", showLATAMBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSubscriptionsPendingEnrollment\" data-type=\"json\""+pug.attr("content", groupSubscriptionsPendingEnrollment, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasIndividualRecurlySubscription\" data-type=\"boolean\""+pug.attr("content", hasIndividualRecurlySubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSsoSetupSuccess\" data-type=\"boolean\""+pug.attr("content", groupSsoSetupSuccess, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-showUSGovBanner\" data-type=\"boolean\""+pug.attr("content", showUSGovBanner, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usGovBannerVariant\" data-type=\"string\""+pug.attr("content", usGovBannerVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt project-list-react\" id=\"main-content\"\u003E\u003Cdiv id=\"project-list-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "allInReconfirmNotificationPeriods" in locals_for_with ? + locals_for_with.allInReconfirmNotificationPeriods : + typeof allInReconfirmNotificationPeriods !== 'undefined' ? allInReconfirmNotificationPeriods : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSsoSetupSuccess" in locals_for_with ? + locals_for_with.groupSsoSetupSuccess : + typeof groupSsoSetupSuccess !== 'undefined' ? groupSsoSetupSuccess : undefined, "groupSubscriptionsPendingEnrollment" in locals_for_with ? + locals_for_with.groupSubscriptionsPendingEnrollment : + typeof groupSubscriptionsPendingEnrollment !== 'undefined' ? groupSubscriptionsPendingEnrollment : undefined, "groupsAndEnterpriseBannerVariant" in locals_for_with ? + locals_for_with.groupsAndEnterpriseBannerVariant : + typeof groupsAndEnterpriseBannerVariant !== 'undefined' ? groupsAndEnterpriseBannerVariant : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasIndividualRecurlySubscription" in locals_for_with ? + locals_for_with.hasIndividualRecurlySubscription : + typeof hasIndividualRecurlySubscription !== 'undefined' ? hasIndividualRecurlySubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "notifications" in locals_for_with ? + locals_for_with.notifications : + typeof notifications !== 'undefined' ? notifications : undefined, "notificationsInstitution" in locals_for_with ? + locals_for_with.notificationsInstitution : + typeof notificationsInstitution !== 'undefined' ? notificationsInstitution : undefined, "portalTemplates" in locals_for_with ? + locals_for_with.portalTemplates : + typeof portalTemplates !== 'undefined' ? portalTemplates : undefined, "prefetchedProjectsBlob" in locals_for_with ? + locals_for_with.prefetchedProjectsBlob : + typeof prefetchedProjectsBlob !== 'undefined' ? prefetchedProjectsBlob : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "reconfirmedViaSAML" in locals_for_with ? + locals_for_with.reconfirmedViaSAML : + typeof reconfirmedViaSAML !== 'undefined' ? reconfirmedViaSAML : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showGroupsAndEnterpriseBanner" in locals_for_with ? + locals_for_with.showGroupsAndEnterpriseBanner : + typeof showGroupsAndEnterpriseBanner !== 'undefined' ? showGroupsAndEnterpriseBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "showUSGovBanner" in locals_for_with ? + locals_for_with.showUSGovBanner : + typeof showUSGovBanner !== 'undefined' ? showUSGovBanner : undefined, "showWritefullPromoBanner" in locals_for_with ? + locals_for_with.showWritefullPromoBanner : + typeof showWritefullPromoBanner !== 'undefined' ? showWritefullPromoBanner : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suggestedLanguageSubdomainConfig" in locals_for_with ? + locals_for_with.suggestedLanguageSubdomainConfig : + typeof suggestedLanguageSubdomainConfig !== 'undefined' ? suggestedLanguageSubdomainConfig : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "survey" in locals_for_with ? + locals_for_with.survey : + typeof survey !== 'undefined' ? survey : undefined, "tags" in locals_for_with ? + locals_for_with.tags : + typeof tags !== 'undefined' ? tags : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "usGovBannerVariant" in locals_for_with ? + locals_for_with.usGovBannerVariant : + typeof usGovBannerVariant !== 'undefined' ? usGovBannerVariant : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userAffiliations" in locals_for_with ? + locals_for_with.userAffiliations : + typeof userAffiliations !== 'undefined' ? userAffiliations : undefined, "userEmails" in locals_for_with ? + locals_for_with.userEmails : + typeof userEmails !== 'undefined' ? userEmails : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/access-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/access-react.js new file mode 100644 index 0000000..864546b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/access-react.js @@ -0,0 +1,1340 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, postUrl, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/token-access' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-postUrl\" data-type=\"string\""+pug.attr("content", postUrl, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"token-access-page\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "postUrl" in locals_for_with ? + locals_for_with.postUrl : + typeof postUrl !== 'undefined' ? postUrl : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js new file mode 100644 index 0000000..433f210 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js @@ -0,0 +1,1340 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, projectId, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/sharing-updates' +var suppressFooter = true +var suppressCookieBanner = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-project_id\" data-type=\"string\""+pug.attr("content", projectId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"sharing-updates-page\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectId" in locals_for_with ? + locals_for_with.projectId : + typeof projectId !== 'undefined' ? projectId : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/referal/bonus.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/referal/bonus.js new file mode 100644 index 0000000..1434356 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/referal/bonus.js @@ -0,0 +1,1368 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, i, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, refered_user_count, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container bonus\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1\"\u003E"; +if ((refered_user_count > 0)) { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EThe Overleaf Bonus Program has been discontinued, but you'll continue to have access to the features you already earned.\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EThe Overleaf Bonus Program has been discontinued.\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EPlease \u003Ca href=\"\u002Fcontact\"\u003Econtact us\u003C\u002Fa\u003E if you have any questions.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((refered_user_count > 0)) { +pug_html = pug_html + "\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\" style=\"position: relative; height: 30px; margin-top: 20px;\"\u003E"; +for (var i = 0; i <= 10; i++) { +{ +if ((refered_user_count == i)) { +pug_html = pug_html + "\u003Cdiv" + (" class=\"number active\""+pug.attr("style", pug.style("left: "+i+"0%"), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = i) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"number\""+pug.attr("style", pug.style("left: "+i+"0%"), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = i) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\"\u003E\u003Cdiv class=\"progress\"\u003E\u003Cdiv" + (" class=\"progress-bar progress-bar-info\""+pug.attr("style", pug.style("width: "+refered_user_count+"0%"), true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner\" style=\"position: relative; height: 110px;\"\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 1 ? "active" : ""], [false,true]), false, true)+" style=\"left: 10%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("one_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 3 ? "active" : ""], [false,true]), false, true)+" style=\"left: 30%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("three_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 6 ? "active" : ""], [false,true]), false, true)+" style=\"left: 60%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("free_dropbox_and_history")) ? "" : pug_interp)) + " + " + (pug.escape(null == (pug_interp = translate("three_free_collab")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["perk",refered_user_count >= 9 ? "active" : ""], [false,true]), false, true)+" style=\"left: 90%;\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("free_dropbox_and_history")) ? "" : pug_interp)) + " + " + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E \u003C\u002Fdiv\u003E\u003Cdiv class=\"row ab-bonus\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 bonus-banner bonus-status\"\u003E"; +if ((refered_user_count == 1)) { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EYou’ve introduced \u003Cstrong\u003E1\u003C\u002Fstrong\u003E person to " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Cp class=\"thanks\"\u003EYou’ve introduced \u003Cstrong\u003E" + (pug.escape(null == (pug_interp = refered_user_count) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E people to " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "i" in locals_for_with ? + locals_for_with.i : + typeof i !== 'undefined' ? i : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "refered_user_count" in locals_for_with ? + locals_for_with.refered_user_count : + typeof refered_user_count !== 'undefined' ? refered_user_count : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js new file mode 100644 index 0000000..c6be320 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/canceled-subscription' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-canceled-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js new file mode 100644 index 0000000..1cc354e --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js @@ -0,0 +1,1367 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentInstitutionsWithLicence, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, fromPlansPage, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlans, groupSettingsEnabledFor, hasAdminAccess, hasCustomLeftNav, hasFeature, hasSubscription, hideFatFooter, isManagedAccount, managedGroupSubscriptions, managedInstitutions, managedPublishers, mathJaxPath, memberGroupSubscriptions, metadata, moduleIncludes, nav, personalSubscription, planCodesChangingAtTermEnd, plans, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userCanExtendTrial, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/dashboard' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscription\" data-type=\"json\""+pug.attr("content", personalSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-userCanExtendTrial\" data-type=\"boolean\""+pug.attr("content", userCanExtendTrial, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedGroupSubscriptions\" data-type=\"json\""+pug.attr("content", managedGroupSubscriptions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-memberGroupSubscriptions\" data-type=\"json\""+pug.attr("content", memberGroupSubscriptions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedInstitutions\" data-type=\"json\""+pug.attr("content", managedInstitutions, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedPublishers\" data-type=\"json\""+pug.attr("content", managedPublishers, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-planCodesChangingAtTermEnd\" data-type=\"json\""+pug.attr("content", planCodesChangingAtTermEnd, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentInstitutionsWithLicence\" data-type=\"json\""+pug.attr("content", currentInstitutionsWithLicence, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasSubscription\" data-type=\"boolean\""+pug.attr("content", hasSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-fromPlansPage\" data-type=\"boolean\""+pug.attr("content", fromPlansPage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-plans\" data-type=\"json\""+pug.attr("content", plans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSettingsEnabledFor\" data-type=\"json\""+pug.attr("content", groupSettingsEnabledFor, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E"; +if ((personalSubscription && personalSubscription.recurly)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-recurlyApiKey\""+pug.attr("content", settings.apis.recurly.publicKey, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", personalSubscription.recurly.currency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fjs.recurly.com\u002Fv4\u002Frecurly.js\"") + "\u003E\u003C\u002Fscript\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"subscription-dashboard-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentInstitutionsWithLicence" in locals_for_with ? + locals_for_with.currentInstitutionsWithLicence : + typeof currentInstitutionsWithLicence !== 'undefined' ? currentInstitutionsWithLicence : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "fromPlansPage" in locals_for_with ? + locals_for_with.fromPlansPage : + typeof fromPlansPage !== 'undefined' ? fromPlansPage : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "groupSettingsEnabledFor" in locals_for_with ? + locals_for_with.groupSettingsEnabledFor : + typeof groupSettingsEnabledFor !== 'undefined' ? groupSettingsEnabledFor : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasSubscription" in locals_for_with ? + locals_for_with.hasSubscription : + typeof hasSubscription !== 'undefined' ? hasSubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "managedGroupSubscriptions" in locals_for_with ? + locals_for_with.managedGroupSubscriptions : + typeof managedGroupSubscriptions !== 'undefined' ? managedGroupSubscriptions : undefined, "managedInstitutions" in locals_for_with ? + locals_for_with.managedInstitutions : + typeof managedInstitutions !== 'undefined' ? managedInstitutions : undefined, "managedPublishers" in locals_for_with ? + locals_for_with.managedPublishers : + typeof managedPublishers !== 'undefined' ? managedPublishers : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "memberGroupSubscriptions" in locals_for_with ? + locals_for_with.memberGroupSubscriptions : + typeof memberGroupSubscriptions !== 'undefined' ? memberGroupSubscriptions : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "personalSubscription" in locals_for_with ? + locals_for_with.personalSubscription : + typeof personalSubscription !== 'undefined' ? personalSubscription : undefined, "planCodesChangingAtTermEnd" in locals_for_with ? + locals_for_with.planCodesChangingAtTermEnd : + typeof planCodesChangingAtTermEnd !== 'undefined' ? planCodesChangingAtTermEnd : undefined, "plans" in locals_for_with ? + locals_for_with.plans : + typeof plans !== 'undefined' ? plans : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userCanExtendTrial" in locals_for_with ? + locals_for_with.userCanExtendTrial : + typeof userCanExtendTrial !== 'undefined' ? userCanExtendTrial : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js new file mode 100644 index 0000000..53d28f0 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js @@ -0,0 +1,1697 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalOptions, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, interstitialPaymentConfig, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showCurrencyAndPaymentMethods, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showSkipLink, showThinFooter, skipLinkTarget, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","invisible",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header' } +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', period } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["plans_cta"] = pug_interp = function(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["btn_buy_individual_free"](); + break; +case 'individual_collaborator': +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); + break; +case 'group_professional': +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); + break; +case 'group_organization': +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E"; + break; +case 'student_free': +pug_mixins["btn_buy_student_free"](highlighted); + break; +case 'student_student': +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +}; +pug_mixins["table_short_feature_list_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_organization"] = pug_interp = function(additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency} +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" class=\"inline-green-link\""+" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_student_student"] = pug_interp = function(showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["table_column_headers_row"] = pug_interp = function({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var highlighted = highlightedColKey === tableHeadKey +var thClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+" scope=\"col\"") + "\u003E\u003Cdiv class=\"plans-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(highlightedColTranslationKey)) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"plans-table-th-content\"\u003E"; +if (tableHeadKey) { +switch (tableHeadKey){ +case 'individual_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'individual_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)); + break; +case 'individual_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)); + break; +case 'group_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)); + break; +case 'group_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)); + break; +case 'group_organization': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)); + break; +case 'student_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'student_student': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)); + break; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +}; + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-payment-methods text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fb\u003E " + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-payment-methods-icons\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_mastercard.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_visa.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_amex.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_paypal.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +var highlightedColKey = tableHeadKeys[config.highlightedColumn.index] +var highlightedColTranslationKey = config.highlightedColumn.text[period] === 'most_popular' ? 'most_popular_uppercase' : config.highlightedColumn.text[period] === 'saving_20_percent' ? 'saving_20_percent_no_exclamation' : config.highlightedColumn.text[period] +pug_mixins["table_column_headers_row"]({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}); +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-price-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-price\"\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'individual_collaborator': +pug_mixins["table_head_price"]('collaborator', period); + break; +case 'individual_professional': +pug_mixins["table_head_price"]('professional', period); + break; +case 'group_collaborator': +pug_mixins["table_price_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_price_group_professional"](); + break; +case 'group_organization': +pug_html = pug_html + "\u003Cdiv class=\"plans-table-comments-icon\"\u003E\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Eforum\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E"; + break; +case 'student_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'student_student': +pug_mixins["table_head_price"]('student', period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-mobile plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-mobile\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-short-feature-list plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey, tableHeadOptions] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-short-feature-list\"\u003E\u003Cdiv\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'individual_collaborator': +pug_mixins["table_short_feature_list_collaborator"](); + break; +case 'individual_professional': +pug_mixins["table_short_feature_list_professional"](); + break; +case 'group_collaborator': +pug_mixins["table_short_feature_list_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_short_feature_list_group_professional"](); + break; +case 'group_organization': +pug_mixins["table_short_feature_list_group_organization"](additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'student_student' : +pug_mixins["table_short_feature_list_student_student"](tableHeadOptions.showExtraContent); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-desktop plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-desktop\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var featuresSectionIndex = 0, $$l = $$obj.length; featuresSectionIndex < $$l; featuresSectionIndex++) { + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var featuresSectionIndex in $$obj) { + $$l++; + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; + + + + + + + + + + + + + + + + + + +pug_mixins["table_price_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_price_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; + + + + +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"material-symbols material-symbols-outlined icon-green-round-background icon-sm\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-table-sticky-header","sticky",(withSwitch ? 'plans-table-sticky-header-with-switch' : 'plans-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered monthly-annual-switch\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"monthly-annual-switch-text\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["linkWithArrow"] = pug_interp = function({text, href, eventTracking, eventSegmentation}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"link-with-arrow\""+pug.attr("href", href, true, true)+pug.attr("event-tracking", eventTracking, true, true)+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003Ci class=\"material-symbols\" aria-hidden=\"true\"\u003Earrow_right_alt\u003C\u002Fi\u003E\u003C\u002Fa\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressFooter = true +var suppressNavbarRight = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof(suppressNavbar) == "undefined")) { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main website-redesign-navbar\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var child = $$obj[pug_index15]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var child = $$obj[pug_index15]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var child = $$obj[pug_index16]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var child = $$obj[pug_index16]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli class=\"secondary\"\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli class=\"secondary\"\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"secondary dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"website-redesign\" id=\"main-content\"\u003E\u003Cdiv class=\"plans-page plans-page-interstitial\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 text-center\"\u003E\u003Ch1\u003E"; +pug_mixins["eyebrow"](translate('plans_and_pricing_lowercase')); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("monthly", "paywall-plans-page-toggle", '{}'); +pug_html = pug_html + "\u003Cdiv class=\"plans-table-sticky-header-container\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"]('monthly', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" hidden data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"]('annual', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showCurrencyAndPaymentMethods)) { +pug_mixins["currency_and_payment_methods"](); +} +pug_html = pug_html + "\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showSkipLink)) { +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-small text-center\"\u003E"; +pug_mixins["linkWithArrow"]({ + text: translate("continue_with_free_plan"), + href: skipLinkTarget, + eventTracking: 'skip-button-click', + eventSegmentation: {location: 'interstitial-page'} + }); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + ("\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof(suppressFooter) == "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var item = $$obj[pug_index18]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var item = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var item = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print website-redesign-fat-footer\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_business')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "interstitialPaymentConfig" in locals_for_with ? + locals_for_with.interstitialPaymentConfig : + typeof interstitialPaymentConfig !== 'undefined' ? interstitialPaymentConfig : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showCurrencyAndPaymentMethods" in locals_for_with ? + locals_for_with.showCurrencyAndPaymentMethods : + typeof showCurrencyAndPaymentMethods !== 'undefined' ? showCurrencyAndPaymentMethods : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSkipLink" in locals_for_with ? + locals_for_with.showSkipLink : + typeof showSkipLink !== 'undefined' ? showSkipLink : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "skipLinkTarget" in locals_for_with ? + locals_for_with.skipLinkTarget : + typeof skipLinkTarget !== 'undefined' ? skipLinkTarget : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js new file mode 100644 index 0000000..c87040e --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js @@ -0,0 +1,2084 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, JSON, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalOptions, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, interstitialPaymentConfig, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showCurrencyAndPaymentMethods, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showSkipLink, showThinFooter, skipLinkTarget, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E \u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Ci class=\"fa fa-cc-mastercard fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-visa fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-amex fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-paypal fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_v2_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var baseColspan = config.baseColspan || 1 +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-v2-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("colspan", baseColspan, true, true)) + "\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var tableHeadOptions = Object.values(config.tableHead)[i] || {} +var colspan = tableHeadOptions.colspan || baseColspan +var highlighted = i === config.highlightedColumn.index +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +if (highlighted) { + var thClass = 'plans-v2-table-green-highlighted' +} else if (i === config.highlightedColumn.index - 1) { + var thClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var thClass = '' +} +thClass += ' plans-v2-table-column-header' +if (colspan > 1) { + var scopeValue = 'colgroup' +} +else { + var scopeValue = 'col' +} +switch (tableHeadKey){ +case 'individual_free': +var ariaLabel = translate("free") + break; +case 'individual_collaborator': +var ariaLabel = translate("standard") + break; +case 'individual_professional': +var ariaLabel = translate("professional") + break; +case 'group_collaborator': +var ariaLabel = translate("group_standard") + break; +case 'group_professional': +var ariaLabel = translate("group_professional") + break; +case 'group_organization': +var ariaLabel = translate("organization") + break; +case 'student_free': +var ariaLabel = translate("free") + break; +case 'student_student': +var ariaLabel = translate("student") + break; +case 'student_university': +var ariaLabel = translate("university") + break; +default: +var ariaLabel = undefined + break; +} +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+pug.attr("aria-label", ariaLabel, true, true)+pug.attr("colspan", colspan, true, true)+pug.attr("scope", scopeValue, true, true)) + "\u003E\u003Cdiv class=\"plans-v2-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(config.highlightedColumn.text[period]).toUpperCase()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_individual_free"](highlighted, period); + break; +case 'individual_collaborator': +pug_mixins["table_head_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["table_head_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["table_head_group_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_professional': +pug_mixins["table_head_group_professional"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_organization': +pug_mixins["table_head_group_organization"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_head_student_free"](highlighted, period); + break; +case 'student_student': +pug_mixins["table_head_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period, tableHeadOptions.showExtraContent); + break; +case 'student_university': +pug_mixins["table_head_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var featuresPerSection = $$obj[pug_index0]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var featuresPerSection = $$obj[pug_index0]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; + + + + + + + + + + + + + + + + + + +pug_mixins["table_head_individual_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('collaborator', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('professional', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-v2-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index7]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["table_head_group_organization"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency } +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period, showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('student', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("university")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cp class=\"plans-v2-table-th-content-benefit\"\u003E" + (null == (pug_interp = translate("all_our_group_plans_offer_educational_discount", {}, [{name: 'b'}, {name: 'b'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-v2-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"fa fa-check\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy","invisible",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["btn_buy_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var segmentation = JSON.stringify(Object.assign({}, {button: 'student-university', location: 'table-header-list', period}, additionalEventSegmentation)) +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["plans_v2_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-v2-table-sticky-header","sticky",(withSwitch ? 'plans-v2-table-sticky-header-with-switch' : 'plans-v2-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-v2-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-v2-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered plans-v2-m-a-switch-container\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"plans-v2-m-a-switch-annual-text-container\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left","plans-v2-m-a-tooltip",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"plans-v2-m-a-switch\" data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var file = $$obj[pug_index8]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var file = $$obj[pug_index9]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var file = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressFooter = true +var suppressNavbarRight = true +var suppressCookieBanner = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var file = $$obj[pug_index11]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index12]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var restriction = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var child = $$obj[pug_index15]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var child = $$obj[pug_index15]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var child = $$obj[pug_index16]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var child = $$obj[pug_index16]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var item = $$obj[pug_index17]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var child = $$obj[pug_index18]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var child = $$obj[pug_index18]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var item = $$obj[pug_index17]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var child = $$obj[pug_index19]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var child = $$obj[pug_index19]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"content-page\"\u003E\u003Cdiv class=\"plans\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header centered plans-header text-centered top-page-header\"\u003E\u003Ch1 class=\"text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("monthly", "paywall-plans-page-toggle", '{}'); +pug_mixins["plans_v2_table_sticky_header"](true, interstitialPaymentConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-container\" data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"]('monthly', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-container\" hidden data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\"\u003E\u003Cdiv class=\"row\"\u003E\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"]('annual', interstitialPaymentConfig); +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showCurrencyAndPaymentMethods)) { +pug_mixins["currency_and_payment_methods"](); +} +pug_html = pug_html + "\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((showSkipLink)) { +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-small text-center\"\u003E\u003Ca" + (pug.attr("href", skipLinkTarget, true, true)+" event-tracking=\"skip-button-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"location": "interstitial-page"}\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("continue_with_free_plan")) ? "" : pug_interp)) + "\t\t\t\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + ("\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "JSON" in locals_for_with ? + locals_for_with.JSON : + typeof JSON !== 'undefined' ? JSON : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "interstitialPaymentConfig" in locals_for_with ? + locals_for_with.interstitialPaymentConfig : + typeof interstitialPaymentConfig !== 'undefined' ? interstitialPaymentConfig : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showCurrencyAndPaymentMethods" in locals_for_with ? + locals_for_with.showCurrencyAndPaymentMethods : + typeof showCurrencyAndPaymentMethods !== 'undefined' ? showCurrencyAndPaymentMethods : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showSkipLink" in locals_for_with ? + locals_for_with.showSkipLink : + typeof showSkipLink !== 'undefined' ? showSkipLink : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "skipLinkTarget" in locals_for_with ? + locals_for_with.skipLinkTarget : + typeof skipLinkTarget !== 'undefined' ? skipLinkTarget : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js new file mode 100644 index 0000000..928454c --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js @@ -0,0 +1,1793 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, currentView, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalDefaults, groupPlanModalOptions, groupPlans, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, isActionBelowContent, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, managingYourSubscription, mathJaxPath, metadata, moduleIncludes, nav, overleafGroupPlans, overleafIndividualPlans, plansConfig, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + pug_mixins["quoteLargeTextCentered"] = pug_interp = function(quote, person, position, affiliation, link, pictureUrl, pictureAltAttr){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cblockquote class=\"quote-large-text-centered\"\u003E\u003Cdiv class=\"quote\"\u003E" + (null == (pug_interp = quote) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +if (pictureUrl) { +pug_html = pug_html + "\u003Cdiv class=\"quote-img\"\u003E\u003Cimg" + (pug.attr("src", pictureUrl, true, true)+pug.attr("alt", pictureAltAttr, true, true)) + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cfooter\u003E\u003Cdiv class=\"quote-person\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = person) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fdiv\u003E"; +if (person && position) { +pug_html = pug_html + "\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = position) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +if (affiliation) { +pug_html = pug_html + "\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = affiliation) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +} +if (link) { +pug_html = pug_html + "\u003Cdiv class=\"quote-link\"\u003E" + (null == (pug_interp = link) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E"; +}; + + + + + + + + +pug_mixins["collinsQuote1"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'Overleaf is indispensable for us. We use it in our research, thesis writing, project proposals, and manuscripts for publication. When it comes to writing, it’s our main tool.' +var quotePerson = 'Christopher Collins' +var quotePersonPosition = 'Associate Professor and Lab Director, Ontario Tech University' +var quotePersonImg = buildImgPath("advocates/collins.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["collinsQuote2"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'We are writing collaboratively right up until the last minute. We are faced with deadlines all the time, and Overleaf gives us the ability to polish right up until the last possible second.' +var quotePerson = 'Christopher Collins' +var quotePersonPosition = 'Associate Professor and Lab Director, Ontario Tech University' +var quotePersonImg = buildImgPath("advocates/collins.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["bennettQuote1"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"card card-dark-green-bg\"\u003E"; +var quote = 'With Overleaf, we now have a process for developing technical documentation which has virtually eliminated the time required to properly format and layout documents.' +var quotePerson = 'Andrew Bennett' +var quotePersonPosition = 'Software Architect, Symplectic' +var quotePersonImg = buildImgPath("advocates/bennett.jpg") +pug_mixins["quoteLargeTextCentered"](quote, quotePerson, quotePersonPosition, null, null, quotePersonImg, quotePerson); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +var suppressRelAlternateLinks = true +metadata.canonicalURL = (settings.siteUrl ? settings.siteUrl : '') + '/user/subscription/plans' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currencySymbols\" data-type=\"json\""+pug.attr("content", groupPlanModalOptions.currencySymbols, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentView\""+pug.attr("content", currentView, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof(suppressNavbar) == "undefined")) { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main website-redesign-navbar\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli class=\"secondary\"\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli class=\"secondary\"\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"secondary dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"website-redesign\" id=\"main-content\"\u003E\u003Cdiv class=\"plans-page\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"mb-5 notification notification-type-success text-center\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch1 class=\"text-center\"\u003E"; +pug_mixins["eyebrow"](translate('plans_and_pricing_lowercase')); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","invisible",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"visible-mobile-and-tablet\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan class=\"visible-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn",(highlighted ? 'btn-primary' : 'btn-secondary')], [false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header' } +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', period } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-bg-ghost\""+pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["plans_cta"] = pug_interp = function(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["btn_buy_individual_free"](); + break; +case 'individual_collaborator': +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); + break; +case 'group_professional': +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); + break; +case 'group_organization': +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E"; + break; +case 'student_free': +pug_mixins["btn_buy_student_free"](highlighted); + break; +case 'student_student': +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +}; +pug_mixins["table_short_feature_list_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_group_organization"] = pug_interp = function(additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency} +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" class=\"inline-green-link\""+" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E"; +}; +pug_mixins["table_short_feature_list_student_student"] = pug_interp = function(showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["table_column_headers_row"] = pug_interp = function({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var highlighted = highlightedColKey === tableHeadKey +var thClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+" scope=\"col\"") + "\u003E\u003Cdiv class=\"plans-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(highlightedColTranslationKey)) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"plans-table-th-content\"\u003E"; +if (tableHeadKey) { +switch (tableHeadKey){ +case 'individual_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'individual_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)); + break; +case 'individual_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)); + break; +case 'group_collaborator': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)); + break; +case 'group_professional': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)); + break; +case 'group_organization': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)); + break; +case 'student_free': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)); + break; +case 'student_student': +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)); + break; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +}; + + + + +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-payment-methods text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fb\u003E " + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-payment-methods-icons\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_mastercard.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_visa.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_amex.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/other-brands/logo_paypal.svg'), true, true)+" aria-hidden=\"true\"") + "\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +var highlightedColKey = tableHeadKeys[config.highlightedColumn.index] +var highlightedColTranslationKey = config.highlightedColumn.text[period] === 'most_popular' ? 'most_popular_uppercase' : config.highlightedColumn.text[period] === 'saving_20_percent' ? 'saving_20_percent_no_exclamation' : config.highlightedColumn.text[period] +pug_mixins["table_column_headers_row"]({maxColumn, tableHeadKeys, highlightedColKey, highlightedColTranslationKey}); +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-price-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-price\"\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'individual_collaborator': +pug_mixins["table_head_price"]('collaborator', period); + break; +case 'individual_professional': +pug_mixins["table_head_price"]('professional', period); + break; +case 'group_collaborator': +pug_mixins["table_price_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_price_group_professional"](); + break; +case 'group_organization': +pug_html = pug_html + "\u003Cdiv class=\"plans-table-comments-icon\"\u003E\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Eforum\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E"; + break; +case 'student_free': +pug_mixins["table_head_price"]('free', period); + break; +case 'student_student': +pug_mixins["table_head_price"]('student', period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-mobile plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-mobile\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-short-feature-list plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey, tableHeadOptions] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-short-feature-list\"\u003E\u003Cdiv\u003E"; +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'individual_collaborator': +pug_mixins["table_short_feature_list_collaborator"](); + break; +case 'individual_professional': +pug_mixins["table_short_feature_list_professional"](); + break; +case 'group_collaborator': +pug_mixins["table_short_feature_list_group_collaborator"](); + break; +case 'group_professional': +pug_mixins["table_short_feature_list_group_professional"](); + break; +case 'group_organization': +pug_mixins["table_short_feature_list_group_organization"](additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_short_feature_list_free"](); + break; +case 'student_student' : +pug_mixins["table_short_feature_list_student_student"](tableHeadOptions.showExtraContent); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-cta-desktop plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Ctd\u003E\u003C\u002Ftd\u003E"; +for (const [tableHeadKey] of Object.entries(config.tableHead)) +{ +var highlighted = highlightedColKey === tableHeadKey +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +var tdClass = highlighted ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"plans-table-cell plans-table-cell-cta-desktop\"\u003E\u003Cdiv class=\"plans-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["plans_cta"](tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var featuresSectionIndex = 0, $$l = $$obj.length; featuresSectionIndex < $$l; featuresSectionIndex++) { + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var featuresSectionIndex in $$obj) { + $$l++; + var featuresPerSection = $$obj[featuresSectionIndex]; +var dividerColspan = Object.values(config.tableHead).length + 1 +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-table-last-col-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv class=\"plans-table-cell-divider\"\u003E\u003Cdiv class=\"plans-table-cell-divider-content\"\u003E\u003Cb class=\"plans-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-table-feature-row plans-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("class", pug.classes([`${featuresSectionIndex === 0 && featureIndex === 0 ? 'plans-table-first-feature-header' : ''}`], [true]), false, true)+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-table-feature-name\"\u003E\u003Cdiv class=\"plans-table-feature-name-content\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm plans-table-feature-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-table-feature-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-table-feature-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var tdClass = planIndex === config.highlightedColumn.index ? 'plans-table-green-highlighted' : '' +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; +pug_mixins["table_individual"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-individual\"\u003E"; +pug_mixins["plans_table"](period, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_group"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-group\"\u003E"; +pug_mixins["plans_table"]('annual', plansConfig.group); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_student"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"plans-table plans-table-student\"\u003E"; +pug_mixins["plans_table"](period, plansConfig.student); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_price_group_collaborator"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_price_group_professional"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index16 = 0, $$l = $$obj.length; pug_index16 < $$l; pug_index16++) { + var licenseSize = $$obj[pug_index16]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index16 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index16]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["group_plans_license_picker"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cform class=\"plans-license-picker-form\" data-ol-plans-v2-license-picker-form\u003E\u003Cdiv class=\"plans-license-picker-select-container\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("number_of_users_with_colon")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cselect name=\"plans-v2-license-picker-select\" id=\"plans-v2-license-picker-select\" autocomplete=\"off\" data-ol-plans-v2-license-picker-select event-tracking=\"plans-page-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E\u003Coption value=\"2\"\u003E2\u003C\u002Foption\u003E\u003Coption value=\"3\"\u003E3\u003C\u002Foption\u003E\u003Coption value=\"4\"\u003E4\u003C\u002Foption\u003E\u003Coption value=\"5\"\u003E5\u003C\u002Foption\u003E\u003Coption value=\"10\"\u003E10\u003C\u002Foption\u003E\u003Coption value=\"20\"\u003E20\u003C\u002Foption\u003E\u003Coption value=\"50\"\u003E50\u003C\u002Foption\u003E\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-license-picker-educational-discount\"\u003E\u003Clabel data-ol-plans-v2-license-picker-educational-discount-label\u003E\u003Cinput class=\"plans-v2-license-picker-educational-discount-checkbox\" type=\"checkbox\" id=\"license-picker-educational-discount\" autocomplete=\"off\" data-ol-plans-v2-license-picker-educational-discount-input event-tracking=\"plans-page-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Ci" + (" class=\"material-symbols material-symbols-outlined icon-sm\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003Ehelp\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-license-picker-educational-discount-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-license-picker-educational-discount-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount_info")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv class=\"match-non-discounted-price-alignment\"\u003E \u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"material-symbols material-symbols-outlined icon-green-round-background icon-sm\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-table-sticky-header","sticky",(withSwitch ? 'plans-table-sticky-header-with-switch' : 'plans-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_sticky_header_all"] = pug_interp = function(plansConfig){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-table-sticky-header-container\" data-ol-plans-v2-view=\"individual\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"group\"\u003E"; +pug_mixins["plans_table_sticky_header"](false, plansConfig.group); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"student\"\u003E"; +pug_mixins["plans_table_sticky_header"](true, plansConfig.student); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered monthly-annual-switch\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"monthly-annual-switch-text\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-top-switch text-center\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cul class=\"nav\" role=\"tablist\"\u003E\u003Cli class=\"active plans-switch-individual\" data-ol-plans-v2-view-tab=\"individual\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "individual"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" role=\"tab\" aria-controls=\"panel-individual\" aria-selected=\"true\"\u003E" + (pug.escape(null == (pug_interp = translate("indvidual_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-switch-group\" data-ol-plans-v2-view-tab=\"group\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "group"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" aria-controls=\"panel-group\" role=\"tab\" aria-selected=\"false\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("group_plans")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan\u003E(" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more")) ? "" : pug_interp)) + ")\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-switch-student\" data-ol-plans-v2-view-tab=\"student\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "student"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn\" aria-controls=\"panel-student\" role=\"tab\" aria-selected=\"false\"\u003E" + (pug.escape(null == (pug_interp = translate("student_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("annual", "plans-page-toggle-period"); +pug_html = pug_html + "\u003Cdiv class=\"row\" hidden data-ol-plans-v2-license-picker-container\u003E\u003Cdiv class=\"col-sm-12\"\u003E"; +pug_mixins["group_plans_license_picker"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["table_sticky_header_all"](plansConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-table-container\" hidden data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-table-container\" data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" id=\"panel-individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"group\" id=\"panel-group\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_group"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" id=\"panel-student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["currency_and_payment_methods"](); +pug_html = pug_html + "\u003Cdiv class=\"plans-page-quote-row\" data-ol-show-for-plan-type=\"individual\"\u003E"; +pug_mixins["collinsQuote1"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-page-quote-row plans-page-quote-row-hidden\" data-ol-show-for-plan-type=\"group\"\u003E"; +pug_mixins["bennettQuote1"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-page-quote-row plans-page-quote-row-hidden\" data-ol-show-for-plan-type=\"student\"\u003E"; +pug_mixins["collinsQuote2"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\" data-ol-plans-university-info-container hidden\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"card plans-v2-university-info-light\"\u003E\u003Cdiv\u003E\u003Ch3 class=\"plans-v2-university-info-header-light\"\u003E" + (pug.escape(null == (pug_interp = translate('would_you_like_to_see_a_university_subscription')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"plans-v2-university-info-text-light\"\u003E" + (pug.escape(null == (pug_interp = translate('student_and_faculty_support_make_difference')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Ca class=\"btn btn-secondary plans-v2-btn-header-light\" target=\"_blank\" href=\"\u002Ffor\u002Fsupport-an-overleaf-university-subscription\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "university-support"}\"\u003E" + (pug.escape(null == (pug_interp = translate('show_your_support')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["managingYourSubscription"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ1\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ1\"\u003ECan I change plans or cancel later?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EYes, you can do this at any time by going to \u003C\u002Fspan\u003E\u003Cstrong\u003EAccount\u003ESubscription \u003C\u002Fstrong\u003E\u003Cspan\u003Ewhen logged in to Overleaf. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When canceling, your subscription will continue until the end of the billing period.\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ2\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ2\"\u003EIf I change or cancel my Overleaf plan, will I lose my projects?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003ENo. Changing or canceling your plan won’t affect your projects, the only change will be to the features available to you. You can see which features are available only on paid plans in the comparison table.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#managingYourSubscriptionQ3\" aria-expanded=\"false\" aria-controls=\"managingYourSubscriptionQ3\"\u003ECan I pay by invoice or purchase order?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"managingYourSubscriptionQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EThis is possible when you’re purchasing a group subscription for five or more people, or a site license. For individual subscriptions, we can only accept payment online via credit card, debit card, or PayPal.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["overleafIndividualPlans"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ1\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ1\"\u003EHow does the free trial work?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EYou get full access to your chosen plan during your 7-day free trial, and there’s no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to \u003C\u002Fspan\u003E\u003Cstrong\u003EAccount\u003ESubscription \u003C\u002Fstrong\u003E\u003Cspan\u003Ewhen logged in to Overleaf (the trial will continue for the full 7 days).\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ2\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ2\"\u003EWhat’s a collaborator on an Overleaf individual subscription?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EA collaborator is someone you invite to work with you on a project. So, for example, on our Standard plan you can have up to 10 people collaborating with you on any given project. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ3\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ3\"\u003EThe individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003ENo. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 people per project to edit the project with you. Your collaborators can access features such as the full document history and extended compile time, but \u003C\u002Fspan\u003E\u003Cstrong\u003Eonly \u003C\u002Fstrong\u003E\u003Cspan\u003Efor the project(s) they’re working on with you. If your collaborators want access to those features on their own projects, they will need to purchase their own subscription. (If you work with the same people regularly, you might find a group subscription more cost effective.)\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ4\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ4\"\u003EDo collaborators also have access to the editing and collaboration features I’ve paid for?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ4\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cspan\u003EIf you have an Overleaf subscription, then your project collaborators will have access to features like real-time track changes and document history, but \u003C\u002Fspan\u003E\u003Cstrong\u003Eonly \u003C\u002Fstrong\u003E\u003Cspan\u003Efor the project(s) they’re working on with you. If your collaborators want access to those features on their own projects, they will need to purchase their own subscription. (If you work with the same people regularly, you might find a group subscription more cost effective.)\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ5\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ5\"\u003ECan I purchase an individual plan on behalf of someone else?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ5\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EIndividual subscriptions must be purchased by the account that will be the end user. If you want to purchase a plan for someone else, you’ll need to provide them with relevant payment details to enable them to make the purchase. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ6\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ6\"\u003EWho is eligible for the Student plan?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ6\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EAs the name suggests, the Student plan is only for students at educational institutions. This includes graduate students.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafIndividualPlansQ7\" aria-expanded=\"false\" aria-controls=\"overleafIndividualPlansQ7\"\u003ECan I transfer an individual subscription to someone else?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafIndividualPlansQ7\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003ENo. Individual plans can’t be transferred. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["overleafGroupPlans"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"ol-accordions-container\"\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ1\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ1\"\u003EWhat’s the difference between users and collaborators on an Overleaf group subscription?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ1\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003E\u003Cdiv\u003EOn any of our group plans, the number of users refers to the number of people you can invite to join your group. All of these people will have access to the plan’s paid-for features across all their projects, such as real-time track changes and document history. \u003C\u002Fdiv\u003E\u003Cdiv class=\"mt-2\"\u003ECollaborators are people that your group users may invite to work with them on their projects. So, for example, if you have the Group Standard plan, the users in your group can invite up to 10 people to work with them on a project. And if you have the Group Professional plan, your users can invite as many people to work with them as they want.\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ2\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ2\"\u003EIs an Overleaf Group plan more cost effective?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ2\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EOur Group subscriptions allow you to purchase access to our premium features for multiple people. They’re easy to manage, help save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ3\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ3\"\u003EWho is eligible for the educational discount?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ3\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EThe educational discount for group subscriptions is for students or faculty who are using Overleaf primarily for teaching. \u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"custom-accordion-item\"\u003E\u003Cbutton class=\"custom-accordion-header collapsed\" type=\"button\" data-toggle=\"collapse\" data-target=\"#overleafGroupPlansQ4\" aria-expanded=\"false\" aria-controls=\"overleafGroupPlansQ4\"\u003ECan I add more users to my group subscription at a later date?\u003Cspan class=\"custom-accordion-icon\"\u003E\u003Ci class=\"material-symbols material-symbols-outlined\" aria-hidden=\"true\"\u003Ekeyboard_arrow_down\u003C\u002Fi\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"collapse\" id=\"overleafGroupPlansQ4\"\u003E\u003Cdiv class=\"custom-accordion-body\"\u003EYes. To add more users to your subscription you’ll need to \u003Cbutton class=\"btn-link inline-green-link\" data-ol-open-contact-form-modal=\"general\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["eyebrow"] = pug_interp = function(text){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan class=\"mono-text\"\u003E\u003Cspan aria-hidden=\"true\"\u003E{\u003C\u002Fspan\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = text) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan aria-hidden=\"true\"\u003E}\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E"; +}; +var managingYourSubscription = 'managingYourSubscription' +var overleafIndividualPlans = 'overleafIndividualPlans' +var overleafGroupPlans = 'overleafGroupPlans' +pug_html = pug_html + "\u003Cdiv class=\"plans-faq\"\u003E\u003Cdiv class=\"row row-spaced-extra-large\"\u003E\u003Cdiv class=\"col-md-12 faq-heading-container\"\u003E\u003Ch2\u003E"; +pug_mixins["eyebrow"](translate("frequently_asked_questions")); +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("your_questions_answered")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cdiv class=\"ol-tabs-scrollable\"\u003E\u003Cdiv class=\"nav-tabs-container\"\u003E\u003Cul class=\"nav nav-tabs\" role=\"tablist\"\u003E\u003Cli class=\"active\" role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + managingYourSubscription, true, true)+pug.attr("aria-controls", managingYourSubscription, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('managing_your_subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + overleafIndividualPlans, true, true)+pug.attr("aria-controls", overleafIndividualPlans, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('overleaf_individual_plans')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli role=\"presentation\"\u003E\u003Ca" + (" role=\"tab\" data-toggle=\"tab\""+pug.attr("href", '#' + overleafGroupPlans, true, true)+pug.attr("aria-controls", overleafGroupPlans, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('overleaf_group_plans')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tab-content\"\u003E\u003Cdiv" + (" class=\"tab-pane active\""+" role=\"tabpanel\""+pug.attr("id", managingYourSubscription, true, true)) + "\u003E"; +pug_mixins["managingYourSubscription"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"tab-pane\""+" role=\"tabpanel\""+pug.attr("id", overleafIndividualPlans, true, true)) + "\u003E"; +pug_mixins["overleafIndividualPlans"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"tab-pane\""+" role=\"tabpanel\""+pug.attr("id", overleafGroupPlans, true, true)) + "\u003E"; +pug_mixins["overleafGroupPlans"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-faq-support\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('still_have_questions')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton data-ol-open-contact-form-modal=\"general\"\u003E\u003Cspan style=\"margin-right: 4px\"\u003E" + (pug.escape(null == (pug_interp = translate('contact_support')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"icon-md material-symbols material-symbols-rounded material-symbols-arrow-right\" aria-hidden=\"true\"\u003Earrow_right_alt\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["notificationIcon"] = pug_interp = function(type){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (type === 'info') { +pug_html = pug_html + "\u003Cspan class=\"material-symbols\" aria-hidden=\"true\"\u003Einfo\u003C\u002Fspan\u003E"; +} +else +if (type === 'success') { +pug_html = pug_html + "\u003Cspan class=\"material-symbols\" aria-hidden=\"true\"\u003Echeck_circle\u003C\u002Fspan\u003E"; +} +}; +pug_mixins["notification"] = pug_interp = function(options){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var {ariaLive, id, type, title, content, disclaimer, className} = options +var classNames = `notification notification-type-${type} ${className ? className : ''} ${isActionBelowContent ? 'notification-cta-below-content' : ''}` +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes([classNames], [true]), false, true)+pug.attr("aria-live", ariaLive, true, true)+" role=\"alert\""+pug.attr("id", id, true, true)) + "\u003E\u003Cdiv class=\"notification-icon\"\u003E"; +pug_mixins["notificationIcon"](type); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"notification-content-and-cta\"\u003E\u003Cdiv class=\"notification-content\"\u003E"; +if (title) { +pug_html = pug_html + "\u003Cp\u003E\u003Cb\u003E" + (pug.escape(null == (pug_interp = title) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003C\u002Fp\u003E"; +} +pug_html = pug_html + (pug.escape(null == (pug_interp = content) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +if (disclaimer) { +pug_html = pug_html + "\u003Cdiv class=\"notification-disclaimer\"\u003E" + (pug.escape(null == (pug_interp = disclaimer) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"modal fade group-customize-subscription-modal website-redesign-modal\" tabindex=\"-1\" role=\"dialog\" data-ol-group-plan-modal\u003E\u003Cdiv class=\"modal-dialog\" role=\"document\"\u003E\u003Cdiv class=\"modal-content\"\u003E\u003Cdiv class=\"modal-header\"\u003E\u003Cbutton" + (" class=\"close\""+" type=\"button\" data-dismiss=\"modal\""+pug.attr("aria-label", translate("close"), true, true)) + "\u003E\u003Ci class=\"material-symbols\" aria-hidden=\"true\"\u003Eclose\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Ch1 class=\"modal-title\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_group_subscription")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Ch2 class=\"modal-subtitle\"\u003E" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more_uppercase")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-body\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 text-center\"\u003E\u003Cdiv class=\"circle circle-lg\"\u003E\u003Cdiv class=\"group-price\"\u003E\u003Cspan data-ol-group-plan-display-price\u003E...\u003C\u002Fspan\u003E\u003Cspan\u003E \u002F" + (pug.escape(null == (pug_interp = translate('year')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cdiv" + (" class=\"group-price-per-user\""+pug.attr("data-ol-group-plan-price-per-user", translate('per_user'), true, true)) + "\u003E...\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"group-modal-features\"\u003E" + (pug.escape(null == (pug_interp = translate('each_user_will_have_access_to')) ? "" : pug_interp)) + ":\u003Cul class=\"list-unstyled\"\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'collaborator'), true, true)+" data-ol-group-plan-plan-code=\"collaborator\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("collabs_per_proj", {collabcount:10})) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'professional'), true, true)+" data-ol-group-plan-plan-code=\"professional\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli class=\"list-item-pro-features-header\"\u003E" + (pug.escape(null == (pug_interp = translate('all_premium_features')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('sync_dropbox_github')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('full_doc_history')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('track_changes')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E+ " + (pug.escape(null == (pug_interp = translate('more_lowercase')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cform class=\"form\" data-ol-group-plan-form\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"plan_code\"\u003E" + (pug.escape(null == (pug_interp = translate('plan')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E"; +// iterate groupPlanModalOptions.plan_codes +;(function(){ + var $$obj = groupPlanModalOptions.plan_codes; + if ('number' == typeof $$obj.length) { + for (var pug_index17 = 0, $$l = $$obj.length; pug_index17 < $$l; pug_index17++) { + var plan_code = $$obj[pug_index17]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === groupPlanModalDefaults.plan_code), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } else { + var $$l = 0; + for (var pug_index17 in $$obj) { + $$l++; + var plan_code = $$obj[pug_index17]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === groupPlanModalDefaults.plan_code), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"size\"\u003E" + (pug.escape(null == (pug_interp = translate('number_of_users')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"size\" event-tracking=\"groups-modal-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E"; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index18 = 0, $$l = $$obj.length; pug_index18 < $$l; pug_index18++) { + var size = $$obj[pug_index18]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index18 in $$obj) { + $$l++; + var size = $$obj[pug_index18]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\" data-ol-group-plan-form-currency\u003E\u003Clabel for=\"currency\"\u003E" + (pug.escape(null == (pug_interp = translate('currency')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"currency\"\u003E"; +// iterate groupPlanModalOptions.currencies +;(function(){ + var $$obj = groupPlanModalOptions.currencies; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var currency = $$obj[pug_index19]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var currency = $$obj[pug_index19]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"usage\"\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"group-plan-educational-discount\"\u003E\u003Cinput id=\"usage\" type=\"checkbox\" autocomplete=\"off\" event-tracking=\"groups-modal-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_disclaimer')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"educational-discount-section\"\u003E\u003Cdiv" + (pug.attr("hidden", (groupPlanModalDefaults.usage !== 'educational'), true, true)+pug.attr("data-ol-group-plan-educational-discount", true, true, true)) + "\u003E\u003Cdiv class=\"applied\" hidden data-ol-group-plan-educational-discount-applied\u003E"; +pug_mixins["notification"]({ariaLive: 'polite', content: translate('educational_discount_applied'), type: 'success', ariaLive: 'polite'}); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"ineligible\" hidden data-ol-group-plan-educational-discount-ineligible\u003E"; +pug_mixins["notification"]({ariaLive: 'polite', content: translate('educational_discount_available_for_groups_of_ten_or_more'), type: 'info', ariaLive: 'polite'}); +pug_html = pug_html + ("\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-footer\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-primary btn-lg\" data-ol-purchase-group-plan event-tracking=\"form-submitted-groups-modal-purchase-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate('purchase_now_lowercase')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cbr\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('need_more_than_x_licenses', {x: '50'})) ? "" : pug_interp)) + " \u003Cbutton class=\"btn btn-inline-link\" data-ol-open-contact-form-for-more-than-50-licenses\u003E" + (pug.escape(null == (pug_interp = translate('please_get_in_touch')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof(suppressFooter) == "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var item = $$obj[pug_index21]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var item = $$obj[pug_index22]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print website-redesign-fat-footer\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_business')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "currentView" in locals_for_with ? + locals_for_with.currentView : + typeof currentView !== 'undefined' ? currentView : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalDefaults" in locals_for_with ? + locals_for_with.groupPlanModalDefaults : + typeof groupPlanModalDefaults !== 'undefined' ? groupPlanModalDefaults : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "isActionBelowContent" in locals_for_with ? + locals_for_with.isActionBelowContent : + typeof isActionBelowContent !== 'undefined' ? isActionBelowContent : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "managingYourSubscription" in locals_for_with ? + locals_for_with.managingYourSubscription : + typeof managingYourSubscription !== 'undefined' ? managingYourSubscription : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "overleafGroupPlans" in locals_for_with ? + locals_for_with.overleafGroupPlans : + typeof overleafGroupPlans !== 'undefined' ? overleafGroupPlans : undefined, "overleafIndividualPlans" in locals_for_with ? + locals_for_with.overleafIndividualPlans : + typeof overleafIndividualPlans !== 'undefined' ? overleafIndividualPlans : undefined, "plansConfig" in locals_for_with ? + locals_for_with.plansConfig : + typeof plansConfig !== 'undefined' ? plansConfig : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js new file mode 100644 index 0000000..2ce1bd6 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js @@ -0,0 +1,2144 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, JSON, Object, URLSearchParams, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, countryCode, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, currentView, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, formatCurrency, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupPlanModalDefaults, groupPlanModalOptions, groupPlans, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, highlighted, initialLocalizedGroupPrice, isManagedAccount, itm_campaign, itm_content, itm_referrer, language, latamCountryBannerDetails, mathJaxPath, metadata, moduleIncludes, nav, plansConfig, projectDashboardReact, recommendedCurrency, scriptNonce, settings, showBrlGeoBanner, showInrGeoBanner, showLATAMBanner, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, websiteRedesignPlansVariant) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-recommendedCurrency\""+pug.attr("content", recommendedCurrency, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupPlans\" data-type=\"json\""+pug.attr("content", groupPlans, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currencySymbols\" data-type=\"json\""+pug.attr("content", groupPlanModalOptions.currencySymbols, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-itm_content\""+pug.attr("content", itm_content, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentView\""+pug.attr("content", currentView, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-countryCode\""+pug.attr("content", countryCode, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-websiteRedesignPlansVariant\""+pug.attr("content", websiteRedesignPlansVariant, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"content-page\"\u003E\u003Cdiv class=\"plans\"\u003E\u003Cdiv class=\"container\"\u003E"; +if (showInrGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showBrlGeoBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("brl_discount_offer_plans_page_banner", {flag: '🇧🇷'})) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (showLATAMBanner) { +pug_html = pug_html + "\u003Cdiv class=\"notification notification-type-success text-centered\"\u003E\u003Cdiv class=\"notification-content\"\u003E" + (null == (pug_interp = translate("latam_discount_offer_plans_page_banner", {flag: latamCountryBannerDetails.latamCountryFlag, country: latamCountryBannerDetails.country, currency: latamCountryBannerDetails.currency, discount: latamCountryBannerDetails.discount })) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header centered plans-header text-centered top-page-header\"\u003E\u003Ch1 class=\"text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate('choose_your_plan')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["features_premium"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli\u003E \u003C\u002Fli\u003E\u003Cli\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate('all_premium_features')) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('sync_dropbox_github')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('full_doc_history')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('track_changes')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E+ " + (pug.escape(null == (pug_interp = translate('more').toLowerCase()) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +}; +pug_mixins["gen_localized_price_for_plan_view"] = pug_interp = function(plan, view){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = formatCurrency(settings.localizedPlanPricing[recommendedCurrency][plan][view], recommendedCurrency, language, true)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}; +pug_mixins["currency_and_payment_methods"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cp class=\"text-centered\"\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("all_prices_displayed_are_in_currency", { recommendedCurrency })) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E \u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("subject_to_additional_vat")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Ci class=\"fa fa-cc-mastercard fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Mastercard' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-visa fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Visa' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-amex fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Amex' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci class=\"fa fa-cc-paypal fa-2x\" aria-hidden=\"true\"\u003E \u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate('payment_method_accepted', { paymentMethod: 'Paypal' })) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["plans_v2_table"] = pug_interp = function(period, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var baseColspan = config.baseColspan || 1 +var maxColumn = config.maxColumn || 4 +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([`plans-v2-table-cols-${tableHeadKeys.length}`], [true]), false, true)) + "\u003E\u003Cth" + (pug.attr("colspan", baseColspan, true, true)) + "\u003E\u003C\u002Fth\u003E"; +for (var i = 0; i < maxColumn; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var tableHeadOptions = Object.values(config.tableHead)[i] || {} +var colspan = tableHeadOptions.colspan || baseColspan +var highlighted = i === config.highlightedColumn.index +var eventTrackingKey = config.eventTrackingKey +var additionalEventSegmentation = config.additionalEventSegmentation || {} +if (highlighted) { + var thClass = 'plans-v2-table-green-highlighted' +} else if (i === config.highlightedColumn.index - 1) { + var thClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var thClass = '' +} +thClass += ' plans-v2-table-column-header' +if (colspan > 1) { + var scopeValue = 'colgroup' +} +else { + var scopeValue = 'col' +} +switch (tableHeadKey){ +case 'individual_free': +var ariaLabel = translate("free") + break; +case 'individual_collaborator': +var ariaLabel = translate("standard") + break; +case 'individual_professional': +var ariaLabel = translate("professional") + break; +case 'group_collaborator': +var ariaLabel = translate("group_standard") + break; +case 'group_professional': +var ariaLabel = translate("group_professional") + break; +case 'group_organization': +var ariaLabel = translate("organization") + break; +case 'student_free': +var ariaLabel = translate("free") + break; +case 'student_student': +var ariaLabel = translate("student") + break; +case 'student_university': +var ariaLabel = translate("university") + break; +default: +var ariaLabel = undefined + break; +} +pug_html = pug_html + "\u003Cth" + (pug.attr("class", pug.classes([thClass], [true]), false, true)+pug.attr("aria-label", ariaLabel, true, true)+pug.attr("colspan", colspan, true, true)+pug.attr("scope", scopeValue, true, true)) + "\u003E\u003Cdiv class=\"plans-v2-table-th\"\u003E"; +if ((highlighted)) { +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-green-highlighted-text\"\u003E" + (pug.escape(null == (pug_interp = translate(config.highlightedColumn.text[period]).toUpperCase()) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +switch (tableHeadKey){ +case 'individual_free': +pug_mixins["table_head_individual_free"](highlighted, period); + break; +case 'individual_collaborator': +pug_mixins["table_head_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'individual_professional': +pug_mixins["table_head_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +case 'group_collaborator': +pug_mixins["table_head_group_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_professional': +pug_mixins["table_head_group_professional"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'group_organization': +pug_mixins["table_head_group_organization"](highlighted, eventTrackingKey, additionalEventSegmentation); + break; +case 'student_free': +pug_mixins["table_head_student_free"](highlighted, period); + break; +case 'student_student': +pug_mixins["table_head_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period, tableHeadOptions.showExtraContent); + break; +case 'student_university': +pug_mixins["table_head_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +} +pug_html = pug_html + "\u003C\u002Ftr\u003E"; +// iterate config.features +;(function(){ + var $$obj = config.features; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var featuresPerSection = $$obj[pug_index12]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var featuresPerSection = $$obj[pug_index12]; +var dividerColspan = Object.values(config.tableHead).reduce((prev, curr) => (prev) + (curr.colspan || 1), baseColspan) +if (featuresPerSection.divider) { +pug_html = pug_html + "\u003Ctr class=\"plans-v2-table-divider\"\u003E\u003Ctd" + (pug.attr("class", pug.classes([((config.highlightedColumn.index === Object.keys(config.tableHead).length - 1) ? 'plans-v2-table-divider-highlighted' : '')], [true]), false, true)+pug.attr("colspan", dividerColspan, true, true)) + "\u003E\u003Cdiv\u003E\u003Cb class=\"plans-v2-table-divider-label\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerLabel)) ? "" : pug_interp)) + "\u003C\u002Fb\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-divider-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-divider-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-divider-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(featuresPerSection.dividerInfo), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(featuresPerSection.dividerInfo)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; +} +// iterate featuresPerSection.items +;(function(){ + var $$obj = featuresPerSection.items; + if ('number' == typeof $$obj.length) { + for (var featureIndex = 0, $$l = $$obj.length; featureIndex < $$l; featureIndex++) { + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var featureIndex in $$obj) { + $$l++; + var feature = $$obj[featureIndex]; +pug_html = pug_html + "\u003Ctr" + (pug.attr("class", pug.classes([(featureIndex === (featuresPerSection.items.length - 1) ? `plans-v2-table-row-last-row-per-section plans-v2-table-cols-${tableHeadKeys.length}` : `plans-v2-table-cols-${tableHeadKeys.length}`)], [true]), false, true)) + "\u003E\u003Cth" + (" class=\"plans-v2-table-row-header\""+" event-tracking=\"plans-page-table\" event-tracking-trigger=\"hover\" event-tracking-ga=\"subscription-funnel\""+pug.attr("event-tracking-label", `${feature.feature}`, true, true)+pug.attr("colspan", baseColspan, true, true)+" scope=\"row\"") + "\u003E\u003Cdiv class=\"plans-v2-table-feature-name\"\u003E"; +if (feature.info) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-table-feature-name-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"right\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-table-feature-name-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-table-feature-name-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate(feature.info), true, true)+" data-placement=\"top\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate(feature.info)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate(feature.feature)) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fth\u003E"; +// iterate Object.keys(feature.plans) +;(function(){ + var $$obj = Object.keys(feature.plans); + if ('number' == typeof $$obj.length) { + for (var planIndex = 0, $$l = $$obj.length; planIndex < $$l; planIndex++) { + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } else { + var $$l = 0; + for (var planIndex in $$obj) { + $$l++; + var plan = $$obj[planIndex]; +var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {} +var colspan = tableHeadOptions.colspan || baseColspan +if (planIndex === config.highlightedColumn.index) { + var tdClass = 'plans-v2-table-green-highlighted' +} else if (planIndex === config.highlightedColumn.index - 1) { + var tdClass = 'plans-v2-table-cell-before-green-highlighted-column' +} else { + var tdClass = '' +} +pug_html = pug_html + "\u003Ctd" + (pug.attr("class", pug.classes([tdClass], [true]), false, true)+pug.attr("colspan", colspan, true, true)) + "\u003E"; +pug_mixins["table_cell"](feature, plan); +pug_html = pug_html + "\u003C\u002Ftd\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftr\u003E"; + } + } +}).call(this); + + } + } +}).call(this); + +}; +pug_mixins["table_individual"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-individual\"\u003E"; +pug_mixins["plans_v2_table"](period, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_group"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-group\"\u003E"; +pug_mixins["plans_v2_table"]('annual', plansConfig.group); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_student"] = pug_interp = function(period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ctable class=\"card plans-v2-table plans-v2-table-student\"\u003E"; +pug_mixins["plans_v2_table"](period, plansConfig.student); +pug_html = pug_html + "\u003C\u002Ftable\u003E"; +}; +pug_mixins["table_head_individual_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('collaborator', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_collaborator"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('professional', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("unlimited_collabs_rt",{},["b"])) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_individual_professional"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_standard")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('collaborator', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"collaborator\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.collaborator) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("up_to")) ? "" : pug_interp)) + " " + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '10'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('collaborator'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_collaborator"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_collaborator'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("group_professional")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-price-container\"\u003E\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"]('professional', 'annual'); +pug_html = pug_html + "\u003C\u002Fs\u003E\u003Cp class=\"plans-v2-table-price\"\u003E\u003Cspan data-ol-plans-v2-group-price-per-user=\"professional\"\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.pricePerUser.professional) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E" + (pug.escape(null == (pug_interp = translate('per_user_year')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collaborators_in_each_project")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E"; +pug_mixins["table_head_group_total_per_year"]('professional'); +pug_html = pug_html + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_professional"](highlighted, eventTrackingKey); +pug_mixins["additional_link_group"](eventTrackingKey, additionalEventSegmentation, 'group_professional'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_group_total_per_year"] = pug_interp = function(groupPlan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var initialLicenseSize = '2' +pug_html = pug_html + "\u003Cspan" + (" class=\"plans-v2-group-total-price\""+pug.attr("data-ol-plans-v2-group-total-price", groupPlan, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = initialLocalizedGroupPrice.price[groupPlan]) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E "; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index19 = 0, $$l = $$obj.length; pug_index19 < $$l; pug_index19++) { + var licenseSize = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } else { + var $$l = 0; + for (var pug_index19 in $$obj) { + $$l++; + var licenseSize = $$obj[pug_index19]; +pug_html = pug_html + "\u003Cspan" + (pug.attr("hidden", (licenseSize !== initialLicenseSize), true, true)+pug.attr("data-ol-plans-v2-table-th-group-license-size", licenseSize, true, true)) + "\u003E" + (null == (pug_interp = translate("total_per_year_for_x_users", {licenseSize})) ? "" : pug_interp) + "\u003C\u002Fspan\u003E"; + } + } +}).call(this); + +}; +pug_mixins["table_head_group_organization"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: 'group_organization-link', location: 'table-header-list', period: 'annual', currency: recommendedCurrency } +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("organization")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("best_choices_companies_universities_non_profits")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("for_groups_or_site_wide")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca" + (" target=\"_blank\" href=\"\u002Ffor\u002Fcontact-sales\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("also_available_as_on_premises")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_group_organization"](highlighted, eventTrackingKey); +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link invisible\" aria-hidden=\"true\"\u003E\u003C\u002Fsmall\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_free"] = pug_interp = function(highlighted, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("free")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('free', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("one_collaborator")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_free"](highlighted); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period, showExtraContent){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("student")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +pug_mixins["table_head_price"]('student', period); +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cul class=\"plans-v2-table-th-content-benefit\"\u003E\u003Cli\u003E" + (null == (pug_interp = translate("x_collaborators_per_project", {collaboratorsCount: '6'})) ? "" : pug_interp) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate("all_premium_features")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +if (showExtraContent) { +pug_html = pug_html + "\u003Cli\u003E \u003Cb\u003E" + (null == (pug_interp = translate("for_students_only")) ? "" : pug_interp) + "\u003C\u002Fb\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_student"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-th-content\"\u003E\u003Cp class=\"plans-v2-table-th-content-title\"\u003E" + (pug.escape(null == (pug_interp = translate("university")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-comments-icon\"\u003E\u003Ci class=\"fa fa-comments-o\"\u003E\u003C\u002Fi\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-mobile\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cp class=\"plans-v2-table-th-content-benefit\"\u003E" + (null == (pug_interp = translate("all_our_group_plans_offer_educational_discount", {}, [{name: 'b'}, {name: 'b'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"plans-v2-table-btn-buy-container-desktop\"\u003E"; +pug_mixins["btn_buy_student_university"](highlighted, eventTrackingKey, additionalEventSegmentation, period); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_head_price"] = pug_interp = function(plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-price-container\"\u003E"; +if (plan !== 'free' && period === 'annual') { +pug_html = pug_html + "\u003Cs class=\"plans-v2-table-price-before-discount\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, 'monthlyTimesTwelve'); +pug_html = pug_html + "\u003C\u002Fs\u003E"; +} +pug_html = pug_html + "\u003Cp class=\"plans-v2-table-price\"\u003E"; +pug_mixins["gen_localized_price_for_plan_view"](plan, period); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003Cp class=\"plans-v2-table-price-period-label\"\u003E"; +if (period == 'annual') { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_year")) ? "" : pug_interp)); +} +else { +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("per_month")) ? "" : pug_interp)); +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_cell"] = pug_interp = function(feature, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var planValue = feature.plans[plan] +var featureName = feature.feature +pug_html = pug_html + "\u003Cdiv class=\"plans-v2-table-cell\"\u003E\u003Cdiv" + (" class=\"plans-v2-table-cell-content\""+pug.attr("data-ol-plans-v2-table-cell-plan", plan, true, true)+pug.attr("data-ol-plans-v2-table-cell-feature", featureName, true, true)) + "\u003E"; +if ((feature.value === 'str')) { +pug_html = pug_html + (null == (pug_interp = translate(planValue, {}, ['strong'])) ? "" : pug_interp); +} +else +if ((feature.value === 'bool')) { +if ((planValue)) { +pug_html = pug_html + "\u003Ci class=\"fa fa-check\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan aria-hidden=\"true\"\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("feature_not_included")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["group_plans_license_picker"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cform class=\"plans-v2-license-picker-form\" data-ol-plans-v2-license-picker-form\u003E\u003Cdiv class=\"plans-v2-license-picker-select-container\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("number_of_users_with_colon")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cselect class=\"plans-v2-license-picker-select\" name=\"plans-v2-license-picker-select\" id=\"plans-v2-license-picker-select\" autocomplete=\"off\" data-ol-plans-v2-license-picker-select event-tracking=\"plans-page-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E\u003Coption value=\"2\"\u003E2\u003C\u002Foption\u003E\u003Coption value=\"3\"\u003E3\u003C\u002Foption\u003E\u003Coption value=\"4\"\u003E4\u003C\u002Foption\u003E\u003Coption value=\"5\"\u003E5\u003C\u002Foption\u003E\u003Coption value=\"10\"\u003E10\u003C\u002Foption\u003E\u003Coption value=\"20\"\u003E20\u003C\u002Foption\u003E\u003Coption value=\"50\"\u003E50\u003C\u002Foption\u003E\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-license-picker-educational-discount\"\u003E\u003Clabel class=\"plans-v2-license-picker-educational-discount-label\" data-ol-plans-v2-license-picker-educational-discount-label\u003E\u003Cinput class=\"plans-v2-license-picker-educational-discount-checkbox\" type=\"checkbox\" id=\"license-picker-educational-discount\" autocomplete=\"off\" data-ol-plans-v2-license-picker-educational-discount-input event-tracking=\"plans-page-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Ci" + (" class=\"fa fa-question-circle plans-v2-license-picker-educational-discount-question-icon\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E\u003C\u002Fi\u003E\u003Cspan class=\"plans-v2-license-picker-educational-discount-learn-more-container\"\u003E\u003Cspan\u003E(\u003C\u002Fspan\u003E\u003Cspan" + (" class=\"plans-v2-license-picker-educational-discount-learn-more-text\""+" data-toggle=\"tooltip\""+pug.attr("title", translate("apply_educational_discount_info"), true, true)+" data-placement=\"bottom\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("learn_more_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan\u003E)\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("apply_educational_discount_info")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +}; +pug_mixins["btn_buy_individual"] = pug_interp = function(highlighted, eventTrackingKey, subscriptionPlan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+pug.attr("data-ol-start-new-subscription", subscriptionPlan, true, true)+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)) + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_individual_free"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy","invisible",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,false,true]), false, true)+" aria-hidden=\"true\"") + "\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_individual_collaborator"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'collaborator', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'collaborator', period); +} +}; +pug_mixins["btn_buy_individual_professional"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["btn_buy_individual"](highlighted, eventTrackingKey, 'professional', period); +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'professional', period); +} +}; +pug_mixins["btn_buy_group_collaborator"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_collaborator\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_professional"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_professional\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\"") + "\u003E\u003Cspan class=\"hidden-desktop\"\u003E" + (pug.escape(null == (pug_interp = translate("customize")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan class=\"hidden-mobile\"\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_plan")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_group_organization"] = pug_interp = function(highlighted, eventTrackingKey){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"group_organization\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+" data-ol-item-view=\"annual\""+pug.attr("data-ol-has-custom-href", true, true, true)+" data-ol-location=\"table-header\" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["btn_buy_student_free"] = pug_interp = function(highlighted){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if ((!getSessionUser())) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Fregister\"") + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +} +}; +pug_mixins["btn_buy_student_student"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" data-ol-start-new-subscription=\"student\""+pug.attr("data-ol-event-tracking-key", eventTrackingKey, true, true)+pug.attr("data-ol-item-view", period, true, true)+" data-ol-location=\"card\"") + "\u003E"; +if ((period === 'monthly')) { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("try_for_free")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +else { +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E"; +if ((period === 'monthly')) { +pug_mixins["additional_link_buy"](eventTrackingKey, additionalEventSegmentation, 'student', period); +} +}; +pug_mixins["btn_buy_student_university"] = pug_interp = function(highlighted, eventTrackingKey, additionalEventSegmentation, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var segmentation = JSON.stringify(Object.assign({}, {button: 'student-university', location: 'table-header-list', period}, additionalEventSegmentation)) +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes(["btn","plans-v2-table-btn-buy",(highlighted ? 'btn-primary' : 'btn-default')], [false,false,true]), false, true)+" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E"; +}; +pug_mixins["additional_link_group"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (" href=\"\u002Ffor\u002Fcontact-sales\" target=\"_blank\""+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("contact_us_lowercase")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["additional_link_buy"] = pug_interp = function(eventTrackingKey, additionalEventSegmentation, plan, period){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var buttonSegmentation = plan + '-link' +additionalEventSegmentation = additionalEventSegmentation || {} +var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', currency: recommendedCurrency } +var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'} +var itmReferrer = itm_referrer ? { itm_referrer } : {} +var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer}) +pug_html = pug_html + "\u003Csmall class=\"plans-v2-table-th-content-additional-link\"\u003E" + (pug.escape(null == (pug_interp = translate("or")) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `/user/subscription/new?${qs.toString()}`, true, true)+pug.attr("event-tracking", eventTrackingKey, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", segmentation, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("buy_now_no_exclamation_mark")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fsmall\u003E"; +}; +pug_mixins["plans_v2_table_sticky_header"] = pug_interp = function(withSwitch, config){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var tableHeadKeys = Object.keys(config.tableHead) +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["row","plans-v2-table-sticky-header","sticky",(withSwitch ? 'plans-v2-table-sticky-header-with-switch' : 'plans-v2-table-sticky-header-without-switch')], [false,false,false,true]), false, true)+pug.attr("data-ol-plans-v2-table-sticky-header", true, true, true)) + "\u003E"; +for (var i = 0; i < tableHeadKeys.length; i++) +{ +var tableHeadKey = tableHeadKeys[i] +var translateKey = tableHeadKey.split('_')[1] +if (config.highlightedColumn.index === i) { + var elClass = 'plans-v2-table-sticky-header-item-green-highlighted' +} else { + var elClass = '' +} +pug_html = pug_html + "\u003Cdiv" + (pug.attr("class", pug.classes(["plans-v2-table-sticky-header-item",elClass], [false,true]), false, true)) + "\u003E"; +switch (tableHeadKey){ +case 'individual_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_professional': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(tableHeadKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +case 'group_collaborator': +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('group_standard')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +default: +pug_html = pug_html + "\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(translateKey)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; + break; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["table_sticky_header_all"] = pug_interp = function(plansConfig){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" data-ol-plans-v2-view=\"individual\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](true, plansConfig.individual); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"group\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](false, plansConfig.group); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-sticky-header-container\" hidden data-ol-plans-v2-view=\"student\"\u003E"; +pug_mixins["plans_v2_table_sticky_header"](true, plansConfig.student); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["monthly_annual_switch"] = pug_interp = function(initialState, eventTracking, eventSegmentation){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +var monthlyAnnualToggleChecked = initialState === 'monthly' +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-4 col-md-offset-4 text-centered plans-v2-m-a-switch-container\" data-ol-plans-v2-m-a-switch-container\u003E\u003Cdiv class=\"plans-v2-m-a-switch-annual-text-container\"\u003E\u003Cspan class=\"underline\" data-ol-plans-v2-m-a-switch-text=\"annual\"\u003E" + (pug.escape(null == (pug_interp = translate("annual")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["tooltip","in","left","plans-v2-m-a-tooltip",monthlyAnnualToggleChecked ? 'plans-v2-m-a-tooltip-monthly-selected' : ''], [false,false,false,false,true]), false, true)+" role=\"tooltip\""+pug.attr("data-ol-plans-v2-m-a-tooltip", true, true, true)) + "\u003E\u003Cdiv class=\"tooltip-arrow\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"tooltip-inner\"\u003E\u003Cspan" + (pug.attr("hidden", !monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"monthly\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("save_20_percent_by_paying_annually")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan" + (pug.attr("hidden", monthlyAnnualToggleChecked, true, true)+" data-ol-tooltip-period=\"annual\"") + "\u003E" + (pug.escape(null == (pug_interp = translate("saving_20_percent")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"plans-v2-m-a-switch\" data-ol-plans-v2-m-a-switch\u003E\u003Cinput" + (" type=\"checkbox\""+pug.attr("checked", monthlyAnnualToggleChecked, true, true)+" role=\"switch\""+pug.attr("aria-label", translate("select_monthly_plans"), true, true)+" autocomplete=\"off\""+pug.attr("event-tracking", eventTracking, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\""+pug.attr("event-segmentation", eventSegmentation, true, true)) + "\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003Cspan data-ol-plans-v2-m-a-switch-text=\"monthly\"\u003E" + (pug.escape(null == (pug_interp = translate("monthly")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-top-switch\"\u003E\u003Cdiv class=\"col-xs-12\"\u003E\u003Cul class=\"nav plans-v2-nav\" role=\"tablist\"\u003E\u003Cli class=\"active plans-v2-top-switch-individual\" data-ol-plans-v2-view-tab=\"individual\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "individual"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" role=\"tab\" aria-controls=\"panel-individual\" aria-selected=\"true\"\u003E" + (pug.escape(null == (pug_interp = translate("indvidual_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-v2-top-switch-group\" data-ol-plans-v2-view-tab=\"group\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "group"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" aria-controls=\"panel-group\" href=\"#\" role=\"tab\" aria-selected=\"false\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate("group_plans")) ? "" : pug_interp)) + " \u003C\u002Fspan\u003E\u003Cspan\u003E(" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more")) ? "" : pug_interp)) + ")\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003Cli class=\"plans-v2-top-switch-student\" data-ol-plans-v2-view-tab=\"student\" event-tracking=\"plans-page-toggle-plan\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-segmentation=\"{"button": "student"}\" role=\"presentation\"\u003E\u003Cbutton class=\"btn btn-default-outline\" aria-controls=\"panel-student\" href=\"#\" role=\"tab\" aria-selected=\"false\"\u003E" + (pug.escape(null == (pug_interp = translate("student_plans")) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["monthly_annual_switch"]("annual", "plans-page-toggle-period"); +pug_html = pug_html + "\u003Cdiv class=\"row\" hidden data-ol-plans-v2-license-picker-container\u003E\u003Cdiv class=\"col-sm-12\"\u003E"; +pug_mixins["group_plans_license_picker"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["table_sticky_header_all"](plansConfig); +pug_html = pug_html + "\u003Cdiv class=\"row plans-v2-table-container\" hidden data-ol-plans-v2-period=\"monthly\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('monthly'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row plans-v2-table-container\" data-ol-plans-v2-period=\"annual\"\u003E\u003Cdiv class=\"col-sm-12\" data-ol-plans-v2-view=\"individual\" id=\"panel-individual\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_individual"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"group\" id=\"panel-group\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_group"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-12\" hidden data-ol-plans-v2-view=\"student\" id=\"panel-student\" role=\"tabpanel\"\u003E\u003Cdiv class=\"row\"\u003E"; +pug_mixins["table_student"]('annual'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"invisible\" aria-hidden=\"true\" data-ol-plans-v2-table-sticky-header-stop\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["currency_and_payment_methods"](); +pug_html = pug_html + "\u003Cdiv class=\"row row-spaced-large text-centered\" data-ol-plans-university-info-container hidden\u003E\u003Cdiv class=\"col-sm-8 col-sm-offset-2 col-xs-12\"\u003E\u003Cdiv class=\"card plans-v2-university-info\"\u003E\u003Ch3 class=\"plans-v2-university-info-header\"\u003E" + (pug.escape(null == (pug_interp = translate('would_you_like_to_see_a_university_subscription')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"plans-v2-university-info-text\"\u003E" + (pug.escape(null == (pug_interp = translate('student_and_faculty_support_make_difference')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Ca" + (" class=\"btn plans-v2-btn-header text-capitalize plans-v2-btn-university-info\""+" target=\"_blank\" href=\"\u002Ffor\u002Fsupport-an-overleaf-university-subscription\" event-tracking=\"plans-page-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", {button: "university-support", currency: recommendedCurrency}, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('show_your_support')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header plans-header text-centered\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('in_good_company')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-3\"\u003E\u003Cdiv class=\"circle-img\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('advocates/schultz.jpg'), true, true)+" alt=\"Kevin Schultz\"") + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-9\"\u003E\u003Cblockquote\u003E\u003Cp\u003EIt is the ability to collaborate very easily that drew me to Overleaf.\u003C\u002Fp\u003E\u003Cfooter\u003EKevin Schultz, Assistant Professor of Physics, Hartwick College\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-3\"\u003E\u003Cdiv class=\"circle-img\"\u003E\u003Cimg" + (pug.attr("src", buildImgPath('advocates/dagoret-campagne.jpg'), true, true)+" alt=\"Dr Sylvie Dagoret-Campagne\"") + "\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-9\"\u003E\u003Cblockquote\u003E\u003Cp\u003EOverleaf is a great educational tool for publishing scientific documents.\u003C\u002Fp\u003E\u003Cfooter\u003EDr Sylvie Dagoret-Campagne, Director of Research at CNRS, University of Paris-Saclay\u003C\u002Ffooter\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"plans-v2-faq\"\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"page-header plans-header text-centered\"\u003E\u003Ch2\u003EFAQ\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph', {}, [{name: 'strong'}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_do_collab_need_on_paid_plan_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_do_collab_need_on_paid_plan_answer', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_Accounts_and_Subscriptions", target: '_blank'}}, { name: 'a', attrs: { href: "/learn/how-to/Overleaf_premium_features", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_answer_first_paragraph', {}, [{ name: 'a', attrs: { href: "/for/universities", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_i_have_free_account_want_subscription_how_answer_second_paragraph', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_Accounts_and_Subscriptions", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_first_paragraph')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cbr\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_the_individual_standard_plan_10_collab_second_paragraph', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Overleaf_premium_features#Account_and_project_level_features", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_does_a_group_plan_work_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (null == (pug_interp = translate('faq_how_does_a_group_plan_work_answer', {}, [{ name: 'a', attrs: { href: "/learn/how-to/Joining_an_Overleaf_Group_Subscription", target: '_blank'}}, { name: 'a', attrs: { href: "/learn/how-to/Managing_a_group_subscription", target: '_blank'}}, { name: 'a', attrs: { href: "/contact", target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_free_trial_works_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_how_free_trial_works_answer_v2', { len:'7' })) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_change_plans_or_cancel_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_change_plans_or_cancel_answer')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('faq_pay_by_invoice_question')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('faq_pay_by_invoice_answer_v2')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"plans-header text-centered\"\u003E\u003Chr\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('still_have_questions')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cbutton class=\"btn plans-v2-btn-header text-capitalize\" data-ol-open-contact-form-modal=\"general\"\u003E" + (pug.escape(null == (pug_interp = translate('contact_us')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row row-spaced-large\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E\u003Cdiv class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" data-ol-group-plan-modal\u003E\u003Cdiv class=\"modal-dialog\" role=\"document\"\u003E\u003Cdiv class=\"modal-content\"\u003E\u003Cdiv class=\"modal-header\"\u003E\u003Cbutton" + (" class=\"close\""+" type=\"button\" data-dismiss=\"modal\""+pug.attr("aria-label", translate("close"), true, true)) + "\u003E\u003Cspan aria-hidden=\"true\"\u003E×\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate("customize_your_group_subscription")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("save_30_percent_or_more_uppercase")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-body plans group-subscription-modal\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 text-center\"\u003E\u003Cdiv class=\"circle circle-lg\"\u003E\u003Cspan data-ol-group-plan-display-price\u003E...\u003C\u002Fspan\u003E\u003Cspan class=\"small\"\u003E\u002F " + (pug.escape(null == (pug_interp = translate('year')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbr\u003E\u003Cspan" + (" class=\"circle-subtext\""+pug.attr("data-ol-group-plan-price-per-user", translate('per_user'), true, true)) + "\u003E...\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('each_user_will_have_access_to')) ? "" : pug_interp)) + ":\u003C\u002Fli\u003E\u003Cli\u003E \u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'collaborator'), true, true)+" data-ol-group-plan-plan-code=\"collaborator\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("collabs_per_proj", {collabcount:10})) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\u003Cli" + (pug.attr("hidden", (groupPlanModalDefaults.plan_code !== 'professional'), true, true)+" data-ol-group-plan-plan-code=\"professional\"") + "\u003E\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = translate("unlimited_collabs")) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +pug_mixins["features_premium"](); +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-md-6\"\u003E\u003Cform class=\"form\" data-ol-group-plan-form\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"plan_code\"\u003E" + (pug.escape(null == (pug_interp = translate('plan')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E"; +// iterate groupPlanModalOptions.plan_codes +;(function(){ + var $$obj = groupPlanModalOptions.plan_codes; + if ('number' == typeof $$obj.length) { + for (var pug_index20 = 0, $$l = $$obj.length; pug_index20 < $$l; pug_index20++) { + var plan_code = $$obj[pug_index20]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === "collaborator"), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } else { + var $$l = 0; + for (var pug_index20 in $$obj) { + $$l++; + var plan_code = $$obj[pug_index20]; +pug_html = pug_html + "\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput" + (" type=\"radio\" name=\"plan_code\""+pug.attr("checked", (plan_code.code === "collaborator"), true, true)+pug.attr("value", plan_code.code, true, true)+pug.attr("data-ol-group-plan-code", plan_code.code, true, true)) + "\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate(plan_code.i18n)) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"size\"\u003E" + (pug.escape(null == (pug_interp = translate('number_of_users')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"size\" event-tracking=\"groups-modal-group-size\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"select\"\u003E"; +// iterate groupPlanModalOptions.sizes +;(function(){ + var $$obj = groupPlanModalOptions.sizes; + if ('number' == typeof $$obj.length) { + for (var pug_index21 = 0, $$l = $$obj.length; pug_index21 < $$l; pug_index21++) { + var size = $$obj[pug_index21]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index21 in $$obj) { + $$l++; + var size = $$obj[pug_index21]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", size, true, true)+pug.attr("selected", (size === groupPlanModalDefaults.size), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = size) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\" data-ol-group-plan-form-currency\u003E\u003Clabel for=\"currency\"\u003E" + (pug.escape(null == (pug_interp = translate('currency')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cselect class=\"form-control\" id=\"currency\"\u003E"; +// iterate groupPlanModalOptions.currencies +;(function(){ + var $$obj = groupPlanModalOptions.currencies; + if ('number' == typeof $$obj.length) { + for (var pug_index22 = 0, $$l = $$obj.length; pug_index22 < $$l; pug_index22++) { + var currency = $$obj[pug_index22]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } else { + var $$l = 0; + for (var pug_index22 in $$obj) { + $$l++; + var currency = $$obj[pug_index22]; +pug_html = pug_html + "\u003Coption" + (pug.attr("value", currency.code, true, true)+pug.attr("selected", (currency.code === groupPlanModalDefaults.currency), true, true)) + "\u003E" + (pug.escape(null == (pug_interp = currency.display) ? "" : pug_interp)) + "\u003C\u002Foption\u003E"; + } + } +}).call(this); + +pug_html = pug_html + ("\u003C\u002Fselect\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"usage\"\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003C\u002Fdiv\u003E\u003Clabel class=\"group-plan-option\"\u003E\u003Cinput id=\"usage\" type=\"checkbox\" autocomplete=\"off\" event-tracking=\"groups-modal-edu-discount\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\" event-tracking-element=\"checkbox\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_disclaimer')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Flabel\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 text-center\"\u003E\u003Cdiv class=\"educational-discount-badge\"\u003E\u003Cdiv" + (pug.attr("hidden", (groupPlanModalDefaults.usage !== 'educational'), true, true)+pug.attr("data-ol-group-plan-educational-discount", true, true, true)) + "\u003E\u003Cp class=\"applied\" hidden data-ol-group-plan-educational-discount-applied\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_applied')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"ineligible\" hidden data-ol-group-plan-educational-discount-ineligible\u003E" + (pug.escape(null == (pug_interp = translate('educational_discount_available_for_groups_of_ten_or_more')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"modal-footer\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-primary btn-lg\" data-ol-purchase-group-plan event-tracking=\"form-submitted-groups-modal-purchase-click\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate('purchase_now')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Chr class=\"thin\"\u003E\u003Ca href data-ol-open-contact-form-for-more-than-50-licenses\u003E" + (pug.escape(null == (pug_interp = translate('need_more_than_to_licenses_get_in_touch')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E" + (null == (pug_interp = moduleIncludes("contactModalGeneral-marketing", locals)) ? "" : pug_interp)); +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index24 = 0, $$l = $$obj.length; pug_index24 < $$l; pug_index24++) { + var item = $$obj[pug_index24]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index24 in $$obj) { + $$l++; + var item = $$obj[pug_index24]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index25 = 0, $$l = $$obj.length; pug_index25 < $$l; pug_index25++) { + var item = $$obj[pug_index25]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index25 in $$obj) { + $$l++; + var item = $$obj[pug_index25]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "JSON" in locals_for_with ? + locals_for_with.JSON : + typeof JSON !== 'undefined' ? JSON : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "URLSearchParams" in locals_for_with ? + locals_for_with.URLSearchParams : + typeof URLSearchParams !== 'undefined' ? URLSearchParams : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "countryCode" in locals_for_with ? + locals_for_with.countryCode : + typeof countryCode !== 'undefined' ? countryCode : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "currentView" in locals_for_with ? + locals_for_with.currentView : + typeof currentView !== 'undefined' ? currentView : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "formatCurrency" in locals_for_with ? + locals_for_with.formatCurrency : + typeof formatCurrency !== 'undefined' ? formatCurrency : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupPlanModalDefaults" in locals_for_with ? + locals_for_with.groupPlanModalDefaults : + typeof groupPlanModalDefaults !== 'undefined' ? groupPlanModalDefaults : undefined, "groupPlanModalOptions" in locals_for_with ? + locals_for_with.groupPlanModalOptions : + typeof groupPlanModalOptions !== 'undefined' ? groupPlanModalOptions : undefined, "groupPlans" in locals_for_with ? + locals_for_with.groupPlans : + typeof groupPlans !== 'undefined' ? groupPlans : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "highlighted" in locals_for_with ? + locals_for_with.highlighted : + typeof highlighted !== 'undefined' ? highlighted : undefined, "initialLocalizedGroupPrice" in locals_for_with ? + locals_for_with.initialLocalizedGroupPrice : + typeof initialLocalizedGroupPrice !== 'undefined' ? initialLocalizedGroupPrice : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "itm_campaign" in locals_for_with ? + locals_for_with.itm_campaign : + typeof itm_campaign !== 'undefined' ? itm_campaign : undefined, "itm_content" in locals_for_with ? + locals_for_with.itm_content : + typeof itm_content !== 'undefined' ? itm_content : undefined, "itm_referrer" in locals_for_with ? + locals_for_with.itm_referrer : + typeof itm_referrer !== 'undefined' ? itm_referrer : undefined, "language" in locals_for_with ? + locals_for_with.language : + typeof language !== 'undefined' ? language : undefined, "latamCountryBannerDetails" in locals_for_with ? + locals_for_with.latamCountryBannerDetails : + typeof latamCountryBannerDetails !== 'undefined' ? latamCountryBannerDetails : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "plansConfig" in locals_for_with ? + locals_for_with.plansConfig : + typeof plansConfig !== 'undefined' ? plansConfig : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "recommendedCurrency" in locals_for_with ? + locals_for_with.recommendedCurrency : + typeof recommendedCurrency !== 'undefined' ? recommendedCurrency : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showBrlGeoBanner" in locals_for_with ? + locals_for_with.showBrlGeoBanner : + typeof showBrlGeoBanner !== 'undefined' ? showBrlGeoBanner : undefined, "showInrGeoBanner" in locals_for_with ? + locals_for_with.showInrGeoBanner : + typeof showInrGeoBanner !== 'undefined' ? showInrGeoBanner : undefined, "showLATAMBanner" in locals_for_with ? + locals_for_with.showLATAMBanner : + typeof showLATAMBanner !== 'undefined' ? showLATAMBanner : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "websiteRedesignPlansVariant" in locals_for_with ? + locals_for_with.websiteRedesignPlansVariant : + typeof websiteRedesignPlansVariant !== 'undefined' ? websiteRedesignPlansVariant : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js new file mode 100644 index 0000000..d6c3c82 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, personalSubscription, postCheckoutRedirect, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/successful-subscription' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscription\" data-type=\"json\""+pug.attr("content", personalSubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-postCheckoutRedirect\""+pug.attr("content", postCheckoutRedirect, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-success-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "personalSubscription" in locals_for_with ? + locals_for_with.personalSubscription : + typeof personalSubscription !== 'undefined' ? personalSubscription : undefined, "postCheckoutRedirect" in locals_for_with ? + locals_for_with.postCheckoutRedirect : + typeof postCheckoutRedirect !== 'undefined' ? postCheckoutRedirect : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js new file mode 100644 index 0000000..b8cb37c --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, teamInvites, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-invites' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-teamInvites\" data-type=\"json\""+pug.attr("content", teamInvites, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"group-invites-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "teamInvites" in locals_for_with ? + locals_for_with.teamInvites : + typeof teamInvites !== 'undefined' ? teamInvites : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js new file mode 100644 index 0000000..11f4eaa --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js @@ -0,0 +1,1353 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, alreadyEnrolled, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, expired, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSSOActive, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, subscriptionId, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, validationStatus) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/invite-managed' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviteToken\""+pug.attr("content", inviteToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviterName\""+pug.attr("content", inviterName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-expired\" data-type=\"boolean\""+pug.attr("content", expired, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-alreadyEnrolled\" data-type=\"boolean\""+pug.attr("content", alreadyEnrolled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-validationStatus\" data-type=\"json\""+pug.attr("content", validationStatus, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscriptionId\" data-type=\"string\""+pug.attr("content", subscriptionId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"invite-managed-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "alreadyEnrolled" in locals_for_with ? + locals_for_with.alreadyEnrolled : + typeof alreadyEnrolled !== 'undefined' ? alreadyEnrolled : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "expired" in locals_for_with ? + locals_for_with.expired : + typeof expired !== 'undefined' ? expired : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "subscriptionId" in locals_for_with ? + locals_for_with.subscriptionId : + typeof subscriptionId !== 'undefined' ? subscriptionId : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "validationStatus" in locals_for_with ? + locals_for_with.validationStatus : + typeof validationStatus !== 'undefined' ? validationStatus : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js new file mode 100644 index 0000000..a5da148 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js @@ -0,0 +1,1351 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, expired, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupSSOActive, hasAdminAccess, hasCustomLeftNav, hasFeature, hasIndividualRecurlySubscription, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, subscriptionId, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/invite' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-hasIndividualRecurlySubscription\" data-type=\"boolean\""+pug.attr("content", hasIndividualRecurlySubscription, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviterName\" date-type=\"string\""+pug.attr("content", inviterName, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-inviteToken\" data-type=\"string\""+pug.attr("content", inviteToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-expired\" data-type=\"boolean\""+pug.attr("content", expired, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-subscriptionId\" data-type=\"string\""+pug.attr("content", subscriptionId, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"invite-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "expired" in locals_for_with ? + locals_for_with.expired : + typeof expired !== 'undefined' ? expired : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasIndividualRecurlySubscription" in locals_for_with ? + locals_for_with.hasIndividualRecurlySubscription : + typeof hasIndividualRecurlySubscription !== 'undefined' ? hasIndividualRecurlySubscription : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "subscriptionId" in locals_for_with ? + locals_for_with.subscriptionId : + typeof subscriptionId !== 'undefined' ? subscriptionId : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js new file mode 100644 index 0000000..d5b77cd --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js @@ -0,0 +1,1357 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, accountExists, appName, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, colClass, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, emailAddress, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, inviteToken, inviterName, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5-subscription' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var colClass = bootstrapVersion === 5 ? 'col-lg-8 m-auto' : 'col-md-8 col-md-offset-2' +pug_html = pug_html + "\u003Cmain class=\"content content-alt team-invite\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv" + (pug.attr("class", pug.classes([colClass], [true]), false, true)) + "\u003E\u003Cdiv class=\"card text-center\"\u003E\u003Cdiv class=\"card-body\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003C!-- TODO: Remove `team-invite-name` once we fully migrated to Bootstrap 5--\u003E\u003Ch1 class=\"text-centered\"\u003E" + (null == (pug_interp = translate("invited_to_group", {inviterName: inviterName, appName: appName }, [{name: 'span', attrs: {class: 'team-invite-name'}}])) ? "" : pug_interp) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E"; +if ((accountExists)) { +pug_html = pug_html + "\u003Cdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_login_benefits", {appName: appName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_login", {emailAddress: emailAddress})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca" + (" class=\"btn btn-primary\""+pug.attr("href", `/login?redir=/subscription/invites/${inviteToken}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("login_to_accept_invitation")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_register_benefits", {appName: appName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("invited_to_group_register", {inviterName: inviterName})) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca" + (" class=\"btn btn-primary\""+pug.attr("href", `/register?redir=/subscription/invites/${inviteToken}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate("register_to_accept_invitation")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "accountExists" in locals_for_with ? + locals_for_with.accountExists : + typeof accountExists !== 'undefined' ? accountExists : undefined, "appName" in locals_for_with ? + locals_for_with.appName : + typeof appName !== 'undefined' ? appName : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "colClass" in locals_for_with ? + locals_for_with.colClass : + typeof colClass !== 'undefined' ? colClass : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "emailAddress" in locals_for_with ? + locals_for_with.emailAddress : + typeof emailAddress !== 'undefined' ? emailAddress : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "inviteToken" in locals_for_with ? + locals_for_with.inviteToken : + typeof inviteToken !== 'undefined' ? inviteToken : undefined, "inviterName" in locals_for_with ? + locals_for_with.inviterName : + typeof inviterName !== 'undefined' ? inviterName : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js new file mode 100644 index 0000000..70b47ad --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js @@ -0,0 +1,1338 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +var suppressNavbar = true +var suppressFooter = true +metadata.robotsNoindexNofollow = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('your_account_is_suspended')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('sorry_this_account_has_been_suspended')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate('please_contact_us_if_you_think_this_is_in_error', {}, [{name: 'a', attrs: {href: `mailto:${settings.adminEmail}`}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js new file mode 100644 index 0000000..e92c92d --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/add-secondary-email' +var suppressNavbar = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\"\u003E\u003Cdiv id=\"add-secondary-email\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/compromised_password.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/compromised_password.js new file mode 100644 index 0000000..f2c148a --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/compromised_password.js @@ -0,0 +1,1338 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/compromised-password' +var suppressNavbar = true +var suppressFooter = true +var suppressGoogleAnalytics = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"compromised-password\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js new file mode 100644 index 0000000..fa06ce6 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/confirm-secondary-email' +var suppressNavbar = true +var suppressSkipToContent = true +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-email\""+pug.attr("content", email, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\"\u003E\u003Cdiv id=\"confirm-secondary-email\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirm_email.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirm_email.js new file mode 100644 index 0000000..ec9121b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/confirm_email.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\" data-ol-hide-on-error-message=\"confirm-email-wrong-user\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("confirm_email")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logoutForm\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"redirect\""+pug.attr("value", currentUrlWithQueryParams, true, true)) + "\u003E\u003C\u002Fform\u003E\u003Cform data-ol-async-form data-ol-auto-submit name=\"confirmEmailForm\" action=\"\u002Fuser\u002Femails\u002Fconfirm\" method=\"POST\" id=\"confirmEmailForm\"\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"token\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv data-ol-custom-form-message=\"confirm-email-wrong-user\" hidden\u003E\u003Ch1 class=\"h3\"\u003E" + (pug.escape(null == (pug_interp = translate("we_cant_confirm_this_email")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E" + (null == (pug_interp = translate("to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account")) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cp\u003E" + (null == (pug_interp = translate("you_are_currently_logged_in_as", {email: getUserEmail()})) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn btn-block\" form=\"logoutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_in_with_a_different_account')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn btn-block\" type=\"submit\" data-ol-disabled-inflight data-ol-hide-on-error-message=\"confirm-email-wrong-user\"\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('confirm')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E\u003Ci class=\"fa fa-fw fa-spin fa-spinner\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E " + (pug.escape(null == (pug_interp = translate('confirming')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cdiv class=\"alert alert-success\"\u003E" + (pug.escape(null == (pug_interp = translate('thank_you_email_confirmed')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"text-center\"\u003E\u003Ca class=\"btn btn-primary\" href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('go_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/email-preferences.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/email-preferences.js new file mode 100644 index 0000000..ed220c8 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/email-preferences.js @@ -0,0 +1,1368 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, submitAction, subscribed, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["back-to-btns"] = pug_interp = function(settingsAnchor){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (" class=\"btn btn-secondary text-capitalize\""+pug.attr("href", `/user/settings${settingsAnchor ? '#' + settingsAnchor : '' }`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_title")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_summary")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +var submitAction +if (subscribed) { +submitAction = '/user/newsletter/unsubscribe' +pug_html = pug_html + "\u003Cp\u003E" + (null == (pug_interp = translate("newsletter_info_subscribed", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +else { +submitAction = '/user/newsletter/subscribe' +pug_html = pug_html + "\u003Cp\u003E" + (null == (pug_interp = translate("newsletter_info_unsubscribed", {}, ['strong'])) ? "" : pug_interp) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+pug.attr("data-ol-reload-on-success", true, true, true)+" name=\"newsletterForm\""+pug.attr("action", submitAction, true, true)+" method=\"POST\"") + "\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cp class=\"actions text-center\"\u003E"; +if (subscribed) { +pug_html = pug_html + "\u003Cbutton class=\"btn-danger btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("unsubscribe")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("saving")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +} +else { +pug_html = pug_html + "\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("subscribe")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("saving")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +} +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fform\u003E"; +if (subscribed) { +pug_html = pug_html + "\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate("newsletter_info_note")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E"; +pug_mixins["back-to-btns"](); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "submitAction" in locals_for_with ? + locals_for_with.submitAction : + typeof submitAction !== 'undefined' ? submitAction : undefined, "subscribed" in locals_for_with ? + locals_for_with.subscribed : + typeof subscribed !== 'undefined' ? subscribed : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/login.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/login.js new file mode 100644 index 0000000..03af677 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/login.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + +pug_mixins["customValidationMessage"] = pug_interp = function(key){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (" class=\"invalid-feedback mt-2\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-warning me-1\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("log_in")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form name=\"loginForm\" action=\"\u002Flogin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('email_or_password_wrong_try_again_or_reset', {}, [{ name: 'a', attrs: { href: '/user/password/reset', 'aria-describedby': 'resetPasswordDescription' } }])) ? "" : pug_interp) + "\u003Cspan class=\"sr-only\" id=\"resetPasswordDescription\"\u003E" + (pug.escape(null == (pug_interp = translate('reset_password_link')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +} +}, 'invalid-password-retry-or-reset', 'danger'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('password_compromised_try_again_or_use_known_device_or_reset', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com/passwords', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: '/user/password/reset', target: '_blank'}}])) ? "" : pug_interp) + "."; +} +}, 'password-compromised'); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" required placeholder=\"email@example.com\" autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Cinput class=\"form-control\" type=\"password\" name=\"password\" required placeholder=\"********\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("login")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("logging_in")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Ca class=\"pull-right\" href=\"\u002Fuser\u002Fpassword\u002Freset\"\u003E" + (pug.escape(null == (pug_interp = translate("forgot_your_password")) ? "" : pug_interp)) + "?\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/one_time_login.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/one_time_login.js new file mode 100644 index 0000000..386b139 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/one_time_login.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003EWe're back!\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003EOverleaf is now running normally.\u003C\u002Fp\u003E\u003Cp\u003EPlease\n\u003Ca href=\"\u002Flogin\"\u003Elog in\u003C\u002Fa\u003E\nto continue working on your projects.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/passwordReset.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/passwordReset.js new file mode 100644 index 0000000..4a26718 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/passwordReset.js @@ -0,0 +1,1363 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, error, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showCaptcha, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["recaptchaConditions"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"recaptcha-branding\"\u003E" + (null == (pug_interp = translate("recaptcha_conditions", {}, [{}, {name: 'a', attrs: {href: 'https://policies.google.com/privacy', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: 'https://policies.google.com/terms', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset) +if (showCaptcha) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fwww.recaptcha.net\u002Frecaptcha\u002Fapi.js?render=explicit\"") + "\u003E\u003C\u002Fscript\u003E\u003Cdiv" + (" class=\"g-recaptcha\""+" id=\"recaptcha\""+pug.attr("data-sitekey", settings.recaptcha.siteKey, true, true)+" data-size=\"invisible\" data-badge=\"inline\"") + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\" data-ol-captcha-retry-trigger-area=\"\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+" name=\"passwordResetForm\" action=\"\u002Fuser\u002Fpassword\u002Freset\" method=\"POST\""+pug.attr("captcha", (showCaptcha ? '' : false), true, true)+pug.attr("captcha-action-name", (showCaptcha ? "passwordReset" : false), true, true)) + "\u003E"; +if (error === 'password_reset_token_expired') { +pug_html = pug_html + "\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("sorry_your_token_expired")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('please_request_a_new_password_reset_email_and_follow_the_link')) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +else { +pug_html = pug_html + "\u003Ch3 class=\"mt-0 mb-2\" data-ol-not-sent\u003E" + (pug.escape(null == (pug_interp = translate("password_reset")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Ch3 class=\"mt-0 mb-2\" hidden data-ol-sent\u003E" + (pug.escape(null == (pug_interp = translate("check_your_email")) ? "" : pug_interp)) + "\t\u003C\u002Fh3\u003E\u003Cp data-ol-not-sent\u003E" + (pug.escape(null == (pug_interp = translate("enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +if (error && error !== 'password_reset_token_expired') { +pug_html = pug_html + "\u003Cdiv class=\"alert alert-danger mb-2\" role=\"alert\" aria-live=\"assertive\"\u003E" + (pug.escape(null == (pug_interp = translate(error)) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cdiv data-ol-custom-form-message=\"no-password-allowed-due-to-sso\" hidden\u003E\u003Cdiv class=\"notification notification-type-error\" aria-live=\"polite\" style=\"margin-bottom: 10px;\"\u003E\u003Cdiv class=\"notification-icon\"\u003E\u003Cspan class=\"material-symbols material-symbols-rounded\" aria-hidden=\"true\"\u003Eerror\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"notification-content-and-cta\"\u003E\u003Cdiv class=\"notification-content\"\u003E\u003Cp\u003E" + (null == (pug_interp = translate("you_cant_reset_password_due_to_sso", {}, [{name: 'a', attrs: {href: '/sso-login'}}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group mb-3\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"email\" aria-label=\"email\" type=\"email\" name=\"email\""+pug.attr("placeholder", translate("enter_your_email_address"), true, true)+pug.attr("required", true, true, true)+" autocomplete=\"username\""+pug.attr("autofocus", true, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary w-100\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('request_password_reset_to_reconfirm'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("request_password_reset")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("requesting_password_reset")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cp class=\"mb-4\"\u003E" + (pug.escape(null == (pug_interp = translate('password_reset_email_sent')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Ca href=\"\u002Flogin\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E"; +if (showCaptcha) { +pug_mixins["recaptchaConditions"](); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "error" in locals_for_with ? + locals_for_with.error : + typeof error !== 'undefined' ? error : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showCaptcha" in locals_for_with ? + locals_for_with.showCaptcha : + typeof showCaptcha !== 'undefined' ? showCaptcha : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js new file mode 100644 index 0000000..3847daa --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js @@ -0,0 +1,1337 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"login-register-container primary-email-check-container\"\u003E\u003Cdiv class=\"card primary-email-check-card\"\u003E\u003Cimg" + (" class=\"primary-email-check-logo\""+pug.attr("src", buildImgPath("ol-brand/overleaf.svg"), true, true)+pug.attr("alt", settings.appName, true, true)) + "\u003E\u003Ch3 class=\"primary-email-check-header\"\u003E" + (pug.escape(null == (pug_interp = translate("keep_your_account_safe")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv class=\"login-register-form primary-email-check-form\" data-ol-multi-submit\u003E\u003Cp class=\"small\"\u003E" + (null == (pug_interp = translate("primary_email_check_question", { email: getUserEmail() }, ["strong"])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form action=\"\u002Fuser\u002Femails\u002Fprimary-email-check\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cbutton class=\"btn-primary btn btn-block btn-primary-email-check-button primary-email-confirm-button\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("yes_that_is_correct")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("confirming")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003Ca class=\"btn-secondary btn btn-block btn-primary-email-check-button primary-email-change-button\" href=\"\u002Fuser\u002Fsettings#add-email\" data-ol-slow-link event-tracking=\"primary-email-check-change-email\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("no_update_email")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("redirecting")) ? "" : pug_interp)) + "…\t\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cp class=\"small\"\u003E " + (pug.escape(null == (pug_interp = translate("keep_your_email_updated")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"small\"\u003E " + (null == (pug_interp = translate("learn_more_about_emails", {}, [{name: 'a', attrs: {href: '/learn/how-to/Keeping_your_account_secure', 'event-tracking': 'primary-email-check-learn-more', 'event-tracking-mb': 'true', 'event-tracking-trigger': 'click' }}])) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/reconfirm.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/reconfirm.js new file mode 100644 index 0000000..4d78b50 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/reconfirm.js @@ -0,0 +1,1356 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, reconfirm_email, scriptNonce, settings, showCaptcha, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["recaptchaConditions"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv class=\"recaptcha-branding\"\u003E" + (null == (pug_interp = translate("recaptcha_conditions", {}, [{}, {name: 'a', attrs: {href: 'https://policies.google.com/privacy', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: 'https://policies.google.com/terms', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + "\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +var email = reconfirm_email ? reconfirm_email : "" +var showCaptcha = settings.recaptcha && settings.recaptcha.siteKey && !(settings.recaptcha.disabled && settings.recaptcha.disabled.passwordReset) +if (showCaptcha) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" src=\"https:\u002F\u002Fwww.recaptcha.net\u002Frecaptcha\u002Fapi.js?render=explicit\"") + "\u003E\u003C\u002Fscript\u003E\u003Cdiv" + (" class=\"g-recaptcha\""+" id=\"recaptcha\""+pug.attr("data-sitekey", settings.recaptcha.siteKey, true, true)+" data-size=\"invisible\" data-badge=\"inline\"") + "\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\" data-ol-captcha-retry-trigger-area=\"\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-sm-12 col-md-6 col-md-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Ch1 class=\"card-header text-capitalize\"\u003E" + (pug.escape(null == (pug_interp = translate("reconfirm")) ? "" : pug_interp)) + " " + (pug.escape(null == (pug_interp = translate("Account")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('reconfirm_explained')) ? "" : pug_interp)) + " \u003Ca" + (pug.attr("href", `mailto:${settings.adminEmail}`, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp)) + "\u003C\u002Fa\u003E.\u003C\u002Fp\u003E\u003Cform" + (pug.attr("data-ol-async-form", true, true, true)+" name=\"reconfirmAccountForm\" action=\"\u002Fuser\u002Freconfirm\" method=\"POST\""+pug.attr("aria-label", translate('request_reconfirmation_email'), true, true)+pug.attr("captcha", (showCaptcha ? '' : false), true, true)+pug.attr("captcha-action-name", (showCaptcha ? "passwordReset" : false), true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("please_enter_email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" aria-label=\"email\" type=\"email\" name=\"email\" placeholder=\"email@example.com\""+pug.attr("required", true, true, true)+pug.attr("autofocus", true, true, true)+pug.attr("value", email, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('request_password_reset_to_reconfirm'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('request_password_reset_to_reconfirm')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('request_password_reset_to_reconfirm')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cdiv class=\"alert alert-success\" role=\"alert\" aria-live=\"polite\"\u003E\u003Cspan\u003E" + (pug.escape(null == (pug_interp = translate('password_reset_email_sent')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-sm-12 col-md-6 col-md-offset-3\"\u003E"; +if (showCaptcha) { +pug_mixins["recaptchaConditions"](); +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "reconfirm_email" in locals_for_with ? + locals_for_with.reconfirm_email : + typeof reconfirm_email !== 'undefined' ? reconfirm_email : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showCaptcha" in locals_for_with ? + locals_for_with.showCaptcha : + typeof showCaptcha !== 'undefined' ? showCaptcha : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/register.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/register.js new file mode 100644 index 0000000..3f8eff6 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/register.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, newTemplateData, projectDashboardReact, scriptNonce, settings, sharedProjectData, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"registration_message\"\u003E"; +if (sharedProjectData.user_first_name !== undefined) { +pug_html = pug_html + "\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("user_wants_you_to_see_project", {username:sharedProjectData.user_first_name, projectname:""})) ? "" : pug_interp)) + "\u003Cem\u003E" + (pug.escape(null == (pug_interp = sharedProjectData.project_name) ? "" : pug_interp)) + "\u003C\u002Fem\u003E\u003C\u002Fh1\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("join_sl_to_view_project")) ? "" : pug_interp)) + ".\u003C\u002Fdiv\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("already_have_sl_account")) ? "" : pug_interp)) + "\u003Ca href=\"\u002Flogin\"\u003E " + (pug.escape(null == (pug_interp = translate("login_here")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +else +if (newTemplateData.templateName !== undefined) { +pug_html = pug_html + "\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("register_to_edit_template", {templateName:newTemplateData.templateName})) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate("already_have_sl_account")) ? "" : pug_interp)) + "\u003Ca href=\"\u002Flogin\"\u003E " + (pug.escape(null == (pug_interp = translate("login_here")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cp\u003EPlease contact\n\u003Cstrong\u003E" + (pug.escape(null == (pug_interp = settings.adminEmail) ? "" : pug_interp)) + "\u003C\u002Fstrong\u003E\nto create an account.\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "newTemplateData" in locals_for_with ? + locals_for_with.newTemplateData : + typeof newTemplateData !== 'undefined' ? newTemplateData : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "sharedProjectData" in locals_for_with ? + locals_for_with.sharedProjectData : + typeof sharedProjectData !== 'undefined' ? sharedProjectData : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/restricted.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/restricted.js new file mode 100644 index 0000000..275353d --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/restricted.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2 text-center\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate("restricted_no_permission")) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Ca href=\"\u002F\"\u003E\u003Ci class=\"fa fa-arrow-circle-o-left\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E " + (pug.escape(null == (pug_interp = translate("take_me_home")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/sessions.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/sessions.js new file mode 100644 index 0000000..14dc84d --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/sessions.js @@ -0,0 +1,1371 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentSession, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, moment, nav, projectDashboardReact, scriptNonce, sessions, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2\"\u003E\u003Cdiv class=\"card clear-user-sessions\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E " + (pug.escape(null == (pug_interp = translate("your_sessions")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E"; +if (currentSession.ip_address && currentSession.session_created) { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("current_session")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv\u003E\u003Ctable class=\"table table-striped\"\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("ip_address")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("session_created_at")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = currentSession.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(currentSession.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003C\u002Fthead\u003E\u003C\u002Ftable\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate("other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cdiv\u003E\u003Cp class=\"small\"\u003E" + (null == (pug_interp = translate("clear_sessions_description")) ? "" : pug_interp) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form action=\"\u002Fuser\u002Fsessions\u002Fclear\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cdiv data-ol-not-sent\u003E"; +if (sessions.length == 0) { +pug_html = pug_html + "\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate("no_other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E"; +} +if (sessions.length > 0) { +pug_html = pug_html + "\u003Ctable class=\"table table-striped\"\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("ip_address")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003Cth\u003E" + (pug.escape(null == (pug_interp = translate("session_created_at")) ? "" : pug_interp)) + "\u003C\u002Fth\u003E\u003C\u002Ftr\u003E\u003C\u002Fthead\u003E"; +// iterate sessions +;(function(){ + var $$obj = sessions; + if ('number' == typeof $$obj.length) { + for (var pug_index12 = 0, $$l = $$obj.length; pug_index12 < $$l; pug_index12++) { + var session = $$obj[pug_index12]; +pug_html = pug_html + "\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = session.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(session.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; + } + } else { + var $$l = 0; + for (var pug_index12 in $$obj) { + $$l++; + var session = $$obj[pug_index12]; +pug_html = pug_html + "\u003Ctr\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = session.ip_address) ? "" : pug_interp)) + "\u003C\u002Ftd\u003E\u003Ctd\u003E" + (pug.escape(null == (pug_interp = moment(session.session_created).utc().format('Do MMM YYYY, h:mm a')) ? "" : pug_interp)) + " UTC\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ftable\u003E\u003Cp class=\"actions\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbutton class=\"btn btn-lg btn-primary\" type=\"submit\" data-ol-disable-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('clear_sessions')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("processing")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fp\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Cp class=\"text-center\"\u003E" + (pug.escape(null == (pug_interp = translate("no_other_sessions")) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cp class=\"text-success text-center\"\u003E" + (pug.escape(null == (pug_interp = translate('clear_sessions_success')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003Cdiv class=\"page-separator\"\u003E\u003C\u002Fdiv\u003E\u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_account_settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E \u003Ca class=\"btn btn-secondary text-capitalize\" href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('back_to_your_projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index15 = 0, $$l = $$obj.length; pug_index15 < $$l; pug_index15++) { + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index15 in $$obj) { + $$l++; + var item = $$obj[pug_index15]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentSession" in locals_for_with ? + locals_for_with.currentSession : + typeof currentSession !== 'undefined' ? currentSession : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "moment" in locals_for_with ? + locals_for_with.moment : + typeof moment !== 'undefined' ? moment : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "sessions" in locals_for_with ? + locals_for_with.sessions : + typeof sessions !== 'undefined' ? sessions : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/setPassword.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/setPassword.js new file mode 100644 index 0000000..4461896 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/setPassword.js @@ -0,0 +1,1372 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, passwordResetToken, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + +pug_mixins["customValidationMessage"] = pug_interp = function(key){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (" class=\"invalid-feedback mt-2\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-warning me-1\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container-custom-sm mx-auto\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cform data-ol-async-form name=\"passwordResetForm\" action=\"\u002Fuser\u002Fpassword\u002Fset\" method=\"POST\" data-ol-hide-on-error=\"token-expired\"\u003E\u003Cdiv hidden data-ol-sent\u003E\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("password_updated")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp class=\"mb-4\"\u003E" + (pug.escape(null == (pug_interp = translate("your_password_has_been_successfully_changed")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E\u003Ca href=\"\u002Flogin\"\u003E" + (pug.escape(null == (pug_interp = translate("log_in_now")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-not-sent\u003E\u003Ch3 class=\"mt-0 mb-2\"\u003E" + (pug.escape(null == (pug_interp = translate("reset_your_password")) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp data-ol-hide-on-error-message=\"token-expired\"\u003E" + (pug.escape(null == (pug_interp = translate("create_a_new_password_for_your_account")) ? "" : pug_interp)) + ".\u003C\u002Fp\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password_contains_email')) ? "" : pug_interp)) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-contains-email', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password_too_similar')) ? "" : pug_interp)) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-too-similar', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('password_reset_token_expired')) ? "" : pug_interp)) + "\u003Cbr\u003E\u003Ca href=\"\u002Fuser\u002Fpassword\u002Freset\"\u003E" + (pug.escape(null == (pug_interp = translate('request_new_password_reset_email')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +}, 'token-expired', 'danger'); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"_csrf\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"text\""+pug.attr("hidden", true, true, true)+" name=\"email\" autocomplete=\"username\""+pug.attr("value", email, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"passwordField\" data-ol-hide-on-error-message=\"token-expired\"\u003E" + (pug.escape(null == (pug_interp = translate("new_password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"passwordField\" type=\"password\" name=\"password\""+pug.attr("placeholder", translate("enter_your_new_password"), true, true)+" autocomplete=\"new-password\""+pug.attr("autofocus", true, true, true)+pug.attr("required", true, true, true)+pug.attr("minlength", settings.passwordStrengthOptions.length.min, true, true)) + "\u003E"; +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password')) ? "" : pug_interp)) + "."; +} +}, 'invalid-password'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('password_cant_be_the_same_as_current_one')) ? "" : pug_interp)) + "."; +} +}, 'password-must-be-different'); +pug_mixins["customValidationMessage"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate('password_was_detected_on_a_public_list_of_known_compromised_passwords', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com/passwords', rel: 'noopener noreferrer', target: '_blank'}}])) ? "" : pug_interp) + ".\n" + (pug.escape(null == (pug_interp = translate('use_a_different_password')) ? "" : pug_interp)) + "."; +} +}, 'password-must-be-strong'); +pug_html = pug_html + "\u003Cinput" + (" type=\"hidden\" name=\"passwordResetToken\""+pug.attr("value", passwordResetToken, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv data-ol-hide-on-error-message=\"token-expired\"\u003E\u003Cdiv\u003E" + (pug.escape(null == (pug_interp = translate('in_order_to_have_a_secure_account_make_sure_your_password')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cul class=\"mb-4 ps-4\"\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('is_longer_than_n_characters', {n: settings.passwordStrengthOptions.length.min})) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('does_not_contain_or_significantly_match_your_email')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003Cli\u003E" + (pug.escape(null == (pug_interp = translate('is_not_used_on_any_other_website')) ? "" : pug_interp)) + "\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary w-100\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('set_new_password'), true, true)) + "\u003E \u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('set_new_password')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('set_new_password')) ? "" : pug_interp)) + "… \u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "passwordResetToken" in locals_for_with ? + locals_for_with.passwordResetToken : + typeof passwordResetToken !== 'undefined' ? passwordResetToken : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/settings.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/settings.js new file mode 100644 index 0000000..1eef899 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user/settings.js @@ -0,0 +1,963 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, cloneAndTranslateText, csrfToken, currentLngCode, currentManagedUserAdminEmail, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, dropbox, emailAddressLimit, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, externalAuthenticationSystemUsed, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, gitBridgeEnabled, github, hasAdminAccess, hasCustomLeftNav, hasFeature, hasPassword, hideFatFooter, institutionEmailNonCanonical, institutionLinked, isManagedAccount, isSaas, mathJaxPath, memberOfSSOEnabledGroups, metadata, moduleIncludes, nav, oauthProviders, personalAccessTokens, projectDashboardReact, projectSyncSuccessMessage, reconfirmationRemoveEmail, reconfirmedViaSAML, samlBeta, samlError, scriptNonce, settings, shouldAllowEditingDetails, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, ssoErrorMessage, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, thirdPartyIds, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/settings' +bootstrap5PageStatus = 'enabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +bootstrap5PageSplitTest = 'bootstrap-5' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E"; +if (bootstrapVersion === 5) { +const canDisplayAdminMenu = hasAdminAccess() +const canDisplayAdminRedirect = canRedirectToAdminDomain() +const sessionUser = getSessionUser() +const staffAccess = sessionUser?.staffAccess +const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) +const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-navbar\" data-type=\"json\""+pug.attr("content", { + customLogo: settings.nav.custom_logo, + title: nav.title, + canDisplayAdminMenu, + canDisplayAdminRedirect, + canDisplaySplitTestMenu, + canDisplaySurveyMenu, + enableUpgradeButton, + suppressNavbarRight: !!suppressNavbarRight, + suppressNavContentLinks: !!suppressNavContentLinks, + showSubscriptionLink: nav.showSubscriptionLink, + sessionUser: sessionUser ? { email: sessionUser.email} : undefined, + adminUrl: settings.adminUrl, + items: cloneAndTranslateText(nav.header_extras) + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-footer\" data-type=\"json\""+pug.attr("content", { + subdomainLang: settings.i18n.subdomainLang, + translatedLanguages: settings.translatedLanguages + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-hasPassword\" data-type=\"boolean\""+pug.attr("content", hasPassword, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-shouldAllowEditingDetails\" data-type=\"boolean\""+pug.attr("content", shouldAllowEditingDetails, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-oauthProviders\" data-type=\"json\""+pug.attr("content", oauthProviders, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-institutionLinked\" data-type=\"json\""+pug.attr("content", institutionLinked, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-samlError\" data-type=\"json\""+pug.attr("content", samlError, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-institutionEmailNonCanonical\""+pug.attr("content", institutionEmailNonCanonical, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmedViaSAML\""+pug.attr("content", reconfirmedViaSAML, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-reconfirmationRemoveEmail\""+pug.attr("content", reconfirmationRemoveEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-samlBeta\""+pug.attr("content", samlBeta, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ssoErrorMessage\""+pug.attr("content", ssoErrorMessage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-thirdPartyIds\" data-type=\"json\""+pug.attr("content", thirdPartyIds || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-passwordStrengthOptions\" data-type=\"json\""+pug.attr("content", settings.passwordStrengthOptions || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isExternalAuthenticationSystemUsed\" data-type=\"boolean\""+pug.attr("content", externalAuthenticationSystemUsed(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-user\" data-type=\"json\""+pug.attr("content", user, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dropbox\" data-type=\"json\""+pug.attr("content", dropbox, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-github\" data-type=\"json\""+pug.attr("content", github, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-projectSyncSuccessMessage\""+pug.attr("content", projectSyncSuccessMessage, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-personalAccessTokens\" data-type=\"json\""+pug.attr("content", personalAccessTokens, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-emailAddressLimit\" data-type=\"json\""+pug.attr("content", emailAddressLimit, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-currentManagedUserAdminEmail\" data-type=\"string\""+pug.attr("content", currentManagedUserAdminEmail, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-gitBridgeEnabled\" data-type=\"boolean\""+pug.attr("content", gitBridgeEnabled, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-isSaas\" data-type=\"boolean\""+pug.attr("content", isSaas, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-memberOfSSOEnabledGroups\" data-type=\"json\""+pug.attr("content", memberOfSSOEnabledGroups, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"navbar-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv id=\"settings-page-root\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var item = $$obj[pug_index10]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var item = $$obj[pug_index11]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cdiv id=\"fat-footer-container\"\u003E\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +} +if ((typeof suppressCookieBanner === "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 3) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +if (bootstrapVersion === 3) { +pug_mixins["bootstrap-js"](3); +} +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "cloneAndTranslateText" in locals_for_with ? + locals_for_with.cloneAndTranslateText : + typeof cloneAndTranslateText !== 'undefined' ? cloneAndTranslateText : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentManagedUserAdminEmail" in locals_for_with ? + locals_for_with.currentManagedUserAdminEmail : + typeof currentManagedUserAdminEmail !== 'undefined' ? currentManagedUserAdminEmail : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "dropbox" in locals_for_with ? + locals_for_with.dropbox : + typeof dropbox !== 'undefined' ? dropbox : undefined, "emailAddressLimit" in locals_for_with ? + locals_for_with.emailAddressLimit : + typeof emailAddressLimit !== 'undefined' ? emailAddressLimit : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "externalAuthenticationSystemUsed" in locals_for_with ? + locals_for_with.externalAuthenticationSystemUsed : + typeof externalAuthenticationSystemUsed !== 'undefined' ? externalAuthenticationSystemUsed : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "gitBridgeEnabled" in locals_for_with ? + locals_for_with.gitBridgeEnabled : + typeof gitBridgeEnabled !== 'undefined' ? gitBridgeEnabled : undefined, "github" in locals_for_with ? + locals_for_with.github : + typeof github !== 'undefined' ? github : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hasPassword" in locals_for_with ? + locals_for_with.hasPassword : + typeof hasPassword !== 'undefined' ? hasPassword : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "institutionEmailNonCanonical" in locals_for_with ? + locals_for_with.institutionEmailNonCanonical : + typeof institutionEmailNonCanonical !== 'undefined' ? institutionEmailNonCanonical : undefined, "institutionLinked" in locals_for_with ? + locals_for_with.institutionLinked : + typeof institutionLinked !== 'undefined' ? institutionLinked : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "isSaas" in locals_for_with ? + locals_for_with.isSaas : + typeof isSaas !== 'undefined' ? isSaas : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "memberOfSSOEnabledGroups" in locals_for_with ? + locals_for_with.memberOfSSOEnabledGroups : + typeof memberOfSSOEnabledGroups !== 'undefined' ? memberOfSSOEnabledGroups : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "oauthProviders" in locals_for_with ? + locals_for_with.oauthProviders : + typeof oauthProviders !== 'undefined' ? oauthProviders : undefined, "personalAccessTokens" in locals_for_with ? + locals_for_with.personalAccessTokens : + typeof personalAccessTokens !== 'undefined' ? personalAccessTokens : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "projectSyncSuccessMessage" in locals_for_with ? + locals_for_with.projectSyncSuccessMessage : + typeof projectSyncSuccessMessage !== 'undefined' ? projectSyncSuccessMessage : undefined, "reconfirmationRemoveEmail" in locals_for_with ? + locals_for_with.reconfirmationRemoveEmail : + typeof reconfirmationRemoveEmail !== 'undefined' ? reconfirmationRemoveEmail : undefined, "reconfirmedViaSAML" in locals_for_with ? + locals_for_with.reconfirmedViaSAML : + typeof reconfirmedViaSAML !== 'undefined' ? reconfirmedViaSAML : undefined, "samlBeta" in locals_for_with ? + locals_for_with.samlBeta : + typeof samlBeta !== 'undefined' ? samlBeta : undefined, "samlError" in locals_for_with ? + locals_for_with.samlError : + typeof samlError !== 'undefined' ? samlError : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "shouldAllowEditingDetails" in locals_for_with ? + locals_for_with.shouldAllowEditingDetails : + typeof shouldAllowEditingDetails !== 'undefined' ? shouldAllowEditingDetails : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "ssoErrorMessage" in locals_for_with ? + locals_for_with.ssoErrorMessage : + typeof ssoErrorMessage !== 'undefined' ? ssoErrorMessage : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "thirdPartyIds" in locals_for_with ? + locals_for_with.thirdPartyIds : + typeof thirdPartyIds !== 'undefined' ? thirdPartyIds : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js new file mode 100644 index 0000000..5a7b8a1 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/group-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js new file mode 100644 index 0000000..1ad7500 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js @@ -0,0 +1,1347 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, groupSSOActive, groupSize, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, managedUsersActive, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/group-members' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSize\" data-type=\"json\""+pug.attr("content", groupSize, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-managedUsersActive\" data-type=\"boolean\""+pug.attr("content", managedUsersActive, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupSSOActive\" data-type=\"boolean\""+pug.attr("content", groupSSOActive, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "groupSSOActive" in locals_for_with ? + locals_for_with.groupSSOActive : + typeof groupSSOActive !== 'undefined' ? groupSSOActive : undefined, "groupSize" in locals_for_with ? + locals_for_with.groupSize : + typeof groupSize !== 'undefined' ? groupSize : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "managedUsersActive" in locals_for_with ? + locals_for_with.managedUsersActive : + typeof managedUsersActive !== 'undefined' ? managedUsersActive : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js new file mode 100644 index 0000000..41aedd8 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/institution-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/new.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/new.js new file mode 100644 index 0000000..1eedb40 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/new.js @@ -0,0 +1,1339 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entityId, entityName, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-10 col-md-offset-1\"\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = entityName) ? "" : pug_interp)) + " \"" + (pug.escape(null == (pug_interp = entityId) ? "" : pug_interp)) + "\" does not exists in v2\u003C\u002Fh3\u003E\u003Cform data-ol-regular-form method=\"post\" action=\"\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn btn-primary text-capitalize\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003ECreate " + (pug.escape(null == (pug_interp = entityName) ? "" : pug_interp)) + " in v2\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("creating")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entityId" in locals_for_with ? + locals_for_with.entityId : + typeof entityId !== 'undefined' ? entityId : undefined, "entityName" in locals_for_with ? + locals_for_with.entityName : + typeof entityName !== 'undefined' ? entityName : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js new file mode 100644 index 0000000..250df1b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js @@ -0,0 +1,1341 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, groupId, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, name, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, users, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'pages/user/subscription/group-management/publisher-managers' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-users\" data-type=\"json\""+pug.attr("content", users, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupId\" data-type=\"string\""+pug.attr("content", groupId, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-groupName\" data-type=\"string\""+pug.attr("content", name, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"subscription-manage-group-root\"\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "groupId" in locals_for_with ? + locals_for_with.groupId : + typeof groupId !== 'undefined' ? groupId : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "name" in locals_for_with ? + locals_for_with.name : + typeof name !== 'undefined' ? name : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "users" in locals_for_with ? + locals_for_with.users : + typeof users !== 'undefined' ? users : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less new file mode 100644 index 0000000..8571621 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less @@ -0,0 +1,125 @@ +// ====== Color Palette ====== +// Neutral +/* HajTeX: Ink */ +@white: #ffffff; +@neutral-10: #e5e5e8; +@neutral-20: #cdccd3; +@neutral-30: #b3b2bc; +@neutral-40: #9b99a6; +@neutral-50: #817f90; +@neutral-60: #68667a; +@neutral-70: #4f4c63; +@neutral-80: #36334d; +@neutral-90: #1d1937; + +// Green +/* HajTeX: Teal (offset by 10 to be lighter) */ +@green-10: #cdf0ee; +@green-20: #9be1dd; +@green-30: #68d3cb; +@green-40: #36c4ba; +@green-50: #04b5a9; +@green-60: #039187; +@green-70: #026d65; + +// Blue +/* HajTeX: Blue */ +@blue-10: #a7cdfb; +@blue-20: #a7cdfb; +@blue-30: #7ab5f8; +@blue-40: #4e9cf6; +@blue-50: #2283f4; +@blue-60: #1b69c3; +@blue-70: #0e3462; + +// Red +/* HajTeX: Pink */ +@red-10: #fae2ef; +@red-20: #f5c4e0; +@red-30: #efa7d0; +@red-40: #ea89c1; +@red-50: #e56cb1; +@red-60: #b7568e; +@red-70: #89416a; + +// Yellow +/* HajTeX: Orange */ +@yellow-10: #fdead3; +@yellow-20: #fbd4a7; +@yellow-30: #f8bf7a; +@yellow-40: #f6a94e; +@yellow-50: #f49422; +@yellow-60: #c3761b; +@yellow-70: #925914; + +// ====== Commonly used variable names ====== +// (all should be based on color palette above) +@gray-darker: @neutral-90; +@gray-dark: @neutral-70; +@gray: @neutral-60; +@gray-light: @neutral-40; +@gray-lighter: @neutral-30; +@gray-lightest: @neutral-10; + +@blue: @blue-50; +@blue-dark: @blue-60; +@green: @green-50; +@green-dark: @green-60; +@green-darker: @green-70; +@red: @red-50; +@orange: @yellow-40; +@orange-dark: @yellow-60; + +@brand-primary: @green; +@brand-secondary: @green-darker; +@brand-success: @green; +@brand-info: @blue; +@brand-warning: @orange; +@brand-danger: @red; + +@accent-color-secondary: @green-darker; +@color-disabled: @neutral-20; + +// == Content == +// on light background +@content-primary-on-light-bg: @neutral-90; +@content-secondary-on-light-bg: @neutral-70; +@content-disabled-on-light-bg: @neutral-40; +@content-placeholder-on-light-bg: @neutral-50; +// on dark background +@content-primary-on-dark-bg: @white; +@content-secondary-on-dark-bg: @neutral-20; +@content-disabled-on-dark-bg: @neutral-60; +@content-placeholder-on-dark-bg: @neutral-50; +// default +@content-primary: @content-primary-on-light-bg; +@content-secondary: @content-secondary-on-light-bg; +@content-disabled: @content-disabled-on-light-bg; +@content-placeholder: @content-placeholder-on-light-bg; + +// == Website Redesign == +@ceil: #9597c9; +@caramel: #f9d38f; +@dark-jungle-green: #0f271a; +@malachite: #13c965; +@sapphire-blue: #4354a3; +@sapphire-blue-dark: #3c4c93; +@vivid-tangerine: #f1a695; + +// == ol-* legacy variables == +// These will eventually be removed and replaced with above names +@ol-type-color: @content-secondary; +@ol-blue-gray-0: @neutral-10; +@ol-blue-gray-1: @neutral-20; +@ol-blue-gray-2: @neutral-40; +@ol-blue-gray-3: @neutral-60; +@ol-blue-gray-4: @neutral-70; +@ol-blue-gray-5: @neutral-80; +@ol-blue-gray-6: @neutral-90; +@ol-green: @green-50; +@ol-dark-green: @green-darker; +@ol-darker-green: @green-darker; +@ol-blue: @blue-50; +@ol-dark-blue: @blue-dark; +@ol-red: @red-50; +@ol-dark-red: @red-60; diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/cs.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/cs.json new file mode 100644 index 0000000..c4b095f --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/cs.json @@ -0,0 +1,348 @@ +{ + "about": "O nás", + "about_to_delete_projects": "Chcete smazat následující projekty:", + "about_to_leave_projects": "Chystáte se ponechat následující projekty:", + "about_to_trash_projects": "Chystáte se vyhodit do koše následující projekty:", + "account": "Účet", + "account_not_linked_to_dropbox": "Váš účet není spojen s Dropboxem", + "account_settings": "Nastavení účtu", + "actions": "Akce", + "add": "Přidat", + "add_more_members": "Přidat více členů", + "add_your_first_group_member_now": "Přidejte do vaší skupiny prvního člena", + "added": "přidáno", + "admin": "administrátor", + "all_projects": "Všechny projekty", + "all_templates": "Všechny šablony", + "already_have_sl_account": "Máte už účet v __appName__?", + "and": "a", + "annual": "Roční", + "anonymous": "Anonymní", + "auto_complete": "Automatické dokončování", + "back_to_your_projects": "Zpět k vašim projektům", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Prázdný projekt", + "blog": "Blog", + "built_in": "Vestavěný", + "can_edit": "Může upravovat", + "cancel": "Zrušit", + "cant_find_email": "Je nám líto, ale tato emailová adresa není registrována.", + "cant_find_page": "Je nám líto, ale nemůžeme najít stránku, kterou hledáte.", + "change": "Změnit", + "change_owner": "Změnit majitele", + "change_password": "Změnit heslo", + "change_plan": "Změnit tarif", + "change_project_owner": "Změnit majitele projektu", + "change_to_this_plan": "Změnit na tento tarif", + "chat": "Chat", + "checking_dropbox_status": "kontroluji stav Dropboxu", + "checking_project_github_status": "Kontroluji stav projektu na GitHubu", + "choose_your_plan": "Zvolte si svůj tarif", + "clear_cached_files": "Vymazat cache", + "clearing": "Odstraňuji", + "click_here_to_view_sl_in_lng": "Pro použití __appName__ v <0>__lngName__ klikněte zde", + "close": "Zavřít", + "collaboration": "Spolupráce", + "collaborator": "Collaborator", + "collabs_per_proj": "__collabcount__ spolupracovníků na projektu", + "comment": "Komentář", + "commit": "Commitovat", + "common": "Běžné", + "compiler": "Kompilátor", + "compiling": "Kompiluji", + "complete": "Hotovo", + "confirm_new_password": "Potvrdit nové heslo", + "confirmation_link_broken": "Omlouváme se, ale něco není v pořádku s Vaším potvrzovacím kódem. Prosíme zkuste zkopírovat odkaz z konce Vašeho potvrzovacího e-mailu.", + "confirmation_token_invalid": "Omlováme se, ale Váš potvrzovací kód je neplatný nebo vypršel. Prosím požádejte o nový potrvzovací e-mail.", + "connecting": "Připojuji", + "contact": "Kontakt", + "contact_us": "Kontaktujte nás", + "continue_github_merge": "Provedl jsem manuální merge. Pokračovat", + "copy": "Kopírovat", + "copy_project": "Kopírovat projekt", + "copying": "Kopíruji", + "create": "Vytvořit", + "create_new_subscription": "Vytvořit nové předplatné.", + "create_project_in_github": "Vytvořit GitHub repozitář.", + "creating": "Vytvářím", + "cs": "Čeština", + "current_password": "Aktuální heslo", + "currently_subscribed_to_plan": "Máte předplacen tarif <0>__planName__.", + "da": "Dánština", + "de": "Němčina", + "delete": "Smazat", + "delete_account": "Smazat účet", + "delete_and_leave": "Odstranit / Opustit", + "delete_your_account": "Smazat váš účet", + "deleting": "Smazávám", + "disconnected": "Odpojeno", + "documentation": "Dokumentace", + "doesnt_match": "Nesouhlasí", + "done": "Hotovo", + "download": "Stáhnout", + "download_pdf": "Stáhnout PDF", + "download_zip_file": "Stáhnout soubor .zip", + "dropbox_sync": "Synchronizace s Dropboxem", + "dropbox_sync_description": "Udržujte své projekty v __appName__u synchronizované s vašim Dropboxem. Změny v __appName__u budou automaticky poslány do Dropboxu a obráceně.", + "duplicate_file": "Zduplikovat soubor", + "editing": "Pro úpravy", + "email": "Email", + "email_or_password_wrong_try_again": "Váš email, nebo heslo není správně.", + "en": "Angličtina", + "es": "Španělština", + "example_project": "Vzorový projekt", + "export_project_to_github": "Exportovat projekt do GitHubu", + "features": "Vlastnosti", + "file_already_exists_in_this_location": "Soubor <0>__fileName__ již v daném umístění existuje. Pokud chcete tento soubor přesunout, nejprve přejmenujte nebo odstraňte ten existující.", + "files_selected": "souborů označeno.", + "first_name": "Jméno", + "folders": "Složky", + "font_size": "Velikost písma", + "forgot_your_password": "Zapomenuté heslo", + "fr": "Francouzština", + "free": "Zdarma", + "free_dropbox_and_history": "Zdarma Dropbox a Historie", + "full_doc_history": "Celá historie dokumentu", + "generic_something_went_wrong": "Omlouváme se, ale něco je špatně.", + "get_in_touch": "Buďte v kontaktu", + "github_commit_message_placeholder": "Commit zprávy pro změny udělané v __appName__u...", + "github_is_premium": "Synchronizace s GitHubem je prémiová funkce", + "github_no_master_branch_error": "Tento repozitář nemůže být importován, protože nemá master branch. Prosím zajistěte, aby projekt měl master branch.", + "github_public_description": "Tento repozitář může vidět kdokoliv. Vy určíte kdo do něj může commitovat,", + "github_successfully_linked_description": "Děkujeme, úspěšně jsem připojili váš GitHub účet k __appName__u. Nyní můžete exportovat své projekty v __appName__u do GitHubu, nebo importovat projekty z GitHub repozitáře.", + "github_sync": "Synchronizace s GitHubem", + "github_sync_description": "Můžete spojit vaše projekty v __appName__u s GitHub repozitářem. Můžete vytvářet nové commity z __appName__u a mergovat s commity vytvořenými offline, nebo na GitHubu.", + "github_sync_error": "Omlouváme se, ale při komunikaci s naší GitHub službou nastala chyba. Zkuste to za moment znovu.", + "github_validation_check": "Zkontrolujte prosím, jestli máte správné jméno repozitáře a jestli máte práva k jeho vytvoření.", + "go_to_code_location_in_pdf": "Přejít od místa v kódu k PDF", + "group_admin": "Administrátor skupiny", + "group_full": "Tato skupina je již naplněna.", + "help": "Nápověda", + "home": "Domů", + "hotkeys": "Klávesové zkratky", + "import_from_github": "Importovat z GitHubu", + "import_to_sharelatex": "Importovat do __appName__u", + "importing": "Importuji", + "importing_and_merging_changes_in_github": "Importuji a merguji změny v GitHubu", + "indvidual_plans": "Individuální tarify", + "info": "Informace", + "institution": "Instituce", + "it": "Italština", + "join_sl_to_view_project": "Pro zobrazení tohoto projektu se přihlašte do __appName__.", + "keybindings": "Klávesové zkratky", + "language": "Jazyk", + "last_modified": "Naposledy změněno", + "last_name": "Příjmení", + "latex_templates": "Šablony pro LaTeX", + "learn_more": "Zjistit více", + "link_to_github": "Spojit s vašim GitHub účtem", + "link_to_github_description": "Musíte autorizovat __appName__ k přístupu do vaše GitHub účtu abychom mohli synchronizovat vaše projekty.", + "loading": "Načítám", + "loading_github_repositories": "Načítám vaše repozitáře z GitHubu", + "loading_recent_github_commits": "Načítám poslední commity", + "log_in": "Přihlásit se", + "log_out": "Odhlásit se", + "logging_in": "Přihlašuji", + "login": "Přihlášení", + "login_here": "Přihlašte se zde", + "logs_and_output_files": "Logy a výstupní soubory", + "lost_connection": "Připojení ztraceno", + "main_document": "Hlavní dokument", + "maintenance": "Údržba", + "make_private": "Nastavit jako soukromý", + "menu": "Menu", + "merge": "Mergovat", + "merging": "Merguji", + "month": "měsíc", + "monthly": "Měsíční", + "more": "Více", + "must_be_email_address": "Musíte zadat emailovou adresu", + "name": "Jméno", + "native": "Výchozí", + "navigation": "Pro navigaci", + "need_anything_contact_us_at": "Pokud vám můžeme s čímkoliv pomoci, nebojte se na nás obrátit na", + "need_to_leave": "Potřebujete odejít?", + "need_to_upgrade_for_more_collabs": "Pro přidání více spolupracovníků musíte upgradovat svůj účet.", + "new_file": "Nový soubor", + "new_folder": "Nová složka", + "new_name": "Nové jméno", + "new_password": "Nové heslo", + "new_project": "Nový projekt", + "next_payment_of_x_collectected_on_y": "Další platba <0>__paymentAmmount__ bude stržena <1>__collectionDate__", + "nl": "Holandština", + "no": "Norština", + "no_members": "Žádní členové", + "no_messages": "Žádné zprávy", + "no_new_commits_in_github": "Od posledního merge nejsou žádné nové commity.", + "no_planned_maintenance": "V současnosti není plánovaná žádná odstávka", + "no_preview_available": "Je nám líto, ale náhled není k dispozici.", + "no_projects": "Žádné projekty", + "no_selection_select_file": "Nevybrali jste žádný soubor.", + "off": "Vypnuto", + "ok": "OK", + "one_collaborator": "Jen jeden spolupracovník", + "one_free_collab": "Jeden spolupracovník zdarma", + "online_latex_editor": "Online LaTeX editor", + "optional": "Dobrovolný", + "or": "nebo", + "other_logs_and_files": "Ostatní logy a soubory", + "over": "více než", + "owner": "Vlastník", + "page_not_found": "Stránka nenalezena", + "password": "Heslo", + "password_reset": "Resetovat heslo", + "password_reset_email_sent": "Byl vám zaslán email pro dokončení resetu vašeho hesla.", + "password_reset_token_expired": "Váš token pro reset hesla vypršel. Nechejte si prosím zaslat nový email a pokračujte odkazem v něm uvedeným.", + "password_too_long_please_reset": "Překročili jste maximální délku hesla. Prosíme změňte si heslo.", + "pdf_viewer": "Prohlížeč PDF", + "personal": "Personal", + "pl": "Polština", + "planned_maintenance": "Plánovaná odstávka", + "plans_amper_pricing": "Tarify a ceny", + "plans_and_pricing": "Tarify a ceny", + "please_compile_pdf_before_download": "Před stažením PDF prosím zkompilujte svůj projekt", + "please_enter_email": "Zadejte prosím svou emailovou adresu", + "please_refresh": "Pro pokračování prosím obnovte stránku.", + "position": "Pozice", + "presentation": "Prezentace", + "price": "Cena", + "privacy": "Soukromí", + "privacy_policy": "Ochrana osobních údajů", + "private": "Soukromé", + "problem_changing_email_address": "Nastal problém při změně vaší emailové adresy.Prosíme zkuste to za okamžik znovu. Pokud problémy přetrvají, kontaktujte nás.", + "problem_talking_to_publishing_service": "Vyskytl se problém s naší publikační službou, zkuste to prosím znovu za pár minut", + "problem_with_subscription_contact_us": "Vyskytly se problémy s vaším předplatným. Kontaktujte nás prosím pro více informací.", + "processing": "zpracovávám", + "professional": "Professional", + "project_last_published_at": "Váš projekt byl naposledy publikován", + "project_name": "Jméno projektu", + "project_not_linked_to_github": "Tento projekt není spojen s GitHub repozitářem. Můžete pro něj GitHub repozitář vytvořit:", + "project_ownership_transfer_confirmation_1": "Opravdu chcete změnit majitele projektu <1>__project__ na uživatele <0>__user__?", + "project_ownership_transfer_confirmation_2": "Tuto akci nebudete moci vrátit. Nový majitel bude o změně informován, a bude moci změnit přístupová práva, včetně možnosti zamezit Vám v přístupu.", + "project_synced_with_git_repo_at": "Tento projekt je synchronizován s GitHub repozitářem v", + "projects": "Projekty", + "pt": "Portugalština", + "public": "Veřejné", + "publish": "Publikovat", + "publish_as_template": "Publikovat jako šablonu", + "publishing": "Publikuji", + "pull_github_changes_into_sharelatex": "Vložit změny z GitHubu do __appName__u.", + "push_sharelatex_changes_to_github": "Vložit změny z __appName__u do GitHubu", + "read_only": "Jen pro čtení", + "recent_commits_in_github": "Poslední commity do GitHubu", + "recompile": "Překompilovat", + "reconnecting": "Obnovuji připojení", + "reconnecting_in_x_secs": "Obnovuji připojení za __seconds__ sek", + "refresh_page_after_starting_free_trial": "Obnovte prosím stránku poté co začnete používat svou bezplatnou trial verzi.", + "regards": "S pozdravem", + "register": "Registrovat", + "register_to_edit_template": "Pro úpravu šablony __templateName__ se prosím přihlašte", + "registered": "Registrováno", + "registering": "Registruji", + "remove_collaborator": "Odstranit spolupracovníka", + "remove_from_group": "Odstranit ze skupiny", + "removed": "odstraněno", + "rename": "Přejmenovat", + "rename_project": "Přejmenovat projekt", + "repository_name": "Jméno repozitáře", + "republish": "Publikovat znovu", + "request_password_reset": "Požádat o resetování hesla", + "required": "Povinná položka", + "reset_password": "Resetovat heslo", + "reset_your_password": "Resetovat heslo", + "restore": "Obnovit", + "restoring": "Obnovuji", + "restricted": "Důvěrné", + "restricted_no_permission": "Důvěrné; omlouváme se, ale nemáte dostatečná práva k zobrazení této stránky.", + "ro": "Rumunština", + "role": "Úloha", + "ru": "Ruština", + "saving": "Ukládám", + "saving_notification_with_seconds": "Ukládám __docname__... (__seconds__ sek neuložených změn)", + "search_projects": "Vyhledat projekty", + "security": "Zabezpečení", + "select_github_repository": "Vybrat GitHub repozitář k importování do __appName__u.", + "send_first_message": "Pošlete svou první zprávu spolupracovníkům", + "server_error": "Chyba serveru", + "set_new_password": "Nastavit nové heslo", + "set_password": "Nastavit heslo", + "settings": "Nastavení", + "share": "Sdílet", + "share_project": "Sdílet projekt", + "share_with_your_collabs": "Sdílet s vašimi spolupracovníky", + "shared_with_you": "Sdílené s Vámi", + "show_hotkeys": "Zobrazit zkratky", + "somthing_went_wrong_compiling": "Omlouváme se, ale něco se pokazilo a váš projekt nemůže být zkompilován. Zkuste to prosím znovu za pár okamžiků.", + "source": "Zdroj", + "spell_check": "Kontrola pravopisu", + "start_free_trial": "Začněte s trial verzí zdarma!", + "student": "Student", + "subscribe": "Odebírat novinky", + "subscription": "Předplatné", + "subscription_canceled_and_terminate_on_x": " Vaše předplatné bylo zrušeno a bude ukončeno k <0>__terminateDate__. Žádná další platba nebude stržena.", + "sure_you_want_to_change_plan": "Opravdu chcete změnit tarif na <0>__planName__?", + "sure_you_want_to_delete": "Opravdu chcete nenávratně smazat následující soubory?", + "sv": "Švédština", + "sync": "Synchronizace", + "sync_project_to_github_explanation": "Každá změna, kterou uděláte v __appName__u, bude commitována a mergována z každou změnou v GitHubu.", + "sync_to_dropbox": "Synchronizujte s Dropboxem", + "take_me_home": "Vezmi mě zpět!", + "template_description": "Popis šablony", + "templates": "Šablony", + "terms": "Podmínky", + "thank_you": "Děkujeme", + "thanks": "Děkujeme", + "thanks_for_subscribing": "Děkujeme za odběr!", + "thanks_for_subscribing_you_help_sl": "Děkujeme za předplacení tarifu __planName__. Podpora od lidí jako jste vy je to, co umožňuje, aby __appName__ rostl a zlepšoval se.", + "thanks_settings_updated": "Děkujeme, vaše nastavení bylo aktualizováno.", + "theme": "Vzhled", + "thesis": "Závěrečná práce", + "this_action_cannot_be_undone": "Tuto akci nepůjde vrátit zpět!", + "this_project_is_public": "Tento projekt je veřejný a editovatelný kýmkoliv s URL.", + "this_project_is_public_read_only": "Tento projekt je veřejný a může být zobrazen, ale ne editován, kýmkoliv kdo má URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Tento projekt se objeví ve vaší Dropbox složce jako ", + "three_free_collab": "Tři spolupracovníci zdarma", + "timedout": "Vypršel čas", + "title": "Název", + "to_many_login_requests_2_mins": "Tento účet má příliš mnoho žádostí o přihlášení. Počkejte prosím 2 minuty před dalším pokusem.", + "token_access_failure": "Přístup odepřen; kontaktujte prosím majitele projektu", + "tr": "Turečtina", + "trash": "Vyhodit do koše", + "trash_projects": "Vyhodit projekty do koše", + "trashed_projects": "Koš", + "try_now": "Vyzkoušejte teď", + "uk": "Ukrajinština", + "university": "Univerzita", + "unlimited_collabs": "Neomezený počet spolupracovníků", + "unlimited_projects": "Neomezený počet projektů", + "unlink": "Odpojit", + "unlink_github_repository": "Odlinkovat Github repozitář", + "unlink_github_warning": "Všechny projekty synchronizované s GitHubem budou odpojeny a déle nesynchronizovány. Opravdu chcete váš GitHub účet odpojit?", + "unlinking": "Odlinkovávám", + "unpublish": "Zrušit publikování", + "unpublishing": "Ruším publikování", + "unsubscribe": "Zrušit odběr", + "unsubscribed": "Odběr zrušen", + "unsubscribing": "Ruším odběr", + "untrash": "Obnovit", + "update": "Aktualizovat", + "update_account_info": "Aktualizovat informace o účtu", + "update_dropbox_settings": "Aktualizovat nastavení Dropboxu", + "update_your_billing_details": "Aktualizujte své fakturační údaje", + "updating_site": "Upravuji stránku", + "upgrade": "Upgrade", + "upload": "Nahrát", + "upload_project": "Nahrát projekt", + "upload_zipped_project": "Nahrát zazipovaný projekt", + "user_wants_you_to_see_project": "Uživatel __username__ by se rád přidal k projektu __projectname__", + "view_all": "Zobrazit vše", + "view_in_template_gallery": "Zobrazit v galerii šablon", + "welcome_to_sl": "Vítejte v __appName__", + "year": "rok", + "you_have_added_x_of_group_size_y": "Přidal jste <0>__addedUsersSize__ z <1>__groupSize__ možných členů", + "your_plan": "Váš tarif", + "your_projects": "Vaše projekty", + "your_subscription": "Vaše předplatné", + "your_subscription_has_expired": "Vaše předplatné vypršelo." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/da.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/da.json new file mode 100644 index 0000000..3897259 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/da.json @@ -0,0 +1,1671 @@ +{ + "1_2_width": "½ bredde", + "1_4_width": "¼ bredde", + "3_4_width": "¾ bredde", + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoindstillinger", + "Documentation": "Dokumentation", + "Projects": "Projekter", + "Security": "Sikkerhed", + "Subscription": "Abonnement", + "Terms": "Vilkår", + "Universities": "Universiteter", + "a_custom_size_has_been_used_in_the_latex_code": "En brugerdefineret størrelse er blevet brugt i LaTeX koden.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "En fil med dette navn eksisterer allerede og vil blive overskrevet.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "En mere fyldestgørende liste over tastaturgenveje kan findes i <0>denne __appName__-projektskabelon", + "about": "Om", + "about_to_archive_projects": "Du er ved at arkivére følgende projekter:", + "about_to_delete_projects": "Du er ved at slette følgende projekter:", + "about_to_delete_tag": "Du er ved at slette det følgende tag (ingen af taggets projekter vil blive slettet):", + "about_to_delete_the_following_project": "Du er ved at slette følgende projekt", + "about_to_delete_the_following_projects": "Du er ved at slette følgende projekter", + "about_to_leave_projects": "Du er ved at forlade følgende projekter:", + "about_to_trash_projects": "Du er ved at kassére følgende projekter:", + "abstract": "Resumé", + "accept": "Accepter", + "accept_all": "Accepter alle", + "accept_invitation": "Accepter invitation", + "accept_or_reject_each_changes_individually": "Accepter eller afvis hver rettelse individuelt", + "accepted_invite": "Accepteret invitation", + "accepting_invite_as": "Du accepterer denne invitation som", + "access_denied": "Adgang nægtet", + "account": "Konto", + "account_has_been_link_to_institution_account": "Din __appName__-konto __email__ er nu forbundet til din instutionelle konto fra __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Din konto har i øjeblikket en regning med overskredet betalingsdato. Du vil ikke kunne ændre dit abonnement før det er løst.", + "account_linking": "Kontosammenkædning", + "account_not_linked_to_dropbox": "Din konto er ikke forbundet til Dropbox", + "account_settings": "Kontoindstillinger", + "account_with_email_exists": "Det ser ud til at en __appName__-konto med e-mailaddressen __email__ allerede eksisterer.", + "acct_linked_to_institution_acct_2": "Du kan <0>logge ind i HajTeX igennem din institutionelle indlogning fra <0>__institutionName__.", + "actions": "Handliger", + "activate": "Aktiver", + "activate_account": "Aktiver din konto", + "activating": "Aktiverer", + "activation_token_expired": "Din aktiverings-nøgle er udløbet og du er nødt til at få en anden tilsendt.", + "add": "Tilføj", + "add_affiliation": "Tilføj tilhørsforhold", + "add_another_address_line": "Tilføj endnu en linje", + "add_another_email": "Tilføj endnu en e-mailadresse", + "add_another_token": "Tilføj endnu en nøgle", + "add_comma_separated_emails_help": "Brug komma (,) til at adskille e-mailadresser.", + "add_comment": "Tilføj kommentar", + "add_company_details": "Tilføj virksomhedsinformationer", + "add_email": "Tilføj e-mailadresse", + "add_email_to_claim_features": "Tilføj en institutionel e-mailadresse for at gøre krav på dine funktioner.", + "add_files": "Tilføj filer", + "add_more_members": "Tilføj flere medlemmer", + "add_new_email": "Tilføj ny e-mailaddresse", + "add_or_remove_project_from_tag": "Tilføj projekt til, eller fjern projekt fra, tagget __tagName__", + "add_role_and_department": "Tilføj rolle og afdeling", + "add_to_tag": "Tilføj til tag", + "add_your_comment_here": "Tilføj din kommentar her", + "add_your_first_group_member_now": "Tilføj de første medlemmer til din gruppe nu", + "added": "tilføjet", + "added_by_on": "Tilføjet af __name__ d. __date__", + "adding": "Tilføjer", + "additional_licenses": "Dit abonnement inkluderer <0>__additionalLicenses__ yderligere licens(er) for et total af <1>__totalLicenses__ licenser.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Adresse linje 2 (ikke påkrævet)", + "admin": "admin", + "admin_user_created_message": "Administratorkonto oprettet, Log ind her for at fortsætte", + "advanced_reference_search": "Avanceret <0>henvisningssøgning", + "advanced_search": "Avanceret <0>henvisningssøgning", + "aggregate_changed": "Ændrede", + "aggregate_to": "til", + "all": "Alle", + "all_our_group_plans_offer_educational_discount": "Alle vores <0>gruppeabonnementer tilbyder <1>studierabat for studerende samt fakultet", + "all_premium_features": "Alle Premium-funktioner", + "all_premium_features_including": "Alle Premium-funktioner, inklusiv:", + "all_prices_displayed_are_in_currency": "Alle priser er vist i __recommendedCurrency__.", + "all_projects": "Alle projekter", + "all_templates": "Alle skabeloner", + "already_have_sl_account": "Har du allerede en __appName__-konto?", + "also": "Derudover", + "also_available_as_on_premises": "Også tilgængelig som on-premises", + "alternatively_create_new_institution_account": "Alternativt kan du oprette en ny konto med din institutionelle e-mailaddresse (__email__), ved at klikke __clickText__.", + "an_error_occurred_when_verifying_the_coupon_code": "En fejl opstod under valideringen af rabatkoden", + "and": "og", + "annual": "Årlig", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Alle med dette link kan redigere dette projekt", + "anyone_with_link_can_view": "Alle med dette link kan se dette projekt", + "app_on_x": "__appName__ på __social__", + "apply_educational_discount": "Anvend studierabat", + "apply_educational_discount_info": "HajTeX tilbyder 40% studierabat for grupper på 10 eller flere. Gælder for studerende eller fakultet som bruger HajTeX til undervisning.", + "april": "April", + "archive": "Arkivér", + "archive_projects": "Arkivér projekter", + "archived": "Arkiveret", + "archived_projects": "Arkiverede projekter", + "archiving_projects_wont_affect_collaborators": "Det har ingen virkning på dine samarbejdspartnere, at arkivere projekter.", + "are_you_affiliated_with_an_institution": "Tilhører du en institution?", + "are_you_getting_an_undefined_control_sequence_error": "Får du en Undefined Control Sequence fejl? Hvis du gør, så dobbelttjek at du har inkluderet graphicx pakken—<0>\\usepackage{graphicx}—i præamblen (den første kodesektion) i dit dokument. <1>Lær mere", + "are_you_still_at": "Er du stadig hos <0>__institutionName__?", + "are_you_sure": "Er du sikker?", + "article": "Artikel", + "articles": "Artikler", + "as_a_member_of_sso_required": "Som en del af __institutionName__ er du nødt til at logge ind i __appName__ igennem din institution.", + "ascending": "Stigende", + "ask_proj_owner_to_upgrade_for_full_history": "Du må bede projektets ejer om at opgradere, for at få adgang til projektets fulde historie.", + "ask_proj_owner_to_upgrade_for_references_search": "Du må bede projektets ejer om at opgradere, for at bruge søgning i referencerne.", + "august": "August", + "author": "Forfatter", + "auto_close_brackets": "Luk automatisk firkantede parenteser", + "auto_compile": "Kompilér automatisk", + "auto_complete": "Udfyld automatisk", + "autocompile_disabled": "Automatisk kompilering slået fra", + "autocompile_disabled_reason": "Grundet høj serverbelastning er baggrunds kompilering midlertidig slået fra. Genkompiler venligst ved at klikke på ovenstående knap.", + "autocomplete": "Auto udfyld", + "autocomplete_references": "Automatisk reference-udfyldelse (indeni en \\cite{} blok)", + "automatic_user_registration": "Automatisk brugerregistrering", + "back": "Tilbage", + "back_to_account_settings": "Tilbage til kontoindstillinger", + "back_to_editor": "Tilbage til skrivevinduet", + "back_to_log_in": "Tilbage til login", + "back_to_subscription": "Tilbage til abonnement", + "back_to_your_projects": "Tilbage til dine projekter", + "become_an_advisor": "Bliv en __appName__ rådgiver", + "best_choices_companies_universities_non_profits": "Det bedste valg for virksomheder, universiteter og almennyttige organisationer", + "beta": "Beta", + "beta_feature_badge": "Betafunktions-skilt", + "beta_program_already_participating": "Du er tilmeldt betaprogrammet", + "beta_program_badge_description": "Når du bruger __appName__ vil du beta funktioner være markeret med dette mærke:", + "beta_program_benefits": "Vi forbedrer hele tiden __appName__. Ved at tilmelde dig dette program, får du <0>tidlig adgang til nye funktioner, og du kan hjælpe os til bedre at forstå dine behov.", + "beta_program_not_participating": "Du er ikke tilmeldt betaprogrammet", + "beta_program_opt_in_action": "Tilmeld dig betaprogrammet", + "beta_program_opt_out_action": "Frameld dig betaprogrammet", + "bibliographies": "Bibliografier", + "binary_history_error": "Ingen forhåndsvisning for denne type fil", + "blank_project": "Tomt projekt", + "blocked_filename": "Der er blokeret for det her filnavn.", + "blog": "Blog", + "browser": "Browser", + "built_in": "Indbygget", + "bulk_accept_confirm": "Er du sikker på, at du vil acceptere de valgte __nChanges__ ændringer?", + "bulk_reject_confirm": "Er du sikker på, at du vil afvise de valgte __nChanges__ ændringer?", + "buy_now_no_exclamation_mark": "Køb nu", + "by": "af", + "by_subscribing_you_agree_to_our_terms_of_service": "Ved at abonnere accepterer du vores <0>servicevilkår.", + "can_edit": "Kan redigere", + "can_link_institution_email_acct_to_institution_acct": "Du kan nu kæde din __appName__-konto __email__ sammen med din institutionelle konto fra __institutionName__.", + "can_link_institution_email_by_clicking": "Du kan kæde din __appName__-konto __email__ sammen med din __institutionName__-konto ved at klikke __clickText__.", + "can_link_institution_email_to_login": "Du kan kæde din __appName__-konto __email__ sammen med din __institutionName__-konto, hvilket vil gøre det muligt for dig at logge ind i __appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "can_link_your_institution_acct_2": "Du kan nu kæde din <0>__appName__-konto sammen med din institutionelle konto fra <0>__institutionName__.", + "can_now_relink_dropbox": "Du kan nu <0>genoprette forbindelsen med din Dropbox-konto", + "cancel": "Annuller", + "cancel_anytime": "Vi er sikre på at du vil elske __appName__, men hvis ikke kan du altid annulere. Vi giver dig pengene tilbage uden spørgsmål, hvis bare du fortæller os det inden for 30 dage.", + "cancel_my_account": "Ophæv dit abonnement", + "cancel_personal_subscription_first": "Du har allerede et personligt abonnement. Ønsker du, at dette abonnement annulleres inden du tilslutter dig gruppe licensen?", + "cancel_your_subscription": "Annullér dit abonnement", + "cannot_invite_non_user": "Kan ikke sende invitation. Modtageren er nødt til at have en __appName__ konto i forvejen.", + "cannot_invite_self": "Kan ikke sende invitation til dig selv", + "cannot_verify_user_not_robot": "Vi har desværre ikke kunnet verificere, at du ikke er en robot. Tjek venligst at Google reCAPTCHA ikke bliver blokeret af en adblocker eller en firewall.", + "cant_find_email": "Denne e-mailadresse adresse er desværre ikke registreret.", + "cant_find_page": "Beklager, vi kan ikke finde siden, du leder efter.", + "cant_see_what_youre_looking_for_question": "Er der noget, der mangler?", + "card_details": "Betalingskortsoplysninger", + "card_details_are_not_valid": "Betalingskortsoplysningerne er ugyldige", + "card_must_be_authenticated_by_3dsecure": "Betalingskortet skal godkendes med 3D Secure før du kan fortsætte", + "card_payment": "Kortbetaling", + "careers": "Karriere", + "category_arrows": "Pile", + "category_greek": "Græsk", + "category_misc": "Div", + "category_operators": "Operatorer", + "category_relations": "Relationer", + "change": "Ændr", + "change_currency": "Ændr valuta", + "change_or_cancel-cancel": "anuller", + "change_or_cancel-change": "Ændr", + "change_or_cancel-or": "eller", + "change_owner": "Skift ejer", + "change_password": "Skift Kodeord", + "change_plan": "Ændre abonnement", + "change_primary_email_address_instructions": "For at ændre din primære e-mailadresse, tilføj først din nye primære e-mailadresse (ved at klikke <0>Tilføj endnu en e-mailadesse) og bekræft den. Klik derefter på <0>Gør til primær. <1>Lær mere omkring håndtering af dine __appName__ e-mailadresser", + "change_project_owner": "Skift projektejer", + "change_to_group_plan": "Skift til gruppeabonnement", + "change_to_this_plan": "Ændring til dette abonnement", + "changing_the_position_of_your_figure": "Ændr positionen af din figur", + "chat": "Chat", + "chat_error": "Kunne ikke indlæse chatbeskeder, prøv venligst igen.", + "check_your_email": "Tjek din e-mail", + "checking": "Tjekker", + "checking_dropbox_status": "Kontrollerer Dropbox status", + "checking_project_github_status": "Tjekker projektstatus i GitHub", + "choose_a_custom_color": "Vælg en brugerdefineret farve", + "choose_your_plan": "Vælg dit abonnement", + "city": "By", + "clear_cached_files": "Ryd cachede filer", + "clear_search": "ryd søgning", + "clear_sessions": "Ryd sessioner", + "clear_sessions_description": "Dette er en liste over alle din brugers aktive sessioner (logins), undtagen din nuværende session. Klik på knappen “Ryd sessioner” nedenunder for at logge dem af.", + "clear_sessions_success": "Sessioner ryddet", + "clearing": "Rydder", + "click_here_to_view_sl_in_lng": "Klik her for at bruge __appName__ på <0>__lngName__", + "click_link_to_proceed": "Klik på __clickText__ herunder for at fortsætte.", + "clone_with_git": "Klon med Git", + "close": "Luk", + "clsi_maintenance": "Kompileringsserverne er lukkede grundet vedligeholdelse, men vil være klar om et øjeblik.", + "clsi_unavailable": "Beklager, kompileringsserveren til dit projekt var midlertidigt utilgængelig. Prøv igen om lidt.", + "cn": "Kinesisk (forenklet)", + "code_check_failed": "Kodetjek fejlede", + "code_check_failed_explanation": "Din kode har fejl, der skal rettes før auto-kompileren kan køre", + "collaborate_online_and_offline": "Samarbejd online og offline, med dit eget workflow", + "collaboration": "Samarbejde", + "collaborator": "Samarbejdspartner", + "collabratec_account_not_registered": "IEEE Collabratec™ konto er ikke registeret. Forbind til HajTeX from IEEE Collabratec™ eller log ind med en anden konto.", + "collabs_per_proj": "__collabcount__ samarbejdspartnere per projekt", + "collabs_per_proj_single": "__collabcount__ samarbejdspartnere per projekt", + "collapse": "Fold sammen", + "comment": "Kommentar", + "commit": "Commit", + "common": "Almindelig", + "commons_plan_tooltip": "Du er på __plan__ abonnementet gennem din tilknytning til __institution__. Klik for at finde ud af hvordan du bedst udnytter dine Overlaf Premium-funktioner.", + "compact": "Kompakt", + "company_name": "Virksomhedsnavn", + "comparing_from_x_to_y": "Sammenligner fra <0>__startTime__<0> til <0>__endTime__", + "compile_error_entry_description": "En fejl, som forhindrede dette projekt i at kompilere", + "compile_error_handling": "Håndtéring af kompileringsfejl", + "compile_larger_projects": "Kompilér større projekter", + "compile_mode": "Kompilering metode", + "compile_terminated_by_user": "Kompileringen blev annulleret med knappen ‘Stop kompilering’. Du kan se loggen for at se hvor kompileringen stoppede.", + "compile_timeout_short": "Kompileringstidsgrænse", + "compiler": "Kompilér", + "compiling": "Kompilerer", + "complete": "Færdig", + "confirm": "Bekræft", + "confirm_affiliation": "Bekræft tilknytning", + "confirm_affiliation_to_relink_dropbox": "Bekræft venligst at du stadig er på institutionen og på deres licens, eller opgradér din konto for at genetablere forbindelsen til din Dropbox konto.", + "confirm_email": "Bekræft e-mailadresse", + "confirm_new_password": "Bekræft nyt kodeord", + "confirm_primary_email_change": "Bekræft ændring af din primære e-mailadesse", + "confirmation_link_broken": "Beklager, der er noget galt med dit bekræftelseslink. Du kan prøve at kopiere og indsætte linket i bunden af din bekræftelsesmail.", + "confirmation_token_invalid": "Beklager, dit bekræftelseslink er ugyldig eller udløbet. Vi må bede dig bestille en ny email med et bekræftelseslink.", + "confirming": "Berkræfter", + "conflicting_paths_found": "Modstridende stier blev fundet", + "connected_users": "Forbundne brugere", + "connecting": "Forbinder", + "contact": "Kontakt", + "contact_message_label": "Besked", + "contact_sales": "Kontakt salgsafdelingen", + "contact_support_to_change_group_subscription": "<0>Kontakt venligst support hvis du ønsker at ændre dit gruppeabonnement.", + "contact_us": "Kontakt os", + "contact_us_lowercase": "Kontakt os", + "continue": "Fortsæt", + "continue_github_merge": "Jeg har flettet manuelt. Fortsæt", + "continue_to": "Fortsæt til __appName__", + "continue_with_free_plan": "Fortsæt med gratis abonnement", + "copied": "Kopieret", + "copy": "Kopier", + "copy_project": "Kopier projekt", + "copying": "Kopierer", + "country": "Land", + "country_flag": "__country__ flag", + "coupon_code": "Rabatkode", + "coupon_code_is_not_valid_for_selected_plan": "Rabatkoden er ikke gyldig for det valgte abonnement", + "coupons_not_included": "Dette inkluderer ikke dine nuværende rabatter. De bliver automatisk lagt ind før din næste betaling", + "create": "Opret", + "create_a_new_password_for_your_account": "Opret et nyt kodeord til din konto", + "create_first_admin_account": "Opret den første administratorkonto", + "create_new_account": "Opret en ny konto", + "create_new_subscription": "Opret nyt abonnement", + "create_new_tag": "Opret nyt tag", + "create_project_in_github": "Opret et GitHub repository", + "created_at": "Oprettet d.", + "creating": "Opretter", + "credit_card": "Betalingskort", + "cs": "Tjekkisk", + "currency": "Valuta", + "current_file": "Nuværende fil", + "current_password": "Nuværende kodeord", + "current_session": "Nuværende session", + "currently_seeing_only_24_hrs_history": "Du ser nu på de sidste 24 timers ændringer i dette projekt.", + "currently_subscribed_to_plan": "Du abonnerer pt. på <0>__planName__ abonnementet.", + "custom_resource_portal": "Brugerdefineret ressource portal", + "custom_resource_portal_info": "Du kan få din egen brugerdefinerede ressource portal på HajTeX. Dette er et fantastisk sted for dine brugere at finde ud af mere om HajTeX, tilgå projekt-skabeloner, ofte stillede spørgsmål, hjælperessourcer samt oprette en konto hos HajTeX.", + "customize": "Tilpas", + "customize_your_group_subscription": "Tilpas dit gruppeabonnement", + "customize_your_plan": "Tilpas dit abonnement", + "customizing_figures": "Tilpasning af figurer", + "da": "Dansk", + "date": "Dato", + "date_and_owner": "Dato og ejer", + "de": "Tysk", + "dealing_with_errors": "Fejlhåndtering", + "december": "December", + "dedicated_account_manager": "Dedikeret account-manager", + "dedicated_account_manager_info": "Vores Account-Management hold vil være tilgængelige til at hjælpe med forespørgseler, spørgsmål og til at hjælpe dig med at sprede ordet om HajTeX med reklamemateriale, træningsmateriale samt webinars.", + "default": "Standard", + "delete": "Slet", + "delete_account": "Slet konto", + "delete_account_confirmation_label": "Jeg er indforstået med, at dette vil slette alle mine __appName__-projekter under e-mailadressen <0>__userDefaultEmail__", + "delete_account_warning_message_3": "Du er ved permanent at slette alle din kontos data, herunder dine projekter og indstillinger. Vi beder dig skrive din kontos e-mailadresse og kodeord i felterne herunder, før du kan fortsætte.", + "delete_acct_no_existing_pw": "Du bliver nødt til at bruge nulstillelsesformularen til at indstille et kodeord, før du kan slette din konto.", + "delete_and_leave": "Slet / Forlad", + "delete_and_leave_projects": "Slet og forlad projekter", + "delete_authentication_token": "Slet autentificeringsnøgle", + "delete_authentication_token_info": "Du er ved at slette en Git autentificeringsnøgle. Hvis du fortsætter, kan nøglen ikke længere bruges til at autentificere din identitet under udførelsen af Git-operationer.", + "delete_figure": "Slet figur", + "delete_projects": "Slet projekter", + "delete_tag": "Slet tag", + "delete_token": "Slet nøgle", + "delete_your_account": "Slet din konto", + "deleted_at": "Slettet", + "deleted_by_on": "Slettet af __name__ d. __date__", + "deleting": "Sletter", + "demonstrating_git_integration": "Demonstrerer Git-integration", + "department": "Afdeling", + "descending": "Faldende", + "description": "Beskrivelse", + "dictionary": "Ordbog", + "did_you_know_institution_providing_professional": "Vidste du at __institutionName__ tilbyder <0>free __appName__ Professionel funktioner til alle hos __institutionName__?", + "disable_stop_on_first_error": "Slå “Stop ved første fejl” fra", + "disconnected": "Forbindelsen blev afbrudt", + "discount_of": "Rabat på __amount__", + "dismiss_error_popup": "Afvis første fejlmeddelelse", + "do_not_have_acct_or_do_not_want_to_link": "Hvis du ikke har en __appName__-konto, eller hvis du ikke vil kæde den sammen med din __institutionName__-konto, klik venligst __clickText__.", + "do_not_link_accounts": "Kæd ikke kontoer sammen", + "do_you_want_to_change_your_primary_email_address_to": "Vil du ændre din primære e-mailadesse til __email__?", + "do_you_want_to_overwrite_them": "Vil du overskrive dem?", + "documentation": "Dokumentation", + "does_not_contain_or_significantly_match_your_email": "indeholder ikke, og ligner ikke i betydelig grad, din e-mailadresse", + "doesnt_match": "Matcher ikke", + "doing_this_allow_log_in_through_institution": "Dermed får du mulghed for at logge ind i __appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "doing_this_allow_log_in_through_institution_2": "Dermed får du mulghed for at logge ind i <0>__appName__ igennem din institution, og vil genbekræfte din institutionelle e-mailadresse.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Dermed bliver din tilknytning til <0>__institutionName__ bekræftet, og du får mulighed for at logge ind i <0>__appName__ igennem din institution.", + "done": "Færdig", + "dont_have_account": "Ingen konto?", + "download": "Hent", + "download_pdf": "Hent PDF", + "download_zip_file": "Hent -zip fil", + "drag_here": "træk her", + "drag_here_paste_an_image_or": "Træk filer her, slip et billede, eller ", + "drop_files_here_to_upload": "Slip filer her for at uploade", + "dropbox_already_linked_error": "Kan ikke forbinde til din Dropbox-konto, fordi den allerede er forbundet til en anden HajTeX-konto.", + "dropbox_already_linked_error_with_email": "Din Dropbox-konto kan ikke kædes sammen, fordi den allerede er kædet sammen med en anden HajTeX-konto, som bruger adressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kigger efter opdateringer i Dropbox", + "dropbox_duplicate_names_error": "Din Dropbox-konto kan ikke kobles til, fordi du har mere end et projekt med det samme navn: ", + "dropbox_duplicate_project_names": "Din Dropbox-konto er blevet koblet fra, fordi du har mere end ét projekt, som hedder <0>“__projectName__”.", + "dropbox_duplicate_project_names_suggestion": "Hvis du sørger for, at alle dine projektnavne, for både <0>aktive, arkiverede og kasserede projekter, er unikke, kan du genoprette sammenkædningen med din Dropbox-konto.", + "dropbox_email_not_verified": "Vi har ikke kunnet hente opdateringer fra din Dropbox-konto. Dropbox rapporterer, at din e-mailadresse ikke er bekræftet. For at løse dette, må du bekræfte din e-mailadresse overfor Dropbox.", + "dropbox_for_link_share_projs": "Du har adgang til dette projekt via link-deling, og det kan derfor ikke synkroniseres til din Dropbox medmindre du bliver inviteret via e-mail af projektets ejer.", + "dropbox_integration_info": "Arbejd online og offline problemfrit med to-vejs Dropbox synkronisering. Ændringer du foretager lokalt vil automatisk blive sendt til HajTeX-versionen og vice versa.", + "dropbox_integration_lowercase": "Dropbox-integration", + "dropbox_successfully_linked_description": "Tak, vi har linket din Dropboxkonto til __appName__.", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_both": "Udveksler opdateringer", + "dropbox_sync_description": "Hold dine __appName__ projekter synkroniseret med din Dropboxkonto. Ændringer i __appName__ sendes automatisk til din Dropboxkonto, og omvendt.", + "dropbox_sync_error": "Beklager, der skete en fejl mens vi checkede vores Dropbox tjeneste. Prøv igen om lidt.", + "dropbox_sync_in": "Modtager opdateringer fra Dropbox", + "dropbox_sync_now_rate_limited": "Manuel synkronisering er begrænset til én gang i minuttet. Vent venligst et øjeblik og prøv igen.", + "dropbox_sync_now_running": "En manuel synkronisering er startet i baggrunden. Giv den venligst et par minutter til at gennemføres.", + "dropbox_sync_out": "Sender opdateringer til Dropbox", + "dropbox_sync_troubleshoot": "Er dine ændringer ikke synlige i Dropbox? Vent venligst et par minutter. Hvis ændringerne stadig ikke dukker op kan du <0>synkronisere projektet nu.", + "dropbox_synced": "HajTeX og Dropbox har behandlet alle opdateringer. Vær opmærksom på, at din lokale Dropbox muligvis stadig er ved at synkronisere.", + "dropbox_unlinked_because_access_denied": "Din Dropbox-konto er blevet kædet fra, fordi Dropbox afviste dine gemte legitimationsoplysninger. For at blive ved med at bruge Dropbox sammen med HajTeX må du sammenkæde dine kontoer igen.", + "dropbox_unlinked_because_full": "Din Dropbox-konto er blevet kædet fra, fordi den er fuld, og vi kan ikke længere sende opdateringer til den. For at blive ved med at bruge Dropbox sammen med HajTeX må du frigøre noget plads i Dropbox, og derefter sammenkæde dine kontoer igen.", + "dropbox_unlinked_premium_feature": "<0>Din Dropboxkonto er blevet afkoblet, fordi Dropbox Synkronisering er en Premium-funktion, som du havde adgang til igennem en institutionel licens.", + "duplicate_file": "Duplikér fil", + "duplicate_projects": "Denne bruger har projekter med identiske navne", + "each_user_will_have_access_to": "Hver bruger vil have adgang til", + "easily_manage_your_project_files_everywhere": "Administrér nemt dine projekter, uanset hvor du er", + "edit": "Redigér", + "edit_dictionary": "Redigér ordbog", + "edit_dictionary_empty": "Din tilpassede ordbog er tom.", + "edit_dictionary_remove": "Fjern fra ordbog", + "edit_figure": "Redigér figur", + "edit_tag": "Redigér tag", + "editing": "Redigering", + "editing_captions": "Redigering af billedtekster", + "editor_and_pdf": "Skrivevindue & PDF", + "editor_disconected_click_to_reconnect": "Skriveprogrammets forbindelse afbrudt, klik hvor som helst for at forbinde igen.", + "editor_only_hide_pdf": "Kun skrivevindue <0>(gem PDF)", + "editor_theme": "Tema for skrivevinduet", + "educational_discount_applied": "40% studierabat anvendt!", + "educational_discount_available_for_groups_of_ten_or_more": "Studierabatten er tilgængelig for grupper af 10 eller flere", + "educational_discount_disclaimer": "Denne license er for studiemæssig benyttelse (gælder for studerende eller fakultet som bruger HajTeX til undervisning)", + "educational_discount_for_groups_of_ten_or_more": "HajTeX tilbyder 40% studierabat for grupper af 10 eller flere.", + "educational_discount_for_groups_of_x_or_more": "Studierabatten er tilgængelig for grupper af __size__ eller flere", + "educational_percent_discount_applied": "__percent__% studierabat anvendt!", + "email": "E-mail", + "email_already_associated_with": "E-mailadressen __email1__ er allerede associeret med __appName__-kontoen __email2__.", + "email_already_registered": "Denne e-mailadresse er allerede registreret", + "email_already_registered_secondary": "Denne e-mailadresse er allerede registreret som en sekundær e-mailaddresse", + "email_already_registered_sso": "Denne e-mailaddresse er allerede registeret. Log venligst ind på din konto på anden vis og tilknyt din konto til den nye udbyder via dine kontoindstillinger.", + "email_does_not_belong_to_university": "Vi genkender ikke det domæne som et, der tilhører dit universitet. Tag venligst kontakt til os, så vi kan tilføje det tilhørsforhold.", + "email_link_expired": "Linket tilsendt din e-mailadresse er udløbet. Du bedes anmode om et nyt.", + "email_or_password_wrong_try_again": "Din e-mailadresse eller kodeord er ikke korrekt. Prøv igen.", + "email_or_password_wrong_try_again_or_reset": "Din e-mailaddresse eller kodeord er ikke korrekt. Prøv igen, eller <0>indstil eller nulstil dit kodeord.", + "email_required": "E-mailaddresse påkrævet", + "email_sent": "E-mail sendt", + "emails": "E-mails", + "emails_and_affiliations_explanation": "Tilføj supplerende e-mailadresser til din konto for at tilgå opgraderinger som dit universitet eller din institution har, for at gøre det nemmere at finde dig samt for at sikre dig at du kan genvinde din konto.", + "emails_and_affiliations_title": "E-mailaddresser og tilknytninger", + "empty_zip_file": "Zip indeholder ikke nogen filer", + "en": "Engelsk", + "end_of_document": "Slutningen af dokumentet", + "enter_image_url": "Indtast billedets URL", + "enter_your_email_address": "Indtast din e-mailaddresse", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Indtast din e-mailaddresse nedenfor, så sender vi et link til at nulstille dit kodeord", + "enter_your_new_password": "Indtast dit nye kodeord", + "error": "Fejl", + "error_performing_request": "En fejl opstod under udførelsen af din forespørgsel.", + "es": "Spansk", + "every": "per", + "example": "Eksempel", + "example_project": "Eksempelprojekt", + "examples": "Eksempler", + "existing_plan_active_until_term_end": "Dit nuværende abonnement og dets funktioner vil være aktivt indtil enden på den nuværende faktureringsperiode.", + "expand": "Fold ud", + "expires": "Udløber", + "expiry": "Udløbsdato", + "export_csv": "Eksportér CSV", + "export_project_to_github": "Eksporter projekt til GitHub", + "faq_change_plans_or_cancel_answer": "Ja det kan du altid gøre i dine abonnementsindstillinger. Du kan ændre abonnement, skifte mellem månedlig og årlige betaling, eller afmelde for at nedgradere til det gratis abonnement. Når du afmelder vil dit abonnement fortsætte indtil slutningen af betalingsperioden. Hvis din konto midligertidigt intet abonnement har, er den eneste ændring de funktioner der er tilgængelige for dig. Dine projekter vil altid være tilgængelige på din konto.", + "faq_change_plans_or_cancel_question": "Kan jeg ændre abonnement eller afmelde senere?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan være på hvilket som helst abonnement, inklusiv det gratis abonnement. Hvis du er på et Premium-abonnement, vil nogle Premium-funktioner være tilgængelige for dine samarbejdspartnere i de projekter du har oprettet, selvom de er på det gratis abonnement. For mere information kan du læse om <0>konti og abonnementer og <1>hvordan Premium-funktioner virker.", + "faq_do_collab_need_on_paid_plan_question": "Skal mine samarbejdspartnere også være på et betalt abonnement?", + "faq_how_does_a_group_plan_work_answer": "Gruppeabonnementer er en måde at opgradere mere end én HajTeX konto. De er nemme at administrere, hjælper med at nedbringe papirarbejdet, og reducerer omkostningen ved at forbundet med at købe flere individuelle abonnementer. For at lære kan du læse om at <0>blive tilknyttet et gruppeabonnement og <1>adminstrering af gruppeabonnement. Du kan købe gruppeabonnementer ovenfor, eller ved at <2>kontakte os.", + "faq_how_does_a_group_plan_work_question": "Hvordan fungerer et gruppeabonnement? Hvordan tilføjer jeg medlemmer til abonnementet?", + "faq_how_does_free_trial_works_answer": "Du får fuld adgang til det valgte __appName__ Premium abonnement i din __len__-dages prøveperiode. Der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. Du kan afmelde via dine abonnementsindstillinger.", + "faq_how_free_trial_works_answer_v2": "Du får fuld adgang til dit valgte Premium abonnement i din __len__-dages prøveperiode, og der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. For at atmelde skal du gå til dine abonnementsindstillinger i din konto (prøveperioden fortsætter i den fulde __len__-dages periode).", + "faq_how_free_trial_works_question": "Hvordan fungerer den gratis prøveperiode?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I HajTeX opretter og administrerer hver bruger deres egen HajTeX konto. De fleste brugere starter med en gratis konto, men kan opgradere og nyde Premium-funktioner ved at abonnere, tilknytte sig et gruppeabonnement eller ved at tilknytte sig et <0>Commons abonnement. Når du køber, tilknyttes eller forlader et abonnement, kan du stadig bruge den samme HajTeX konto.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "For at finde ud af mere kan du læse om <0>hvordan konti og abonnementer arbejder sammen i HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "Jeg har en gratis konto og jeg vil gerne tilknyttes et abonnement. Hvordan gør jeg det?", + "faq_pay_by_invoice_answer_v2": "Ja hvis du vil købe et gruppeabonnement med fem eller flere brugere, eller en organisationsdækkende licens. For individuelle abonnement kan vi kun modtage betalinger online via betalingskort eller PayPal.", + "faq_pay_by_invoice_question": "Kan jeg betale via faktura?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nej. Kun abonnentens konto bliver opgraderet. Et individuel Standard abonnement tillader dig at invitere 10 samarbejdspartnere til hvert projekt som er ejet af dig.", + "faq_the_individual_standard_plan_10_collab_question": "Det individuelle Standard abonnement har 10 projektsamarbejdspartnere. Betyder det at 10 mennesker bliver opgraderet?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Mens de arbejder på et projekt som du, en abonnement, deler med dem vil dine samarbejdspartnere få adgang til nogle Premium-funktioner såsom fuld ændringshistorik, samt forhøjet kompileringstidsgrænse for det bestemte projekt. At invitere dem til et bestemt projekt opgraderer dog ikke deres konto som helhed. Læs mere om <0>hvilke funktioner er per-projekt og hvilke der er per-konto.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I HajTeX opretter hver bruger deres egen konto. Du kan oprette projekter som kun du kan arbejde på, og du kan også invitere andre til at se eller samarbejde på projekter du ejer. Brugere som du deler dit projekt med kaldes <0>samarbejdspartnere. Nogle gange refererer vi til dem som projektsamarbejdspartnere.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Med andre ord, samarbejdspartnere er blot andre HajTeX brugere som du arbejder sammen med på et af dine projekter.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Hvad er forskellen mellem brugere og samarbejdspartnere?", + "fast": "Hurtig", + "feature_included": "Funktion inkluderet", + "feature_not_included": "Funktion ikke inkluderet", + "featured": "Fremhævet", + "featured_latex_templates": "Fremhævede LaTeX-skabeloner", + "features": "Funktioner", + "features_and_benefits": "Funktioner & fordele", + "february": "Februar", + "file_action_created": "Oprettede", + "file_action_deleted": "Slettede", + "file_action_edited": "Ændrede i", + "file_action_renamed": "Omdøbte", + "file_already_exists": "Der eksisterer allerede en fil eller mappe med dette navn", + "file_already_exists_in_this_location": "Et emne med navnet <0>__fileName__ findes allerede på denne placering. Hvis du vil gennemføre flytningen, skal du først omdøbe eller flytte den fil, som er i vejen, og derefter prøve igen.", + "file_name": "Filnavn", + "file_name_figure_modal": "Filnavn", + "file_name_in_this_project": "Filnavn i dette projekt", + "file_name_in_this_project_figure_modal": "Filnavn i dette projekt", + "file_outline": "Disposition", + "file_size": "Filstørrelse", + "file_too_large": "For stor fil", + "files_cannot_include_invalid_characters": "Filnavnet er tomt, eller indeholder ugyldige karakterer", + "files_selected": "filer valgt.", + "filters": "Filtre", + "find_out_more": "Find ud af mere", + "find_out_more_about_institution_login": "Få mere at vide om institutionel indlogning", + "find_out_more_about_the_file_outline": "Få mere at vide om dispositionen", + "find_out_more_nt": "Find ud af mere.", + "first_name": "Fornavn", + "fold_line": "Fold linje", + "folder_location": "Mappeplacering", + "folders": "Mapper", + "following_paths_conflict": "Følgende filer og mapper kan ikke have samme sti", + "font_family": "Skrifttypefamilie", + "font_size": "Skriftsstørrelse", + "footer_about_us": "Om os", + "footer_contact_us": "Kontakt os", + "footer_plans_and_pricing": "Abonnementer & priser", + "for_enterprise": "For virksomheder", + "for_groups_or_site_wide": "For grupper eller organisationsdækkende", + "for_individuals_and_groups": "For individer & grupper", + "for_publishers": "For forlag", + "for_students": "For studerende", + "for_students_only": "Kun for studerende", + "for_teaching": "For undervisning", + "for_universities": "For universiteter", + "forgot_your_password": "Glemt dit kodeord", + "four_minutes": "4 minutter", + "fr": "Fransk", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox og historik", + "free_plan_label": "Du er på det gratis abonnement", + "free_plan_tooltip": "Klik for at finde ud af hvordan du kan drage fordel af HajTeX Premium-funktioner.", + "from_another_project": "Fra andet projekt", + "from_external_url": "Fra ekstern URL", + "from_provider": "Fra __provider__", + "full_doc_history": "Fuld ændringshistorik", + "full_doc_history_info_v2": "Du kan se alle ændinger i dit projekt og hvem der lavede dem. Tilføj et mærkat for hurtigt at kunne tilgå bestemte versioner.", + "full_document_history": "Fuld <0>ændringshistorik", + "full_width": "Fuld bredde", + "gallery": "Galleri", + "gallery_items_tagged": "__itemPlural__ tagget __title__", + "gallery_page_items": "Gallerigenstande", + "gallery_page_summary": "Et galleri af opdaterede og stilfulde LaTeX skabeloner, eksempler som kan hjælpe dig med at lære LaTeX, og artikler og præsentationer udgivet af vores fællesskab. Søg eller gennemse nedenfor.", + "gallery_page_title": "Galleri - Skabeloner, eksempler og artikler skrevet i LaTeX", + "gallery_show_all": "Vis alle __itemPlural__", + "generate_token": "Generér nøgle", + "generic_if_problem_continues_contact_us": "Kontakt os hvis problemet fortsætter", + "generic_linked_file_compile_error": "Dette projekts udfiler er ikke tilgængelige, fordi det ikke kunne kompilere. Du kan se detaljer om kompileringsfejl, hvis du åbner projektet.", + "generic_something_went_wrong": "Beklager, noget gik galt", + "get_collaborative_benefits": "Få samarbejdsfordelene fra __appName__ selv hvis du foretrækker at arbejde offline", + "get_discounted_plan": "Få nedsat abonnement", + "get_in_touch": "Kom i kontakt med os", + "get_in_touch_having_problems": "Kontakt support, hvis du oplever problemer", + "get_involved": "Bliv involveret", + "get_most_subscription_by_checking_features": "Få det meste ud af dit __appName__ abonnement ved tjekke <0>__appName__s funktioner.", + "get_the_most_out_headline": "Få det meste ud af __appName__ med funktioner såsom:", + "git": "Git", + "git_authentication_token": "Git autentificeringsnøgle", + "git_authentication_token_create_modal_info_1": "Dette er din Git autentificeringsnøgle. Du skal indtaste den når du bliver spurgt om et kodeord.", + "git_authentication_token_create_modal_info_2": "<0>Du kan kun se denne autentificeringsnøgle én gang så kopier den venligst og opbevar den sikkert. For flere instruktioner omkring brugen af autentificeringsnøgler, besøg vores <1>hjælpeside.", + "git_bridge_modal_click_generate": "Klik “Generér nøgle” for at generere din autentificeringsnøgle. Du kan også gøre det senere i dine kontoindstillinger.", + "git_bridge_modal_enter_authentication_token": "Når du bliver spurgt om en kode, indtast da din nye autentificeringsnøgle:", + "git_bridge_modal_see_once": "Du kan kun se denne autentificeringsnøgle én gang. For at slette den eller generere en ny, gå til dine brugerindstilinger. For detalerede instruktioner og fejlsøgning, læs vores <0>hjælpeside.", + "git_bridge_modal_use_previous_token": "Hvis du bliver spurgt om en kode kan du bruge en tidligere genereret autentificeringsnøgle. Du kan også generere en ny i dine kontoindstillinger. For mere hjælp, læs vores <0>hjælpeside.", + "git_integration": "Git-integration", + "git_integration_info": "Med Git-integration kan du klone dine HajTeX projekter med Git. For komplette instruktioner til hvordan du gør det, læs vores <0>hjælpeside.", + "git_integration_lowercase": "Git-integration", + "git_integration_lowercase_info": "Du kan klone dit HajTeX projekt til et lokalt repository, og behandle HajTeX som et remote repository, som du kan pushe og pulle fra.", + "github_commit_message_placeholder": "Commit besked for ændringer i __appName__...", + "github_credentials_expired": "Dine GitHub autentificeringsoplysninger er udløbet", + "github_file_name_error": "Dette repository kan ikke importeres, fordi det indeholder en eller flere filer med et ugyldigt filnavn:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- og <0>Dropbox-integrationer", + "github_git_folder_error": "Dette projekt indeholder en .git mappe i den yderste mappe, hvilket indikerer at det allerede er et Git repository. HajTeX GitHub synkroniseringen kan ikke synkronisere Git historikker. Fjern venligst .git mappen og prøv igen.", + "github_integration_lowercase": "Git- og GitHub-integration", + "github_is_premium": "GitHub synkronisering er en Premium-funktion", + "github_large_files_error": "Merge mislykkedes: Dit GitHub reopsitory indeholder filer, som er større end grænsen på 50MB ", + "github_merge_failed": "Dine ændringer i __appName__ og GitHub kunne ikke automatisk merges. Du må merge‘e branch‘en <0>__sharelatex_branch__ ind i default branch‘en i git. Derefter kan du klikke herunder, for at fortsætte.", + "github_no_master_branch_error": "Dette repository kan ikke forbindes, da det ikke har nogen default branch. Du må først sørge for, at projektet har en default branch", + "github_only_integration_lowercase": "GitHub-integration", + "github_only_integration_lowercase_info": "Forbind dine HajTeX projekter direkte til et GitHub repository som opfører sig et remote repository for dit HajTeX projekt. Dette tillader dig at samarbejde med partnere uden for HajTeX, og at integrere HajTeX ind i mere komplicerede workflows.", + "github_private_description": "Du vælger hvem der kan se, og committe til, dette repository.", + "github_public_description": "Alle kan se dette repository. Du kan vælge hvem der kan comitte.", + "github_repository_diverged": "Default branch i det forbundne repository er blevet force-push’et. Det kan desynkronisere HajTeX og Github at pull’e ændringer efter et force push. Det vil muligvis være nødvendigt at push’e ændringer efter pullet for blive synkroniseret igen.", + "github_successfully_linked_description": "Vi har linket din GitHub konto til __appName__. Du kan nu eksportere dine __appName__ projekter til GitHub, eller importere projekter fra dine GitHub repositories.", + "github_symlink_error": "Dit GitHub repository indeholder symbolske lænkefiler, som ikke på nuværende tidpunkt er understøttet af HajTeX. Du må prøve igen, efter du har fjernet de filer.", + "github_sync": "GitHub synkronisering", + "github_sync_description": "Med GitHub synkronisering kan du forbinde dine __appName__-projekter til et GitHub repository, oprette nye commits fra __appName__, og merge commits fra GitHub.", + "github_sync_error": "Beklager, der skete en fejl mens vi checkede vores GitHub service. Prøv igen om lidt.", + "github_sync_repository_not_found_description": "Det forbundne repository er enten blevet fjernet, eller du har ikke længere adgang til det. Du kan forbinde til et nyt repository ved at klone projektet, og vælge punktet ’GitHub’ i menuen. Du kan også fjerne forbindelsen mellem det her projekt og repository’et.", + "github_timeout_error": "Synkroniseringen af dit HajTeX-projekt med GitHub har overskredet tidsgrænsen. Det kan skyldes, at dit projekt er for stort, eller at der er for mange ændringer eller nye filer.", + "github_too_many_files_error": "Dette repository kan ikke importeres, fordi det indeholder flere end det maksimalt tilladte antal filer", + "github_validation_check": "Kontroller venligst at repository navnet er gyldigt, og at du har tilladelse til at lave et repository.", + "github_workflow_authorize": "Autoriser GitHub Workflow-filer", + "github_workflow_files_delete_github_repo": "Repository‘et blev oprettet på GitHub, men sammenkoblingen mislykkedes. Du bliver nødt til enten at slette det repository på GitHub, eller vælge et nyt navn.", + "github_workflow_files_error": "__appName__s GitHub-synkroniseringstjeneste kunne ikke synkronisere GitHub Workflow-filer (i .github/workflows/). Hvis du giver __appName__ tilladelse til at redigere dine GitHub workflow-filer, kan du prøve igen.", + "give_feedback": "Giv feedback", + "global": "globale", + "go_back_and_link_accts": "Gå tilbage og sammenkæd dine konti", + "go_next_page": "Gå til næste side", + "go_page": "Gå til side __page__", + "go_prev_page": "Gå til forrige side", + "go_to_account_settings": "Gå til kontoindstillinger", + "go_to_code_location_in_pdf": "Gå til kodes placering i PDF", + "go_to_pdf_location_in_code": "Gå til PDF placering i kode (Tip: dobbeltklik i PDF‘en for det bedste resultat)", + "go_to_settings": "Gå til indstillinger", + "group_admin": "Gruppeadministrator", + "group_admins_get_access_to": "Gruppeadministratorer får adgang til", + "group_admins_get_access_to_info": "Specielle funktioner tilgængelige for gruppeabonnementer", + "group_full": "Denne gruppe er allerede fuld", + "group_members_and_collaborators_get_access_to": "Gruppemedlemmer og deres samarbejdspartnere får adgang til", + "group_members_get_access_to": "Gruppemedlemmer får adgang til", + "group_members_get_access_to_info": "Disse funktioner udelukkende tilgængelige for gruppemedlemmer.", + "group_plan_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement. Klik for at finde ud af hvordan du får det meste ud af dine HajTeX Premium-funktioner.", + "group_plan_with_name_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement, __groupName__. Klik for at finde ud af hvordan du får det meste ud af dine HajTeX Premium-funktioner.", + "group_plans": "Gruppeabonnementer", + "group_professional": "Gruppe Professionel", + "group_standard": "Gruppe Standard", + "group_subscription": "Gruppeabonnement", + "groups": "Grupper", + "have_an_extra_backup": "Hav en ekstra backup", + "have_more_days_to_try": "Få ydereligere __days__ dage på din prøveperiode!", + "headers": "Overskrifter", + "help": "Hjælp", + "help_articles_matching": "Hjælpeartikler magen til dit emne", + "help_improve_overleaf_fill_out_this_survey": "Hvis du vil hjælpe os med at forbedre HajTeX, brug venligst et øjeblik på at udfylde <0>dette spørgeskema.", + "hide_document_preamble": "Skjul dokumentets præambel", + "hide_outline": "Skjul disposition", + "history": "Historie", + "history_add_label": "Tilføj mærkat", + "history_adding_label": "Tilføjer mærkat", + "history_are_you_sure_delete_label": "Er du sikker på, at du vil slette følgende mærkat", + "history_compare_from_this_version": "Sammenlign fra denne version", + "history_compare_up_to_this_version": "Sammenlign op til denne version", + "history_delete_label": "Slet mærkat", + "history_deleting_label": "Sletter mærkat", + "history_download_this_version": "Download denne version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Oprettet af", + "history_label_project_current_state": "Nuværende indhold", + "history_label_this_version": "Sæt mærkat på denne version", + "history_new_label_name": "Navn på ny mærkat", + "history_view_a11y_description": "Vis den komplette projekthistorie, eller kun mærkede versioner.", + "history_view_all": "Komplet historie", + "history_view_labels": "Mærkater", + "hit_enter_to_reply": "Tryk på Enter for at svare", + "home": "Hjem", + "hotkey_add_a_comment": "Tilføj en kommentar", + "hotkey_autocomplete_menu": "Autofuldførelsesmenu", + "hotkey_beginning_of_document": "Starten af dokument", + "hotkey_bold_text": "Fed skrift", + "hotkey_compile": "Kompilér", + "hotkey_delete_current_line": "Slet nuværende linje", + "hotkey_end_of_document": "Slutning af dokument", + "hotkey_find_and_replace": "Find (og erstat)", + "hotkey_go_to_line": "Gå til linje", + "hotkey_indent_selection": "Indryk markering", + "hotkey_insert_candidate": "Indsæt valgte kandidat", + "hotkey_italic_text": "Kursiv skrift", + "hotkey_redo": "Gentag", + "hotkey_search_references": "Søg henvisninger", + "hotkey_select_all": "Vælg alt", + "hotkey_select_candidate": "Vælg kandidat", + "hotkey_to_lowercase": "Til små bogstaver", + "hotkey_to_uppercase": "Til store bogstaver", + "hotkey_toggle_comment": "Slå kommentar til/fra", + "hotkey_toggle_review_panel": "Slå gennemgangspanel til/fra", + "hotkey_toggle_track_changes": "Slå “Følg ændringer” til/fra", + "hotkey_undo": "Fortryd", + "hotkeys": "Genveje", + "how_to_create_tables": "Hvordan laver jeg tabeller", + "how_to_insert_images": "Hvordan indsætter jeg figurer", + "hundreds_templates_info": "Skab smukke dokumenter ved at starte fra vores galleri af LaTeX skabeloner for journaler, konferencer, afhandlinger, rapporter, CV’er og meget mere.", + "i_want_to_stay": "Jeg ønsker at blive", + "if_have_existing_can_link": "Hvis du har en eksisterende __appName__-konto under en anden e-mailaddresse, kan du forbinde den til din __institutionName__-konto ved at klikke __clickText__", + "if_owner_can_link": "Hvis du ejer __appName__-kontoen under __email__, vil du få mulighed for at forbinde den til din institutionelle konto hos __institutionName__.", + "ignore_and_continue_institution_linking": "Du kan også springe det over, og fortsætte til __appName__ med kontoen for __email__.", + "ignore_validation_errors": "Undlad at tjekke syntaks", + "ill_take_it": "Det tager jeg!", + "image_file": "Billedefil", + "image_url": "URL til billede", + "image_width": "Billedebredde", + "import_from_github": "Importer fra GitHub", + "import_to_sharelatex": "Importer til __appName__", + "imported_from_another_project_at_date": "Importeret fra <0>Andet projekt/__sourceEntityPathHTML__, d. __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importeret fra <0>__shortenedUrlHTML__ d. __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importeret fra Mendeley d. __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importeret fra outputtet af <0>Andet projekt: __sourceOutputFilePathHTML__, d. __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importeret fra Zotero d. __formattedDate__ __relativeDate__", + "importing": "Importerer", + "importing_and_merging_changes_in_github": "Importerer og sammenfletter ændringer i GitHub", + "in_good_company": "Du er i godt selskab", + "in_order_to_have_a_secure_account_make_sure_your_password": "For at holde din konto sikker, sæt din nye kode:", + "in_order_to_match_institutional_metadata_2": "For at matche dine institutionelle metadata har vi sammenkædet din konto via <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "For at matche dine institutionelle metadata er din konto blevet associeret med e-mailaddressen __email__.", + "include_caption": "Inkludér billedtekst", + "include_label": "Inkludér billedmærkat", + "increased_compile_timeout": "Forlænget kompileringstidsgrænse", + "indvidual_plans": "Individuelle abonnementer", + "info": "Info", + "insert_figure": "Indsæt figur", + "insert_from_another_project": "Indsæt fra andet projekt", + "insert_from_project_files": "Indsæt fra projektfiler", + "insert_from_url": "Indsæt fra URL", + "insert_image": "Indsæt billede", + "institution": "Institution", + "institution_account": "Institutionskonto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Denne e-mailadresse er allerede associeret med din konto, men den er tilknyttet en anden institution.", + "institution_account_tried_to_add_already_linked": "Denne institution er allerede sammenkædet med din konto via en anden e-mailadresse.", + "institution_account_tried_to_add_already_registered": "Den e-mailaddresse/institutionskonto du har prøvet at tilføje er allerede registreret i __appName__.", + "institution_account_tried_to_add_not_affiliated": "Denne e-mailadresse er allerede associeret med din konto, men er ikke tilknyttet til denne institution.", + "institution_account_tried_to_confirm_saml": "Denne e-mailadresse kunne ikke bekræftes. Du kan prøve at fjerne den fra din konto, og tilføje den igen.", + "institution_acct_successfully_linked_2": "Din <0>__appName__-konto er nu sammenkædet med din institutionelle konto fra <0>__institutionName__.", + "institution_and_role": "Institution og rolle", + "institution_email_new_to_app": "Din __institutionName__ e-mailaddresse (__email__) er ny for __appName__.", + "institutional": "Institutionel", + "institutional_leavers_survey_notification": "Giv noget hurtigt feedback og få 25% rabat på et årligt abonnement!", + "institutional_login_not_supported": "Din institution understøtter ikke institutionel indlogning endnu, men du kan stadig blive registreret med en institutionel e-mailaddresse.", + "institutional_login_unknown": "Beklager, vi ved ikke hvilken institution har udstedt den e-mailadresse. Du kan kigge i vores liste over institutioner for at finde den, eller du kan gøre brug af en af de andre muligheder herunder.", + "integrations": "Integrationer", + "interested_in_cheaper_personal_plan": "Ville du være interesseret i det billigere <0>__price__ personlige abonnement?", + "invalid_email": "En e-mailaddresse adresse er forkert", + "invalid_file_name": "Ugyldigt filnavn", + "invalid_filename": "Overførsel mislykkedes: Check, at filnavnet ikke indeholder specialtegn eller ekstra mellemrum, og at det er kortere end __nameLimit__ tegn", + "invalid_institutional_email": "Din institutions SSO-tjeneste returnerede __email__ som din e-mailadresse, hvilket ligger under et domæne, som vi ikke forventede, og ikke kan se tilhører den institution. Du kan muligvis ændre din primære e-mailadresse via din brugerprofil hos din institution til én, som ligger under din institutions domæne. Hvis du har spørgsmål er det bedst, hvis du kontakter din institutions IT-afdeling.", + "invalid_password": "Ugyldigt password", + "invalid_password_contains_email": "Kodeordet kan ikke indeholde dele af e-mailadressen", + "invalid_password_invalid_character": "Kodeordet indeholder et ugyldigt tegn", + "invalid_password_not_set": "Kodeordet er påkrævet", + "invalid_password_too_long": "Maksimal kodelængde på __maxLength__ er overskredet", + "invalid_password_too_short": "Kodeordet er for kort, den skal være minimum __minLength__ tegn", + "invalid_password_too_similar": "Kodeordet ligner e-mailaddressen for meget", + "invalid_request": "Ugyldig forespørgsel. Ret dataen og prøv igen.", + "invalid_zip_file": "Ugyldig zip-fil", + "invite_more_collabs": "Inviter flere samarbejdspartnere", + "invite_not_accepted": "Invitationen er endnu ikke accepteret", + "invite_not_valid": "Dette er ikke en gyldig projekt invitation", + "invite_not_valid_description": "Invitationen kan være udløbet. Kontakt venligst projektets ejer", + "invited_to_group": "<0>__inviterName__ har inviteret dig til at tilslutte dig et gruppeabonnement på __appName__", + "invited_to_join": "Du er blevet inviteret til at deltage", + "ip_address": "IP adresse", + "is_email_affiliated": "Er din e-mailaddresse tilknyttet en institution?", + "is_longer_than_n_characters": "er mindst __n__ tegn lang", + "is_not_used_on_any_other_website": "er ikke brugt på andre hjemmesider", + "it": "Italiensk", + "ja": "Japansk", + "january": "Januar", + "join_beta_program": "Deltag i betaprogrammet", + "join_project": "Deltag i projektet", + "join_sl_to_view_project": "Tilmeld dig til __appName__ for at se dette projekt", + "join_team_explanation": "Klik på knappen herunder for at tilslutte dig gruppeabonnementet og nyd fordelene ved en opgraderet __appName__ konto", + "joined_team": "Du har tilsluttet dig et gruppeabonnement administreret af __inviterName__", + "joining": "Tilslutter", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Har du tjekket vores <0>__kbLink__?", + "keep_current_plan": "Behold mit nuværende abonnement", + "keep_your_account_safe": "Hold din konto sikker", + "keep_your_email_updated": "Hold din e-mailaddresse opdateret så du ikke mister adgang til din konto og data.", + "keybindings": "Genvejstaster", + "knowledge_base": "videns base", + "ko": "Koreansk", + "labels_help_you_to_easily_reference_your_figures": "Mærkater hjælper dig med at henvise til dine figurer i hele dit dokument. For at henvise til en figur i teksten, henvis til mærkatet ved at bruge <0>\\ref{...} kommandoen. Dette gør det nemt at henvise til figurer uden at manuelt skulle huske figurnummeret. <1>Lær mere", + "labs_program_benefits": "__appName__ leder altid efter nye måder at hjælpe brugere til at arbejde hurtigere og mere effektivt. Ved at være med i HajTeX Labs kan du deltage i eksperimenter der udforsker innovative idéer indenfor kollaborativt forfatterskab og udgivelse.", + "language": "Sprog", + "last_active": "Senest aktiv", + "last_active_description": "Seneste tidspunkt, et projekt blev åbnet.", + "last_modified": "Sidst ændret", + "last_name": "Efternavn", + "last_resort_trouble_shooting_guide": "Hvis det ikke hjælper så følg vores <0>fejlsøgningsguide", + "last_updated": "Sidst opdateret", + "last_updated_date_by_x": "__lastUpdatedDate__ af __person__", + "last_used": "sidst benyttet", + "latex_articles_page_summary": "Artikler, præsentationer, rapporter og mere, skrevet i LaTeX og udgivet af vores fællesskab. Søg eller gennemse herunder.", + "latex_articles_page_title": "Artikler, Præsentationer, Rapporter og mere", + "latex_examples_page_summary": "Eksempler på kraftfulde LaTeX pakker og teknikker i brug - en god måde at lære LaTeX på gennem eksempler. Søg eller gennemse herunder. ", + "latex_examples_page_title": "Eksempler - Formler, Formattering, TikZ, Pakker og mere", + "latex_in_thirty_minutes": "LaTeX på 30 minutter", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX placerer figurer ved hjælp af en speciel algoritme. Du kan bruge noget ved navn ‘placement parameters’ til at have indflydelse på positioneringen af figuren. <0>Find ud hvordan", + "latex_templates": "LaTeX Skabeloner", + "layout": "Layout", + "layout_processing": "Layout behandles", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Vælg en e-mailadresse for den første __appName__ admin konto. Denne skal svare til en konto i LDAP systemet. Du vil derefter blive bedt om at logge på med denne konto.", + "learn": "Lær", + "learn_more": "Lær mere", + "learn_more_about_emails": "<0>Lær mere om at håndtere dine __appName__ e-mailadresser.", + "learn_more_about_link_sharing": "Lær mere om linkdeling", + "learn_more_lowercase": "lær mere", + "leave": "Forlad", + "leave_group": "Forlad gruppe", + "leave_now": "Forlad nu", + "leave_projects": "Forlad projecter", + "let_us_know": "Fortæl os om det", + "let_us_know_what_you_think": "Fortæl os hvad du synes", + "license": "Licens", + "license_for_educational_purposes": "Denne licens er til uddannelsesformål (gælder for studerende og fakultet som bruger __appName__ til undervisning)", + "limited_offer": "Begrænset tilbud", + "line_height": "Linjehøjde", + "link": "Forbind", + "link_account": "Forbind konto", + "link_accounts": "Forbind konti", + "link_accounts_and_add_email": "Forbind konti og tilføj e-mailaddresse", + "link_institutional_email_get_started": "Forbind en institutionel e-mailaddresse til din konto for at komme igang.", + "link_sharing": "Linkdeling", + "link_sharing_is_off": "Linkdeling er slået fra; kun inviterede personer kan se dette projekt.", + "link_sharing_is_on": "Linkdeling er slået til", + "link_to_github": "Forbind til din GitHub konto", + "link_to_github_description": "Du skal godkende __appName__ for at få adgang til din GitHub konto for at give os mulighed for at synkronisere dine projekter.", + "link_to_mendeley": "Forbind til Mendeley", + "link_to_zotero": "Forbind til Zotero", + "link_your_accounts": "Forbind dine konti", + "linked_accounts": "Forbundne konti", + "linked_accounts_explained": "Du kan forbinde din __appName__-konto med andre tjenester for at gøre brug af funktionerne beskrevet herunder.", + "linked_collabratec_description": "Brug Collabratec til at holde styr på dine __appName__-projekter.", + "linked_file": "Importeret fil", + "links": "Links", + "loading": "Indlæser", + "loading_content": "Opretter projekt", + "loading_github_repositories": "Indlæser dit GitHub repository", + "loading_prices": "Indlæser priser", + "loading_recent_github_commits": "Indlæs nylige commits", + "log_entry_description": "Logoptegnelse med niveau: __level__", + "log_entry_maximum_entries": "Grænsen for elementer i loggen er nået", + "log_entry_maximum_entries_enable_stop_on_first_error": "Prøv at fikse den første fejl og genkompilere. Ofte kan en fejl være skyld i mange efterfølgende fejlmeddelelser. Du kan Slå <0>“Stop ved første fejl” til for at fokusere på at fikse fejl. Vi anbefaler, at du fikser fejl så hurtigt som muligt; hvis de får lov at hobe sig op kan de føre til fejl, som er svære at fejlrette, og fatale fejl. <1>Lære mere", + "log_entry_maximum_entries_see_full_logs": "Hvis du har brug for at se de komplette logge, så kan du stadig hente dem, eller se de rå logge herunder.", + "log_entry_maximum_entries_title": "__total__ logbeskeder i alt. Viser de første __displayed__", + "log_hint_extra_info": "Lær mere", + "log_in": "Log ind", + "log_in_and_link": "Log ind og forbind", + "log_in_and_link_accounts": "Log ind og forbind konti", + "log_in_first_to_proceed": "Du kan først fortsætte, når du har logget ind.", + "log_in_now": "Log ind nu", + "log_in_with": "Log ind med __provider__", + "log_in_with_email": "Log ind med __email__", + "log_in_with_existing_institution_email": "For at forbinde din __appName__- og din __institutionName__-konto, er du nødt til først at logge ind med din eksisterende __appName__-konto.", + "log_in_with_primary_email_address": "Dette bliver e-mailaddressen du skal bruge hvis du logger ind med e-mailaddresse og kode. Vigtige __appName__ beskeder vil blive sendt til denne adresse.", + "log_out": "Log ud", + "log_out_from": "Log __email__ ud", + "log_viewer_error": "Der opstod et problem under visningen af dette projekts kompileringsfejl og log filer.", + "logged_in_with_email": "Du er i øjeblikket logget ind i __appName__ med e-mailaddressen __email__.", + "logging_in": "Logger ind", + "login": "Log ind", + "login_error": "Log-ind-fejl", + "login_failed": "Log ind fejlede", + "login_here": "Log ind her", + "login_or_password_wrong_try_again": "Dit login eller password er forkert. Prøv venligst igen", + "login_register_or": "eller", + "login_to_overleaf": "Log ind i HajTeX", + "login_with_service": "Log ind med __service__", + "logs_and_output_files": "Log og outputfiler", + "longer_compile_timeout": "Længere kompileringstidsgrænse", + "looking_multiple_licenses": "På udkig efter flere licenser?", + "looks_like_logged_in_with_email": "Det ser ud til, at du allerede er logget ind i __appName__ med e-mailaddressen __email__.", + "looks_like_youre_at": "Det ligner at du er på <0>__institutionName__.", + "lost_connection": "Forbindelsen blev afbrudt", + "main_document": "Hoveddokument", + "main_file_not_found": "Ukendt hoveddokument", + "maintenance": "Vedligeholdelse", + "make_a_copy": "Lav en kopi", + "make_email_primary_description": "Gør dette til den primære e-mailaddresse, som bruges til at logge ind med", + "make_primary": "Gør til primær", + "make_private": "Gør privat", + "manage_beta_program_membership": "Administrér betaprogram medlemsskab", + "manage_files_from_your_dropbox_folder": "Administrér filer fra din Dropbox mappe", + "manage_group_managers": "Administrér gruppeadministratorer", + "manage_institution_managers": "Administrér institutionsadministratorer", + "manage_members": "Administrér medlemmer", + "manage_newsletter": "Administrér dine nyhedsbrevspræferencer", + "manage_publisher_managers": "Administrér forlagsadministratorer", + "manage_sessions": "Kontroller dine sessioner", + "manage_subscription": "Administrér abonnement", + "managers_cannot_remove_admin": "Administratorer kan ikke fjernes", + "managers_cannot_remove_self": "Managers kan ikke fjerne sig selv", + "managers_management": "Styring af managers", + "march": "Marts", + "mark_as_resolved": "Markér som løst", + "math_display": "Vist matematik", + "math_inline": "Inkluderet matematik", + "max_collab_per_project": "Maks samarbejdspartnere per projekt", + "max_collab_per_project_info": "Det maksimale antal folk du kan invitere til at samarbejde på hvert projekt. De har blot brug for at have en HajTeX konto. Det kan være forskellige folk i hvert projekt.", + "maximum_files_uploaded_together": "Maksimalt __max__ filer uploaded sammen", + "may": "Maj", + "members_management": "Administration af medlemmer", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Der opstod en fejl i at loade grupper fra Mendeley", + "mendeley_groups_relink": "Der opstod en fejl under tilgangen af dit Mendeley data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen.", + "mendeley_integration": "Mendeley-integration", + "mendeley_integration_lowercase": "Mendeley-integration", + "mendeley_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Mendeley og forbind det direkte til .bib filer i HajTeX, så du nemt kan henvise til alt i dine biblioteker.", + "mendeley_is_premium": "Integration af Mendeley er en Premium-funktion", + "mendeley_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley nøgle udløbet, genforbind venligst din konto", + "mendeley_reference_loading_error_forbidden": "Kunne ikke indlæse referencer fra Mendeley, genforbind venligst din konto og prøv igen", + "mendeley_sync_description": "Via Mendeley-integrationen kan du importere dine referencer fra Mendeley ind i dine __appName__-projekter.", + "menu": "Menu", + "merge": "Flet", + "merging": "Fletter", + "month": "måned", + "monthly": "Månedtlig", + "more": "Mere", + "more_actions": "Flere handlinger", + "more_info": "Mere info", + "more_project_collaborators": "<0>Flere <0>samarbejdspartnere i projekter", + "more_than_one_kind_of_snippet_was_requested": "Linket til at åbne dette indhold i HajTeX havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "most_popular": "Mest populære", + "must_be_email_address": "Skal være en e-mailaddresse", + "n_items": "__count__ enhed", + "n_items_plural": "__count__ enheder", + "n_more_updates_above": "__count__ mere opdatering ovenover", + "n_more_updates_above_plural": "__count__ flere opdateringer ovenover", + "n_more_updates_below": "__count__ mere opdatering nedenunder", + "n_more_updates_below_plural": "__count__ flere opdateringer nedenunder", + "name": "Navn", + "native": "Indbygget", + "navigate_log_source": "Naviger til loggens tilsvarende sted i kildekoden: __location__", + "navigation": "Navigation", + "nearly_activated": "Du er ét skridt fra at aktivere din __appName__ konto!", + "need_anything_contact_us_at": "Hvis der skulle være noget du har brug for, så kontakt os endeligt direkte på", + "need_more_than_to_licenses_get_in_touch": "Brug for mere end 50 licenser? Kontakt os", + "need_more_than_x_licenses": "Brug for mere end __x__ licenser?", + "need_to_add_new_primary_before_remove": "Du bliver nødt til at tilføje en ny primær e-mailaddresse før du kan slette denne.", + "need_to_leave": "Nød til at gå?", + "need_to_upgrade_for_more_collabs": "Du bliver nød til at opgradere din konto for at tilføje flere samarbejdspartnere", + "new_file": "Ny fil", + "new_folder": "Ny mappe", + "new_name": "Nyt navn", + "new_password": "Nyt kodeord", + "new_project": "Nyt projekt", + "new_snippet_project": "Unavngivet", + "new_subscription_will_be_billed_immediately": "Dit nye abonnement vil blive straks blive opkrævet fra din nuværende betalingsmetode.", + "new_tag": "Nyt tag", + "new_tag_name": "Navn til nyt tag", + "newsletter": "Nyhedsbrev", + "newsletter_info_note": "Du vil stadig modtage vigtige e-mails såsom projektinvitationer og sikkerhedsbeskeder (nulstilling af kode, kontoforbindelser, osv.).", + "newsletter_info_subscribed": "Du er <0>tilmeldt til __appName__s nyhedsbrev. Hvis du foretrækker ikke at modtage disse e-mails, kan du altid framelde dig.", + "newsletter_info_summary": "Hvert par måneder sender vi et nyhedsbrev som opsummerer de nyeste tilgængelige funktioner.", + "newsletter_info_title": "Nyhedsbrevpræferencer", + "newsletter_info_unsubscribed": "Du er <0>ikke tilmeldt til __appName__s nyhedsbrev.", + "next_payment_of_x_collectected_on_y": "Den næste betaling på <0>__paymentAmmount__ vil blive opkrævet den <1>__collectionDate__.", + "nl": "Hollandsk", + "no": "Norsk", + "no_articles_matching_your_tags": "Der er ingen artikler som opfylder dine tags", + "no_comments": "Ingen kommentarer", + "no_existing_password": "Brug formularen til at nulstille dit kodeord", + "no_featured_templates": "Ingen fremhævede skabeloner", + "no_folder": "Ingen mappe", + "no_image_files_found": "Ingen billedfiler fundet", + "no_members": "Ingen medlemmer", + "no_messages": "Ingen beskeder", + "no_new_commits_in_github": "Ingen nye commits i GitHib siden sidste sammenfletning", + "no_other_projects_found": "Ingen projekter fundet", + "no_other_sessions": "Ingen aktive sessioner", + "no_pdf_error_explanation": "Denne kompilering producerede ikke nogen PDF. Det kan ske, hvis:", + "no_pdf_error_reason_no_content": "document-blokken har ikke noget indhold. Hvis den er tom, må du give den noget indhold, og så kompilere igen.", + "no_pdf_error_reason_output_pdf_already_exists": "Dette projekt indeholder en fil, som hedder output.pdf. Hvis den fil eksisterer, er du nødt til at omnavngive den, og så kompilere igen.", + "no_pdf_error_reason_unrecoverable_error": "Der er en uoprettelig LaTeX-fejl. Hvis der er LaTeX-fejl vist herunder, eller i de rå logge, så forsøg at rette dem, og kompiler så ingen.", + "no_pdf_error_title": "Ingen PDF", + "no_planned_maintenance": "Der er lige nu ingen planlagt vedligeholdelse", + "no_preview_available": "Der er intet smugkig til rådighed.", + "no_projects": "Ingen projekter", + "no_resolved_threads": "Ingen løste tråde", + "no_search_results": "Ingen søgeresultater", + "no_selection_select_file": "Der er ikke valgt nogen fil. Du kan vælge en fil at få vist i filtræet.", + "no_symbols_found": "Ingen symboler fundet", + "no_thanks_cancel_now": "Nej tak, jeg ønsker fortsat at ophæve", + "no_update_email": "Nej, opdatér e-mailaddresse", + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per måned", + "normally_x_price_per_year": "Normalt __price__ per år", + "not_found_error_from_the_supplied_url": "Linket til at åbne dette indhold i HajTeX anviste en fil, som ikke kunne findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "not_now": "Ikke nu", + "not_registered": "Ikke registreret", + "note_features_under_development": "<0>Vær opmærksom på at funktionerne i dette program stadig bliver testet og er under aktiv udvikling. Dette betyder at de kan <0>ændre sig, blive <0>slettet eller <0>blive del af et betalt abonnement", + "notification_features_upgraded_by_affiliation": "Godt nyt! Organisationen __institutionName__, som du er tilknyttet, har et abonnement hos HajTeX, og du har nu adgang til alle HajTeXs Professionelle funktioner.", + "notification_personal_subscription_not_required_due_to_affiliation": " Gode nyheder! Din tilknyttede organisation __institutionName__ har et abonnement hos HajTeX, og derfor har du nu adgang til HajTeXs Professionelle funktioner via din tilknytning. Du kan afmelde dit individuelle abonnement, uden at miste adgang til nogen funktioner.", + "notification_project_invite": "__userName__ vil gerne have dig til at deltage i __projectName__ Deltag i Projektet", + "notification_project_invite_accepted_message": "Du er nu med i __projectName__", + "notification_project_invite_message": "__userName__ vil gerne have dig med i __projectName__", + "november": "November", + "number_collab": "Antal samarbejdspartnere", + "number_of_users": "Antal brugere", + "number_of_users_info": "Det antal af brugere der kan opgradere deres HajTeX konto hvis du køber dette abonnement.", + "number_of_users_with_colon": "Antal brugere:", + "oauth_orcid_description": " Hævd din identitet sikkert, ved at kæde din ORCID iD og din __appName__-konto sammen. Indsendelser til samarbejdende udgivere vil automatisk inkludere dit ORCID iD, hvilket giver en forbedret arbejdsgang og bedre synlighed. ", + "october": "Oktober", + "off": "Fra", + "official": "Officielt", + "ok": "OK", + "on": "Til", + "on_free_plan_upgrade_to_access_features": "Du er på det gratis __appName__ abonnement. Opgrader for at tilgå disse <0>Premium-funktioner", + "one_collaborator": "Kun én samarbejdspartner", + "one_free_collab": "Kun én gratis samarbejdspartner", + "one_user": "1 bruger", + "online_latex_editor": "Online LaTeX-skriveprogram", + "open_a_file_on_the_left": "Open en fil til venstre", + "open_as_template": "Åben som skabelon", + "open_project": "Åben projekt", + "opted_out_linking": "Du har fravalgt at forbinde din __appName__-konto for __email__ til din institutionelle konto.", + "optional": "Valgfrit", + "or": "eller", + "organization": "Organisation", + "organize_projects": "Organisationsprojekter", + "other_actions": "Andre handlinger", + "other_logs_and_files": "Andre logger og filer", + "other_output_files": "Hent andre outputfiler", + "other_sessions": "Andre sessioner", + "our_values": "Vores værdier", + "output_file": "Outputfil", + "over": "over", + "overall_theme": "Overordnet tema", + "overleaf": "HajTeX", + "overleaf_history_system": "HajTeXs historiksystem", + "overleaf_labs": "HajTeX Labs", + "overview": "Oversigt", + "overwrite": "Overskriv", + "owned_by_x": "Ejet af __x__", + "owner": "Ejer", + "page_current": "Side __page__, nuværende side", + "page_not_found": "Side ikke fundet", + "pagination_navigation": "Side navigation", + "partial_outline_warning": "Dispositionen er forældet. Den vil blive opdateret når du foretager ændringer i dokumentet", + "password": "Kodeord", + "password_cant_be_the_same_as_current_one": "Kodeordet kan ikke være det samme som det nuværende", + "password_change_old_password_wrong": "Det gamle kodeord er forkert.", + "password_change_password_must_be_different": "Kodeordet du har indtastet er det samme som dit nuværende kodeord. Benyt venligst et andet kodeord.", + "password_change_passwords_do_not_match": "Kodeord er ikke ens", + "password_change_successful": "Kodeord opdateret", + "password_managed_externally": "Indstillinger for kodeord bliver styret eksternt", + "password_reset": "Nulstil kodeord", + "password_reset_email_sent": "Vi har sendt dig en e-mail for at fuldføre nulstillingen af dit kodeord.", + "password_reset_token_expired": "Din mulighed for nulstilling af din adgangskode er udløbet. Anmod om en ny nulstilling af adgangskode og følg linket i din mail.", + "password_too_long_please_reset": "Maksimal kodeordslængde overskredet. Start venligst forfra med dit kodeord.", + "password_updated": "Kodeord opdateret", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "Dette kodeord er blevet fundet på en <0>offentlig liste over kompromitterede kodeord", + "payment_method_accepted": "__paymentMethod__ accepteret", + "payment_provider_unreachable_error": "Beklager, der opstod en fejl mens vi kontaktede vores betalingsudbyder. Prøv igen om lidt.\nHvis du bruger en reklame- eller script-blokerende browser extension, kan du være nødsaget til midlertidigt at slå dem fra.", + "payment_summary": "Betalingsopsummering", + "pdf_compile_in_progress_error": "En tidligere kompilering kører stadig. Vent lidt før du prøver at kompilere igen.", + "pdf_compile_rate_limit_hit": "Grænsen for kompilerings hyppigheden er nået", + "pdf_compile_try_again": "Vent venlist til din anden kompilering er færdig før en ny startes", + "pdf_in_separate_tab": "PDF i seperat tab", + "pdf_only_hide_editor": "Kun PDF <0>(gem skrivevindue)", + "pdf_preview_error": "Der opstod et problem mens vi prøvede at vise kompileringsresultatet for dette projekt.", + "pdf_rendering_error": "PDF visningsfejl", + "pdf_viewer": "PDF-viser", + "pdf_viewer_error": "Der opstod en fejl mens vi viste PDFen for dette projekt.", + "pending": "Venter", + "pending_additional_licenses": "Dit abonnement ændrer sig til at inkludere <0>__pendingAdditionalLicenses__ ekstra licens(er), for totalt <1>__pendingTotalLicenses__ licenser.", + "per_month": "per måned", + "per_user": "per bruger", + "per_user_year": "per bruger / år", + "per_year": "per år", + "percent_discount_for_groups": "__appName__ tilbyder en __percent__% studierabet for grupper af __size__ medlemmer eller flere", + "personal": "Personlig", + "personalized_onboarding": "Personaliseret onboarding", + "personalized_onboarding_info": "Vi hjælper jer med at få alt sat op, og derefter er vi her for at svare på spørgsmål fra jeres brugere omkring platformen, skabeloner eller LaTeX!", + "pl": "Polsk", + "plan_tooltip": "Du er på __plan__ abonnementet. Klik for at finde ud af hvordan du får mest muligt ud af dine HajTeX Premium-funktioner.", + "planned_maintenance": "Planlagt vedligeholdelse", + "plans_amper_pricing": "Abonnementer & priser", + "plans_and_pricing": "Abonnementer og priser", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Du må bede projektets ejer om at opgradere, for at kunne bruge “Følg ændringer”", + "please_change_primary_to_remove": "Skift din primære e-mailadresse for at kunne fjerne denne", + "please_check_your_inbox": "Kig i din indbakke", + "please_check_your_inbox_to_confirm": "Kig i din indbakke for at bekræfte din tilslutning til <0>__institutionName__.", + "please_compile_pdf_before_download": "Kompilér venligst dit projekt før du downloader PDF’en", + "please_compile_pdf_before_word_count": "Kompilér venligst dit projekt før du udfører en ordoptælling", + "please_confirm_email": "Bekræft din e-mailaddresse __emailAddress__ ved at klikke på bekræftelseslinket i e-mailen.", + "please_confirm_your_email_before_making_it_default": "Din e-mailadresse skal bekræftes, før du kan gøre den til din primære e-mailaddresse.", + "please_contact_support_to_makes_change_to_your_plan": "<0>Kontakt support for at foretage ændringer til dit abonnement", + "please_enter_email": "Skriv din e-mailadresse", + "please_get_in_touch": "Tag kontakt til os", + "please_link_before_making_primary": "Bekræft venligst din e-mailaddresse ved at tilknytte din institutionelle konto før du gør den primær.", + "please_reconfirm_institutional_email": "Brug venligst et øjeblik på at bekræfte din institutionelle e-mailaddresse eller <0>slet den fra din konto.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Bekræft venligst din tilknytning før gør den primær.", + "please_refresh": "Venligst opdater siden for at fortsætte", + "please_request_a_new_password_reset_email_and_follow_the_link": "Anmod venligst om en e-mail til nulstilling af kodeord og følg linket deri", + "please_select_a_file": "Vælg en fil", + "please_select_a_project": "Vælg et projekt", + "please_select_an_output_file": "Vælg en outputfil", + "please_set_a_password": "Vælg venligst et kodeord", + "please_set_main_file": "Vælg venligst projektets primære fil i projekt menuen. ", + "plus_more": "og mere", + "popular_tags": "Populære tags", + "portal_add_affiliation_to_join": "Du ser ud til allerede at være logget ind i __appName__! Hvis du har en e-mailaddresse fra __portalTitle__ kan du tilføje den nu.", + "position": "Stilling", + "postal_code": "Postnummer", + "powerful_latex_editor_and_realtime_collaboration": "Højtydende LaTeX-skriveprogram & live samarbejde.", + "powerful_latex_editor_and_realtime_collaboration_info": "Stavekontrol, intelligent autoudførelse, syntaksfremhævning, dusinvis af farvetemaer, vim- og emacs-tastebindinger, hjælp til LaTeX-advarsler og -fejlmeddelelser, med mere. Alle har altid den nyeste version, og du kan se dine samarbejdspartneres markører og ændringer live.", + "premium_feature": "Premium-funktion", + "premium_features": "Premium-funktioner", + "premium_plan_label": "Du bruger HajTeX Premium", + "presentation": "Præsentation", + "press_and_awards": "Presse & priser", + "price": "Pris", + "primary_email_check_question": "Er <0>__email__ stadig din e-mailaddresse?", + "priority_support": "Prioritetssupport", + "priority_support_info": "Vores hjælpsomme Support-hold vil prioritere og eskalere dine support anmodninger når dette er nødvendigt.", + "privacy": "Privathed", + "privacy_and_terms": "Privatliv and vilkår", + "privacy_policy": "Fortrolighedspolitik", + "private": "Privat", + "problem_changing_email_address": "Der var et problem med at ændre din e-mailadresse. Prøv venligst igen om lidt. Fortsætter problemet, så kontakt os venligst", + "problem_talking_to_publishing_service": "Der er et problem med vores udgivelses tjeneste, prøv igen om nogle få minutter", + "problem_with_subscription_contact_us": "Der er et problem med dit abonnement. Kontakt os venligst for mere information.", + "proceed_to_paypal": "Fortsæt til PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "At fortsætte til PayPal fører dig til PayPals side for at betale for dit abonnement.", + "processing": "processere", + "processing_uppercase": "Behandler", + "processing_your_request": "Vent venligst, mens vi behandler din forespørgsel.", + "professional": "Professionel", + "project": "projekt", + "project_approaching_file_limit": "Dette projekt nærmer sig grænsen for filer", + "project_figure_modal": "Projekt", + "project_flagged_too_many_compiles": "Dette projekt er blevet markeret for at kompilere for ofte. Grænsen bliver snart løftet.", + "project_has_too_many_files": "Dette projekt har nået grænsen på 2000 filer", + "project_last_published_at": "Dit projekt var sidst blevet offentliggjort den", + "project_layout_sharing_submission": "Projektlayout, deling og indsendelse", + "project_name": "Projektnavn", + "project_not_linked_to_github": "Dette projekt er ikke linket til et GitHub repository. Du kan skabe et repository for det på GitHub:", + "project_owner_plus_10": "Projektejer + 10", + "project_ownership_transfer_confirmation_1": "Er du sikker på, at du vil gøre <0>__user__ til ejer af <1>__project__?", + "project_ownership_transfer_confirmation_2": "Denne handling kan ikke fortrydes. Den nye ejer får besked, og vil kunne ændre projektets adgangsindstillinger (inklusive at fratage din egen adgang).", + "project_synced_with_git_repo_at": "Dette projekt er synkroniseret med GitHub repository‘et på", + "project_synchronisation": "Projektsynkronisering", + "project_timed_out_enable_stop_on_first_error": "<0>Slå “Stop ved første fejl” til for at hjælpe dig med at finde og rette fejl med det samme.", + "project_timed_out_fatal_error": "En <0>fatal kompileringsfejl blokerer muligvis for kompileringer.", + "project_timed_out_intro": "Vi beklager, din kompilering tog for lang tid, og er udløbet. De hyppigste årsager for at løbe tør for tid er:", + "project_timed_out_learn_more": "<0>Lær mere omkring other tidsudøb ved kompilering, og hvordan man løser dem.", + "project_timed_out_optimize_images": "Store eller høj-opløsnings billeder tager for lang tid om at blive behandlet. Du kan muligvis <0>optimere dem.", + "project_too_large": "Projekt er for stort", + "project_too_large_please_reduce": "Dette projekt har for meget redigérbar tekst, prøv venligst at reducere det. De største filer er:", + "project_too_much_editable_text": "Dette projekt har for meget redigérbar tekst, prøv venligst at reducere det.", + "project_url": "Påvirket projekts URL", + "projects": "Projekter", + "projects_list": "Projektliste", + "pt": "Portugisisk", + "public": "Offentlig", + "publish": "Publicer", + "publish_as_template": "Administrer skabelon", + "publisher_account": "Forlagskonto", + "publishing": "Publicering", + "pull_github_changes_into_sharelatex": "Pull GitHub ændringer ind i __appName__", + "purchase_now": "Køb nu", + "push_sharelatex_changes_to_github": "Push __appName__ ændringer til GitHub", + "quoted_text_in": "Tekst i gåseøjne i", + "raw_logs": "Rå logs", + "raw_logs_description": "Rå logs fra LaTeX-kompileringsprogrammet", + "reactivate_subscription": "Genaktivér dit abonnement", + "read_only": "Skrivebeskyttet", + "read_only_token": "Skrivebeskyttet nøgle", + "read_write_token": "Læse- og skrivenøgle", + "real_time_track_changes": "Realtids <0>ændringshistorik", + "realtime_track_changes": "Realtids ændringshistorik", + "realtime_track_changes_info_v2": "Slå “Følg ændringer” til for at se hvem der har lavet enhver ændring, accepter eller afvise andres ændringer og skrive kommentarer.", + "reauthorize_github_account": "Autoriser din GitHub konto igen", + "recaptcha_conditions": "Denne side er beskyttet af reCAPTCHA og Googles <1>Privatlivspolitik og <2>Brugsvilkår gælder.", + "recent": "Seneste", + "recent_commits_in_github": "Seneste commits i GitHub", + "recompile": "Genkompilér", + "recompile_from_scratch": "Genkompilér fra bunden", + "recompile_pdf": "Genkompilér PDF’en", + "reconfirm": "genbekræft", + "reconfirm_explained": "Vi er nødt til at genbekræfte din konto. Derfor må vi bede dig om at få tilsendt en nulstillingsmail til dit kodeord via formularen herunder. Hvis du møder problemer, er du velkommen til at kontakte os på", + "reconnect": "Prøv igen", + "reconnecting": "Genopretter", + "reconnecting_in_x_secs": "Genopretter om __seconds__ sekunder", + "recurly_email_update_needed": "Din fakturerings e-mailaddresse er <0>__recurlyEmail__. Hvis du har brug for det kan du opdatere den til <1>__userEmail__.", + "recurly_email_updated": "Din fakturerings e-mailaddresse er blevet opdateret", + "redirect_to_editor": "Videresend til skrivevinduet", + "redirecting": "Videresender", + "reduce_costs_group_licenses": "Du kan skære ned på papirarbejde og reducere omkostninger med vores nedsatte gruppeabonnementer.", + "reference_error_relink_hint": "Hvis fejlen fortsat opstår, så forsøg at genforbinde din konto her:", + "reference_managers": "Henvisningsmanager", + "reference_search": "Avanceret henvisningssøgning", + "reference_search_info_v2": "Det er nemt at finde dine henvisninger. Du kan søge efter forfatter, titel, udgivelsesår eller journal. Du kan også stadig søge efter citeringsnøglen.", + "reference_sync": "Henvisningsmanager synkronisering", + "refresh": "Genindlæs", + "refresh_page_after_linking_dropbox": "Genindlæs venligst denne side efter at have forbundet din konto til Dropbox", + "refresh_page_after_starting_free_trial": "Genindlæs venligst denne side efter du har startet din gratis prøveperiode.", + "refreshing": "Genindlæser", + "regards": "Venligst", + "register": "Registrer", + "register_error": "Registreringsfejl", + "register_intercept_sso": "Du kan forbinde din __authProviderName__-konto fra din Kontoindstillingsside, efter du har logget ind.", + "register_to_edit_template": "Register for at redigere i __templateName__ skabelonen", + "register_with_another_email": "Bliv registreret hos __appName__ med en anden e-mailadresse.", + "registered": "Registreret", + "registering": "Registrerer", + "registration_error": "Registreringsfejl", + "reject": "Afvis", + "reject_all": "Afvis alle", + "relink_your_account": "Genforbind din konto", + "reload_editor": "Genindlæs skrivevindue", + "remote_service_error": "Den eksterne service returnerede en fejl", + "remove": "Fjern", + "remove_collaborator": "Fjern kollaborator", + "remove_from_group": "Fjern fra gruppe", + "remove_manager": "Fjern leder", + "remove_or_replace_figure": "Fjern eller erstat figur", + "remove_tag": "Fjern tag __tagName__", + "removed": "fjernet", + "removing": "Sletter", + "rename": "Omdøb", + "rename_project": "Omdøb projekt", + "renaming": "Omdøber", + "reopen": "Genåben", + "replace_figure": "Erstat figur", + "replace_from_another_project": "Erstat fra andet projekt", + "replace_from_computer": "Erstat fra computer", + "replace_from_project_files": "Erstat fra projektfiler", + "replace_from_url": "Erstat fra URL", + "reply": "Svar", + "repository_name": "Repository navn", + "republish": "Genudgiv", + "request_new_password_reset_email": "Anmod om en ny nulstilling af kodeord", + "request_password_reset": "Anmod om nulstilling af kodeord", + "request_password_reset_to_reconfirm": "Anmod om nulstilling af kodeord for at genbekræfte", + "request_reconfirmation_email": "Anmod om en genbekræftelsesmail", + "request_sent_thank_you": "Besked sendt! Vores hold kigger på det, og svarer via e-mail.", + "requesting_password_reset": "Anmoder om nulstilling af kodeord", + "required": "Nødvendig", + "resend": "Gensend", + "resend_confirmation_email": "Gensend bekræftelsesmail", + "resending_confirmation_email": "Gensender bekræftelsesmail", + "reset_password": "Nulstil dit kodeord", + "reset_your_password": "Nulstil dit kodeord", + "resolve": "Løs", + "resolved_comments": "Løste kommentarer", + "restore": "Gendan", + "restore_file": "Gendan fil", + "restoring": "Gendanner", + "restricted": "Begrænset", + "restricted_no_permission": "Begrænset adgang, du har desværre ikke tilladelser til at se denne side.", + "return_to_login_page": "Tilbage til log ind siden", + "reverse_x_sort_order": "Omvendt __x__ sortering", + "revert_pending_plan_change": "Fortryd planlagte abonnementsændring", + "review": "Review", + "review_your_peers_work": "Gennemgå dine samarbejdspartneres arbejde", + "revoke": "Tilbagekald", + "revoke_invite": "Tilbagekald invitation", + "ro": "Romænsk", + "role": "Rolle", + "ru": "Russisk", + "saml": "SAML", + "saml_create_admin_instructions": "Vælg en e-mailadresse for den første __appName__ admin konto. Denne skal svare til en konto i SAML systemet. Du vil derefter blive bedt om at logge på med denne konto.", + "save": "Gem", + "save_20_percent_by_paying_annually": "Spar 20% ved at betale årligt", + "save_30_percent_or_more": "Spar 30% eller mere", + "save_or_cancel-cancel": "Annuller", + "save_or_cancel-or": "eller", + "save_or_cancel-save": "Gem", + "save_x_percent_or_more": "Spar __percent__% eller mere", + "saving": "Gemmer", + "saving_20_percent": "Sparer 20%!", + "saving_notification_with_seconds": "Gemmer __docname__... (Ændringerne har ikke været gemt i __seconds__ sekunder)", + "search": "Søg", + "search_bib_files": "Søg efter forfatter, titel, år", + "search_command_find": "Find", + "search_command_replace": "Erstat", + "search_in_all_projects": "Søg i alle projekter", + "search_in_archived_projects": "Søg i arkiverede projekter", + "search_in_shared_projects": "Søg i delte projekter", + "search_in_trashed_projects": "Søg i kassérede projekter", + "search_in_your_projects": "Søg i dine projekter", + "search_match_case": "Match store/små bogstaver", + "search_next": "næste", + "search_previous": "forrige", + "search_projects": "Søg efter projekter", + "search_references": "Søg i .bib filerne fra dette projekt", + "search_regexp": "Regulært udtryk", + "search_replace": "Erstat", + "search_replace_all": "Erstat alle", + "search_replace_with": "Erstat med", + "search_search_for": "Søg efter", + "search_whole_word": "Helt ord", + "search_within_selection": "Søg i markeret tekst", + "secondary_email_password_reset": "Den e-mailaddresse er registreret som en sekundær e-mailaddresse. Du kan kun logges ind, hvis du skriver din kontos primære e-mailaddresse.", + "security": "Sikkerhed", + "see_changes_in_your_documents_live": "Se ændringer i dokumentet live", + "select_a_file": "Vælg en fil", + "select_a_file_figure_modal": "Vælg en fil", + "select_a_payment_method": "Vælg en betalingsform", + "select_a_project": "Vælg et projekt", + "select_a_project_figure_modal": "Vælg et projekt", + "select_all": "Vælg alt", + "select_all_projects": "Vælg alle projekter", + "select_an_output_file": "Vælg en outputfil", + "select_an_output_file_figure_modal": "Vælg en outputfil", + "select_folder_from_project": "Vælg mappe fra projekt", + "select_from_output_files": "vælg fra outputfiler", + "select_from_project_files": "vælg fra projektfiler", + "select_from_source_files": "vælg fra kildefiler", + "select_from_your_computer": "vælg fra din computer", + "select_github_repository": "Vælg et GitHub repository som skal importeres til __appName__.", + "select_image_from_project_files": "Vælg billede fra projektfiler", + "select_project": "Vælg __project__", + "select_projects": "Vælg projekter", + "select_tag": "Vælg tag __tagName__", + "select_user": "Vælg bruger", + "selected": "Valgt", + "selection_deleted": "Markering slettet", + "send": "Send", + "send_first_message": "Send din første besked til dine samarbejdspartnere", + "send_test_email": "Send en test e-mail", + "sending": "Sender", + "september": "September", + "server_error": "Serverfejl", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro licens", + "server_pro_license_entitlement_line_2": "I har i øjeblikket <0>__count__ aktive brugere. Hvis I har brug for at forøge antallet af licenser, <1>kontakt da venligst HajTeX.", + "server_pro_license_entitlement_line_3": "En aktiv bruger er en som har åbnet et projekt i denne Server Pro instans i de seneste 12 måneder.", + "services": "Tjenester", + "session_created_at": "Session oprettet på", + "session_error": "Sessionsfejl. Tjek venligst at du har cookies slået til. Hvis problem fortsætter kan du tømme din cache og cookies.", + "session_expired_redirecting_to_login": "Session udløbet. Du omdirigeres til login siden om __seconds__ sekunder", + "sessions": "Sessioner", + "set_new_password": "Sæt nyt kodeord", + "set_password": "Kodeord", + "settings": "Indstillinger", + "share": "Del", + "share_project": "Del projekt", + "share_with_your_collabs": "Del med dine samarbejdspartnere", + "shared_with_you": "Delt med dig", + "sharelatex_beta_program": "__appName__ betaprogram", + "show_all": "vis alle", + "show_all_projects": "Vis alle projekter", + "show_document_preamble": "Vis dokumentets præambel", + "show_hotkeys": "Vis genveje", + "show_in_code": "Vis i koden", + "show_in_pdf": "Vis i PDFen", + "show_less": "vis færre", + "show_outline": "Vis disposition", + "show_x_more_projects": "Vis __x__ flere projekter", + "show_your_support": "Vis din støtte", + "showing_1_result": "Viser 1 resultat", + "showing_1_result_of_total": "Viser 1 resultat ud af __total__", + "showing_x_out_of_n_projects": "Viser __x__ af __n__ projekter.", + "showing_x_results": "Viser __x__ resultater", + "showing_x_results_of_total": "Viser __x__ resultater ud af __total__", + "site_description": "Et online LaTeX-skriveprogram, der er let at bruge. Ingen installation, live samarbejde, versionskontrol, flere hundrede LaTeX-skabeloner, og meget mere.", + "sitewide_option_available": "Organisationsdækkende licens tilgængelig", + "sitewide_option_available_info": "Brugere bliver automatisk opgraderet når de opretter sig eller tilføjer deres e-mailaddresse til HajTeX (domæne-baseret tilmelding eller SSO)", + "skip": "Spring over", + "skip_to_content": "Spring til indhold", + "something_went_wrong_canceling_your_subscription": "Der gik noget galt med annulleringen af dit abonnement. Du bliver nødt til at kontakte supporten.", + "something_went_wrong_loading_pdf_viewer": "Noget gik galt under indlæsningen af PDF viseren. Dette kan være forårsaget af problemer som <0>midlertidige netværksproblemer eller en <0>forældet web browser. Følg venligst <1>fejlsøgningskridtene for adgang, indlæsning, og visningsproblemer. Hvis problemet fortsætter <2>fortæl os om det.", + "something_went_wrong_processing_the_request": "Noget gik galt under behandlingen af forespørgslen", + "something_went_wrong_rendering_pdf": "Noget gik galt i oversættelsen af denne PDF", + "something_went_wrong_rendering_pdf_expected": "Der opstod et problem under visningen af PDFen. <0>Genkompiler", + "something_went_wrong_server": "Noget gik galt. Prøv venligst igen.", + "somthing_went_wrong_compiling": "Beklager, noget gik galt og dit projekt kunne ikke kompiléres. Vent lidt og prøv igen.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Beklager, der skete en uventet fejl i forsøget på at åbne dette indhold i HajTeX. Prøv venligst igen.", + "sorry_your_token_expired": "Beklager, din nøgle er udløbet", + "sort_by": "Sortér efter", + "sort_by_x": "Sortér efter __x__", + "source": "Kilde", + "spell_check": "Stavekontrol", + "sso_account_already_linked": "Konto allerede tilknyttet en anden __appName__ bruger", + "sso_integration": "SSO-integration", + "sso_integration_info": "HajTeX tilbyder en standard SAML-baseret Single Sign On integration.", + "sso_link_error": "Fejl i kontosammenkædningen", + "sso_not_linked": "Du har ikke forbundet din konto til __provider__. Du bliver nødt til først at logge ind med en anden metode, og forbinde din __provider__-konto i dine kontoindstillinger.", + "sso_user_denied_access": "Kan ikke logge ind da __appName__ ikke blev tildelt adgang til din __provider__ konto. Prøv venligst igen.", + "standard": "Standard", + "start_by_adding_your_email": "Begynd ved at tilføje din e-mailadresse.", + "start_free_trial": "Start gratis prøve!", + "state": "Stat", + "status_checks": "Status tjek", + "still_have_questions": "Har du stadig spørgsmål?", + "stop_compile": "Stop kompilering", + "stop_on_first_error": "Stop ved første fejl", + "stop_on_first_error_enabled_description": "<0>“Stop ved første fejl” er slået til. Ved at slå det fra kan kompileren muligvis producere en PDF (men dit projekt har stadig fejl).", + "stop_on_first_error_enabled_title": "Ingen PDF: Stop ved første fejl er slået til", + "stop_on_validation_error": "Syntaks tjek før kompilering", + "store_your_work": "Gem jeres arbejde på jeres egen infrastruktur", + "student": "Studerende", + "student_and_faculty_support_make_difference": "Støtte fra studerende og fakultet gør en forskel! Vi kan dele denne information med vores kontakter på jeres universitet når vi diskuterer om en HajTeX institutionel konto.", + "student_disclaimer": "Studierabatten er gælder for alle studerende ved gymnasier og videregående uddannelsesinstitutioner. Vi kontakter dig muligvis for at bekræfte at du kvalificerer dig til denne rabat. ", + "student_plans": "Studieabonnementer", + "subject": "Emne", + "subject_to_additional_vat": "Priser kan skulle pålægges yderligere afgifter, afhængigt af hvor du er.", + "submit": "indsend", + "submit_title": "Indsend", + "subscribe": "Tilmeld", + "subscription": "Abonnement", + "subscription_admin_panel": "Administrationspanel", + "subscription_admins_cannot_be_deleted": "Du kan ikke slette din konto med et abonnement. Du må annullere dit abonnement, før du kan fortsætte. Hvis du bliver ved med at se denne besked, så kontakt os.", + "subscription_canceled": "Abonnement annulleret", + "subscription_canceled_and_terminate_on_x": " Dit abonnement er blevet annulleret, og vil blive opsagt på <0>__terminateDate__. Ingen yderligere betalinger vil blive opkrævet.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Dit abonnement forbliver aktivt indtil slutningen af din faktureringsperiode, <0>__terminationDate__.", + "suggestion": "Forslag", + "sure_you_want_to_cancel_plan_change": "Er du sikker på at du vil fortryde den planlagte abonnementsændring? Du vil forblive abonneret til <0>__planName__ abonnementet.", + "sure_you_want_to_change_plan": "Er du sikker på du vil skifte abonnement til <0>__planName__?", + "sure_you_want_to_delete": "Er du sikker på, at du ønsker at slette følgende filer permanent?", + "sure_you_want_to_leave_group": "Er du sikker på, at du ønsker, at forlade denne gruppe?", + "sv": "Svensk", + "switch_to_editor": "Skift til skrivevindue", + "switch_to_pdf": "Skift til PDF", + "symbol_palette": "Symbolpalet", + "symbol_palette_highlighted": "<0>Symbolpalet", + "symbol_palette_info": "En hurtig og bekvemt måde at indsætte matematiske symboler ind i dit dokument.", + "sync": "Synkroniser", + "sync_dropbox_github": "Synkroniser med Dropbox og GitHub", + "sync_project_to_github_explanation": "Ændringer som du har lavet i __appName__ vil blive committed og flettet sammen med opdateringer i GitHub", + "sync_to_dropbox": "Synkroniser til Dropbox", + "sync_to_github": "Synkroniser til GitHub", + "synctex_failed": "Kunne ikke finde den tilhørende kildefil", + "syntax_validation": "Kode tjek", + "tab_connecting": "Forbinder til skriveprogrammet", + "tab_no_longer_connected": "Denne fane har ikke længere forbindelse til skriveprogrammet.", + "tag_color": "Tag farve", + "tag_name_cannot_exceed_characters": "Tag-navn kan være længere end __maxLength__ tegn", + "tag_name_is_already_used": "Tagget “__tagName__” findes allerede.", + "tags": "Tags", + "take_me_home": "Tag mig hjem!", + "take_short_survey": "Besvar et kort spørgeskema", + "tc_everyone": "Alle", + "tc_guests": "Gæster", + "tc_switch_everyone_tip": "Slå “Følg ændringer” til/fra for alle", + "tc_switch_guests_tip": "Slå “Følg ændringer” til/fra for alle link-deling gæster", + "tc_switch_user_tip": "Slå “Følg ændringer” til/fra for denne bruger", + "template": "Skabelon", + "template_approved_by_publisher": "Denne skabelon er blevet godkendt af forlaget", + "template_description": "Skabelonsbeskrivelse", + "template_gallery": "Skabelonsgalleri", + "template_not_found_description": "Denne vej til at lave nye projekter ud fra skabeloner er blevet fjernet. Du kan kigge i vores skabelonsgalleri efter flere skabeloner.", + "template_title_taken_from_project_title": "Skabelonstitlen bliver automatisk taget fra projekttitlen", + "template_top_pick_by_overleaf": "Denne skabelon er blevet håndplukket af HajTeX for dens høje kvalitet", + "templates": "Skabeloner", + "templates_page_summary": "Start dine projekter med LaTeX kvalitets-skabeloner for journaler, CV’er, artikler, præsentationer, opgaver, projektrapporter og flere. Søg eller gennemse herunder.", + "templates_page_title": "Skabeloner - Journaler, CV’er, præsentationer, rapporter og mere", + "terminated": "Kompilation annulleret", + "terms": "Vilkår", + "tex_live_version": "TeX Live-version", + "thank_you": "Tak!", + "thank_you_email_confirmed": "Tak, din e-mailaddresse er nu bekræftet", + "thank_you_exclamation": "Tak!", + "thank_you_for_being_part_of_our_beta_program": "Mange tak fordi du deltager i vores betaprogram, hvor du kan få <0>tidlig adgang til nye funktioner, og hjælpe os med bedre at forstå dine behov", + "thanks": "Tak", + "thanks_for_subscribing": "Tak fordi du abonnerer!", + "thanks_for_subscribing_you_help_sl": "Tak fordi du abonnerer på __planName__ planen. Det er støtte fra folk som dig, der giver __appName__ mulighed for at vokse og blive bedre.", + "thanks_settings_updated": "Tak, dine indstillinger er blevet opdateret.", + "the_file_supplied_is_of_an_unsupported_type ": "Linket til at åbne dette indhold i HajTeX pegede på den forkerte type fil. Gyldige filtyper er .tex-dokumenter og .zip-arkiver. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "the_following_files_already_exist_in_this_project": "De følgende filer eksisterer allerede i dette projekt:", + "the_project_that_contains_this_file_is_not_shared_with_you": "Projektet som indeholder denne fil er ikke delt med dig", + "the_requested_conversion_job_was_not_found": "Linket til at åbne dette indhold i HajTeX specificerede en konverteringsopgave, som ikke kunne findes. Det kan skyldes, at det job er udløbet, og skal køres igen. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_requested_publisher_was_not_found": "Linket til at åbne dette indhold i HajTeX angiver en udgiver, som ikke kan findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_required_parameters_were_not_supplied": "Linket til at åbne dette indhold i HajTeX manglede nogle af de nødvendige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_supplied_parameters_were_invalid": "Linket til at åbne dette indhold i HajTeX havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_supplied_uri_is_invalid": "Linket til at åbne dette indhold i HajTeX indeholdt en ugyldig URI. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "Bredden du vælger her er baseret på bredden af teksten i dit dokument. Alternativt kan du ændre billedestørrelsen direkte i LaTeX koden.", + "theme": "Tema", + "then_x_price_per_month": "Derefter __price__ per måned", + "then_x_price_per_year": "Derefter __price__ per år", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "Der er mange indstillinger til at redigere og tilpasse dine figurer, såsom tekstombrydning, roration af billedet, eller flere billeder i en enkelt figur. For dette bliver du nødt til at redigere LaTeX koden. <0>Find ud hvordan", + "there_was_an_error_opening_your_content": "Der var en fejl i oprettelsen af dit projekt", + "thesis": "Speciale", + "this_action_cannot_be_undone": "Denne handling kan ikke fortrydes.", + "this_address_will_be_shown_on_the_invoice": "Denne adresse vil blive vist på fakturaen", + "this_field_is_required": "Dette fejl er påkrævet", + "this_grants_access_to_features_2": "Dette giver dig adgang til <0>__appName__s <0>__featureType__ funktioner.", + "this_is_your_template": "Dette er din skabelon fra dit projekt", + "this_project_is_public": "Dette projekt er offentligt og kan redigeres af enhver med URL’en.", + "this_project_is_public_read_only": "Dette projekt er offentligt og kan ses, men ikke redigeres, af alle med linket", + "this_project_will_appear_in_your_dropbox_folder_at": "Projektet kan findes i din Dropbox i ", + "this_tool_helps_you_insert_figures": "Dette værktøj hjælper dig med at indsætte figurer i dit projekt uden du bliver nødt til at skrive LaTeX kode. De følgende information forklarer mere om indstillingerne i værktøjet og hvordan du kan videre tilpasse dine figurer.", + "thousands_templates": "Flere tusinde skabeloner", + "thousands_templates_info": "Producér smuke dokumenter startende fra vores galleri af LaTeX skabeloner for journaler, konferencer, afhandlinger, rapporter, CV’er og meget mere.", + "three_free_collab": "Tre gratis samarbejdspartnere", + "timedout": "Timed out", + "tip": "Tip", + "title": "Titel", + "to_add_email_accounts_need_to_be_linked_2": "For at tilføje denne e-mailaddresse er det nødvendigt, at dine kontoer fra <0>__appName__ og <0>__institutionName__ bliver kædet sammen.", + "to_add_more_collaborators": "For at få tilføjet flere samarbejdspartnere eller aktiveret linkdeling, skal du bede projektejeren om at gøre det", + "to_change_access_permissions": "Hvis du vil ændre adgangstilladelser må du bede ejeren af projektet om det", + "to_many_login_requests_2_mins": "Der er forsøgt at logge ind på denne konto for mange gange. Vent venligst 2 minutter før du prøver at logge ind igen", + "to_modify_your_subscription_go_to": "For at administrere dit abonnement, gå til", + "toggle_compile_options_menu": "Kompiléringsindstillingsmenu", + "token": "nøgle", + "token_access_failure": "Kan ikke tildele adgang; kontakt projektejeren for hjælp", + "token_limit_reached": "Du har nået grænsen for 10 nøgler. For at generere en ny autentificeringsnøgle skal du slette en eksisterende nøgle.", + "token_read_only": "nøgle skrivebeskyttet", + "token_read_write": "nøgle skrive-læse", + "too_many_attempts": "For mange forsøg. Vent lidt og prøv igen.", + "too_many_files_uploaded_throttled_short_period": "For mange filer uploadet; dine uploads er blevet begrænset i en kort periode. Vent helst 15 minutter, før du prøver igen.", + "too_many_requests": "Der kom for mange forespørgsler inden for et kort tidsrum. Det kan hjælpe, hvis du venter lidt før du prøver igen.", + "too_many_search_results": "Der var mere end 100 resultater. Indskrænk venligst din søgning.", + "too_recently_compiled": "Dette projekt er lige blevet kompileret, hvorfor denne kompilering er blevet udsat.", + "toolbar_bullet_list": "Punktliste", + "toolbar_choose_section_heading_level": "Vælg overskriftsniveau", + "toolbar_decrease_indent": "Formindsk indryk", + "toolbar_format_bold": "Fed skrift", + "toolbar_format_italic": "Kursiv skrift", + "toolbar_increase_indent": "Forøg indryk", + "toolbar_insert_citation": "Indsæt citation", + "toolbar_insert_cross_reference": "Indsæt henvisning", + "toolbar_insert_display_math": "Indsæt formel", + "toolbar_insert_figure": "Indsæt figur", + "toolbar_insert_inline_math": "Indsæt tekst-formel", + "toolbar_insert_link": "Indsæt link", + "toolbar_insert_table": "Indsæt tabel", + "toolbar_numbered_list": "Nummereret liste", + "toolbar_redo": "Gentag", + "toolbar_toggle_symbol_palette": "Vis/Skjul symbolpalet", + "toolbar_undo": "Fortryd", + "tooltip_hide_filetree": "Tryk for at skjule fil-træet", + "tooltip_hide_pdf": "Tryk for at skjule PDF’en", + "tooltip_show_filetree": "Tryk for at vise fil-træet", + "tooltip_show_pdf": "Tryk for at vise PDF’en", + "top_pick": "Bedste valg", + "total": "Total", + "total_per_month": "Total per måned", + "total_per_year": "Total per år", + "total_per_year_for_x_users": "total per år for __licenseSize__ brugere", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ moms) per år", + "total_words": "Totalt antal ord", + "tr": "Tyrkisk", + "track_any_change_in_real_time": "Følg alle ændringer i realtid", + "track_changes": "Følg ændringer", + "track_changes_is_off": "“Følg ændringer” er slået fra", + "track_changes_is_on": "“Følg ændringer” er slået til", + "tracked_change_added": "Tilføjet", + "tracked_change_deleted": "Slettet", + "trash": "Kassér", + "trash_projects": "Kassér projekter", + "trashed": "Kasséret", + "trashed_projects": "Kassérede projekter", + "trashing_projects_wont_affect_collaborators": "Det har ingen virkning på dine samarbejdspartnere, at kassere projekter.", + "trial_last_day": "Dette er din sidste dag på HajTeX Premium prøveperioden", + "trial_remaining_days": "__days__ flere dage på din HajTeX Premium prøveperiode", + "tried_to_log_in_with_email": "Du har prøvet at logge ind med __email__.", + "tried_to_register_with_email": "Du har forsøgt at blive registreret som __email__, hvilken allerede er registreret hos __appName__ som en institutionel konto.", + "try_again": "Prøv venligst igen", + "try_for_free": "Prøv gratis", + "try_it_for_free": "Prøv det gratis", + "try_now": "Prøv nu", + "try_premium_for_free": "Prøv Premium gratis", + "try_recompile_project_or_troubleshoot": "Prøv venligst at genkompilere projektet fra bunden, og hvis det ikke hjælper, følg vores <0>fejlsøgningsguide.", + "try_to_compile_despite_errors": "Prøv at kompilere på trods af fejl", + "turn_off_link_sharing": "Slå linkdeling fra", + "turn_on_link_sharing": "Slå linkdeling til", + "tutorials": "Vejledninger", + "two_users": "2 brugere", + "uk": "Ukrainsk", + "unable_to_extract_the_supplied_zip_file": "Dette indhold kunne ikke åbnes i HajTeX, fordi zip-filen ikke kunne åbnes. Vær sikker på, at din zip-fil er gyldig. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "unarchive": "Gendan", + "uncategorized": "Ikke kategoriseret", + "unconfirmed": "Ikke bekræftet", + "undelete": "Gendan", + "undeleting": "Gendanner", + "understanding_labels": "At forstå labels", + "unfold_line": "Udfold linje", + "university": "Universitet", + "unknown": "Ukendt", + "unlimited": "Ubegrænset", + "unlimited_bold": "<0>Ubegrænset", + "unlimited_collaborators_in_each_project": "Ubegrænset antal samarbejdspartnere i hvert projekt", + "unlimited_collabs": "Ubegrænset antal samarbejdspartnere", + "unlimited_collabs_rt": "<0>Ubegrænset antal samarbejdspartnere", + "unlimited_projects": "Ubegrænset antal projekter", + "unlimited_projects_info": "Dine projekter er private som udgangspunkt. Det betyder at kun du kan se dem, og kun du kan tillade andre at tilgå dem.", + "unlink": "Fjern link", + "unlink_dropbox_folder": "Afkobl Dropbox konto", + "unlink_dropbox_warning": "Alle de projekter du har synkroniseret med Dropbox, afkobles og synkroniseres ikke længere med Dropbox. Er du sikker på at du vil afkoble din Dropbox konto?", + "unlink_github_repository": "Afkobl GitHub Repository", + "unlink_github_warning": "Alle de projekter, som du har synkroniseret med GitHub, afkobles og synkroniseres ikke længere med GitHub. Er du sikker på du vil afkoble din GitHub konto?", + "unlink_provider_account_title": "Afkobl __provider__ konto", + "unlink_provider_account_warning": "Advarsel: Når du afkobler din konto fra __provider__ kan du ikke længere logge ind igennem __provider__.", + "unlink_reference": "Fjern link til reference udbyder", + "unlink_warning_reference": "Advarsel: Når du fjerner linket til denne udbyder fra din konto, vil du ikke længere have mulighed for at importere referencer ind i dine projekter.", + "unlinking": "Fjerner forbindelse", + "unpublish": "Træk tilbage", + "unpublishing": "Annullerer udgivelsen", + "unsubscribe": "Afmeld", + "unsubscribed": "Afmeldt", + "unsubscribing": "Afmelder", + "untrash": "Gendan", + "up_to": "Op til", + "update": "Opdater", + "update_account_info": "Opdater kontoinformation", + "update_dropbox_settings": "Opdater Dropbox indstillinger", + "update_your_billing_details": "Opdater dine betalingsoplysninger", + "updating": "Opdaterer", + "updating_site": "Opdater side", + "upgrade": "Opgrader", + "upgrade_cc_btn": "Opgrader nu, betal efter 7 dage", + "upgrade_now": "Opgrader nu", + "upgrade_to_get_feature": "Opgrader for at få __feature__, plus:", + "upgrade_to_track_changes": "Opgrader til “Følg ændringer”", + "upload": "Upload", + "upload_failed": "Overførsel mislykkedes", + "upload_from_computer": "Upload fra computer", + "upload_project": "Overfør projekt", + "upload_zipped_project": "Upload komprimeret projekt", + "url_to_fetch_the_file_from": "URL som filen skal hentes fra", + "usage_metrics": "Brugsstatistik", + "usage_metrics_info": "Statistikker som viser hvor mange brugere der benytter licensen, hvor mange projekter der bliver lavet og arbejdet på og hvor meget samarbejde der foregår på HajTeX.", + "use_a_different_password": "Benyt et andet kodeord", + "use_your_own_machine": "Brug din egen maskine, med din egen opsætning", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Bliver brugt til at henvise til figuren fra andre steder i dokumentet", + "user_already_added": "Bruger allerede tilføjet", + "user_deletion_error": "Beklager, sletningen af din konto mislykkedes. Vær venlig at vente et minuts tid, og prøv så igen.", + "user_deletion_password_reset_tip": "Hvis du ikke kan huske dit kodeord, eller hvis du bruger en Single-Sign-On-løsning til at skrive dig ind (såsom ORCID eller Google), må du <0>nulstille dit kodeord, og derefter prøve igen.", + "user_management": "Brugeradminstration", + "user_management_info": "Gruppeadministratorer har adgang til et administrationspanel hvor brugere nemt kan tilføjes og fjernes. For organisationsdækkende abonnementer bliver brugere automatisk opgraderet når de registerer sig eller tilføjer deres e-mailaddresse til HajTeX (domæne-baseret tilmelding eller SSO).", + "user_not_found": "Bruger ikke fundet", + "user_sessions": "Brugersessioner", + "user_wants_you_to_see_project": "__username__ ønsker at du deltager i __projectname__", + "validation_issue_entry_description": "Et valideringsproblem, som forhindrede dette projekt i at kompilere", + "vat": "moms", + "vat_number": "CVR nummer", + "view_all": "Se alt", + "view_hub": "Se hub", + "view_in_template_gallery": "Se den i skabelongalleriet", + "view_logs": "Se log", + "view_metrics": "Se statistikker", + "view_pdf": "Se PDF", + "view_source": "Se kildekode", + "view_your_invoices": "Se dine fakturaer", + "viewing_x": "Ser <0>__endTime__", + "want_change_to_apply_before_plan_end": "Hvis du ønsker at denne ændring skal tage effekt før slutningen på din nuværende faktureringsperiode, kontakt os venligst.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Vi kan ikke finde nogen sektioner eller undersektioner i denne fil", + "we_logged_you_in": "Vi har logget dig ind.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>Vi kontakter måske også dig fra tid til anden via e-mail med et spørgeskema, eller for at se, om du har lyst til at deltage i andre brugerundersøgelsesinitiativer", + "webinars": "Webinarer", + "website_status": "Sidestatus", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Velkommen til __appName__", + "when_you_tick_the_include_caption_box": "Når du klikker “Inkludér billedtekst” vil billedet blive indsat i dokumentet med en standard billedetekst. For at redigere den skal du bare klikke på billedeteksten og skrive for at erstatte den med din egen.", + "wide": "Bred", + "will_need_to_log_out_from_and_in_with": "Du bliver nødt til at logge ud fra din konto for __email1__, og derefter logge ind med __email2__.", + "with_premium_subscription_you_also_get": "Med et HajTeX Premium abonnement får du også", + "word_count": "Ordoptælling", + "work_offline": "Arbejd offline", + "work_with_non_overleaf_users": "Arbejd sammen med ikke-HajTeX-brugere", + "would_you_like_to_see_a_university_subscription": "Vil du ønske der var en universitetsdækkende __appName__ abonnement på dit universitet?", + "x_changes_in": "__count__ ændring i", + "x_changes_in_plural": "__count__ ændringer i", + "x_collaborators_per_project": "__collaboratorsCount__ samarbejdspartnere per projekt", + "x_price_for_first_month": "<0>__price__ for din første måned", + "x_price_for_first_year": "<0>__price__ for dit første år", + "x_price_for_y_months": "<0>__price__ i de første __discountMonths__ måneder", + "x_price_per_user": "__price__ per bruger", + "x_price_per_year": "__price__ per år", + "year": "år", + "yes_move_me_to_personal_plan": "Ja, skift mig til et personligt abonnement", + "yes_that_is_correct": "Ja, det er korrekt", + "you": "Dig", + "you_already_have_a_subscription": "Du har allerede et abonnement", + "you_and_collaborators_get_access_to": "Dig og dine samarbejdspartnere får adgang til", + "you_and_collaborators_get_access_to_info": "Disse funktioner er tilgængelige for dig og dine samarbejdspartnere (andre HajTeX brugere som du har inviteret til dine projekter).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager og en <1>bruger af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_are_a_manager_of_commons_at_institution_x": "Du er en <0>manager af et HajTeX Commons abonnement hos <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "Du er en <0>manager hos <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "Du er på et __appName__ betalt abonnement. <0>Kontakt support for at lære mere.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "Du er på vores <0>__planName__ abonnement som et <1>bekræftet medlem af <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er på vores <0>__planName__ abonnement som et <1>medlem af gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_can_now_log_in_sso": "Du kan nu logge ind gennem din institution of hvis du er kvalificeret får du <0>__appName__ Professionel-funktioner.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kan på denne side til enhver tid <0>til- og framelde dig programmet", + "you_dont_have_any_repositories": "Du har ingen arkiver", + "you_get_access_to": "Du får adgang til", + "you_get_access_to_info": "Disse funktioner er kun tilgængelige for dig (abonnenten).", + "you_have_added_x_of_group_size_y": "Du har tilføjet <0>__addedUsersSize__ af <1>__groupSize__ tilgængelige medlemmer", + "you_plus_1": "Dig + 1", + "you_plus_10": "Dig + 10", + "you_plus_6": "Dig + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>Du vil kunne kontakte os når som helst, for at give din feedback", + "your_affiliation_is_confirmed": "Din tilknytning til <0>__institutionName__ er bekræftet", + "your_browser_does_not_support_this_feature": "Beklager, din browser understøtter ikke denne funktion. Opdater venligst din browser til den seneste version.", + "your_git_access_info": "Din Git autentificeringsnøgler skal indtastes når du bliver spurgt om et kodeord.", + "your_git_access_info_bullet_1": "Du kan have op til 10 nøgler.", + "your_git_access_info_bullet_2": "Hvis du når grænsen for antal nøgler bliver du nødt til at slette en nøgle før du kan generere en ny.", + "your_git_access_info_bullet_3": "Du kan generere en nøgle ved at trykke på knappen <0>Generér nøgle", + "your_git_access_info_bullet_4": "Du kan ikke se nøglen igen efter den første gang du genererer den. Skriv den venligst ned og hold den sikker", + "your_git_access_info_bullet_5": "Tidligere genererede nøgle vises her.", + "your_git_access_tokens": "Dine Git autentificeringsnøgler", + "your_message_to_collaborators": "Send en besked til dine samarbejdspartnere", + "your_new_plan": "Dit nye abonnement", + "your_password_has_been_successfully_changed": "Dit kodeord er blevet ændret", + "your_plan": "Dit abonnement", + "your_plan_is_changing_at_term_end": "Dit abonnement ændres til <0>__pendingPlanName__ ved slutningen af den nuværende faktureringsperiode.", + "your_projects": "Dine projekter", + "your_sessions": "Dine sessioner", + "your_subscription": "Dit abonnement", + "your_subscription_has_expired": "Dit abonnement er udløbet.", + "youre_on_free_trial_which_ends_on": "Du er på en gratis prøveperiode som slutter d. <0>__date__.", + "zh-CN": "Kinesisk", + "zip_contents_too_large": "For stort indhold i zip-fil", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero- og <0>Mendeley-integrationer", + "zotero_groups_loading_error": "Der opstod en fejl under indlæsning af grupper fra Zotero", + "zotero_groups_relink": "Der opstod en fejl under tilgangen af dit Zotero data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-integration", + "zotero_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Zotero og forbind det direkte til .bib filer i HajTeX, så du nemt kan henvise til alt i dine biblioteker.", + "zotero_is_premium": "Integration af Zotero er en Premium-funktion", + "zotero_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Zotero", + "zotero_reference_loading_error_expired": "Zotero nøgle udløbet, genforbind venligst din konto", + "zotero_reference_loading_error_forbidden": "Kunne ikke indlæse referencer fra Zotero, genforbind venligst din konto og prøv igen", + "zotero_sync_description": "Via Zotero-integrationen kan du importere dine referencer fra Zotero ind i dine __appName__-projekter." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/de.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/de.json new file mode 100644 index 0000000..856eac6 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/de.json @@ -0,0 +1,1508 @@ +{ + "1_2_width": "½ Breite", + "1_4_width": "¼ Breite", + "3_4_width": "¾ Breite", + "About": "Über uns", + "Account": "Konto", + "Account Settings": "Kontoeinstellungen", + "Documentation": "Dokumentation", + "Projects": "Projekte", + "Security": "Sicherheit", + "Subscription": "Abonnement", + "Terms": "Nutzungsbedingungen", + "Universities": "Universitäten", + "a_custom_size_has_been_used_in_the_latex_code": "Es wurde eine benutzerdefinierte Größe im LaTeX Code verwendet.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Eine Datei mit diesem Name existiert bereits. Die Datei wird überschrieben.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Eine vollständige Liste der Tastaturbelegung befindet sich in <0>dieser __appName__ Projekt Vorlage", + "about": "Über uns", + "about_to_archive_projects": "Du bist im Begriff, die folgenden Projekte zu archivieren:", + "about_to_delete_projects": "Du bist kurz davor folgende Projekte zu löschen:", + "about_to_delete_tag": "Du bist dabei, das folgende Stichwort zu löschen (darin enthaltene Projekte werden nicht gelöscht):", + "about_to_delete_the_following_project": "Du bist dabei, das folgende Projekt zu löschen", + "about_to_delete_the_following_projects": "Du bist dabei, die folgenden Projekte zu löschen", + "about_to_leave_projects": "Du bist kurz davor folgende Projekte zu verlassen:", + "about_to_trash_projects": "Du bist dabei, die folgenden Projekte zu löschen:", + "abstract": "Abstrakt", + "accept": "Akzeptieren", + "accept_all": "Alle akzeptieren", + "accept_invitation": "Einladung annehmen", + "accept_or_reject_each_changes_individually": "Akzeptiere oder Verwerfe jede Änderung individuell", + "accepted_invite": "Einladung angenommen", + "accepting_invite_as": "Du akzeptierst die Einladung als", + "access_denied": "Zugriff verweigert", + "account": "Konto", + "account_has_been_link_to_institution_account": "Dein __appName__-Konto auf __email__ wurde mit deinem institutionellen Konto __institutionName__ verknüpft.", + "account_has_past_due_invoice_change_plan_warning": "Dein Konto weist derzeit eine überfällige Rechnung auf. Du kannst dein Abonnement nicht ändern, bis dies behoben ist.", + "account_linking": "Kontoverknüpfung", + "account_not_linked_to_dropbox": "Dein Konto ist nicht mit Dropbox verknüpft", + "account_settings": "Kontoeinstellungen", + "account_with_email_exists": "Anscheinend existiert bereits ein __appName__-Konto mit der E-Mail-Adresse __email__.", + "acct_linked_to_institution_acct_2": "Du kannst dich <0>log in über dein institutionelles Konto <0>__institutionName__ bei HajTeX anmelden.", + "actions": "Aktionen", + "activate": "Aktivieren", + "activate_account": "Deaktiviere dein Konto", + "activating": "Aktivierung", + "activation_token_expired": "Dein Aktivierungs-Token ist abgelaufen, bitte fordere einen neuen an.", + "add": "Hinzufügen", + "add_affiliation": "Mitgliedschaft hinzufügen", + "add_another_address_line": "Füge eine weitere Addresszeile hinzu", + "add_another_email": "Füge eine weitere E-Mail-Adresse hinzu", + "add_another_token": "Füge einen weiteren Token hinzu", + "add_comma_separated_emails_help": "Trenne mehrere E-Mail-Adressen mit einem Komma (,).", + "add_comment": "Füge Kommentar hinzu", + "add_company_details": "Firmendetails hinzufügen", + "add_email": "E-Mail-Adresse hinzufügen", + "add_email_to_claim_features": "Füge eine institutionelle E-Mail-Adresse hinzu, um deine Funktionen zu freizuschalten.", + "add_files": "Dateien hinzufügen", + "add_more_members": "Mehr Mitglieder hinzufügen", + "add_new_email": "Neue E-Mail-Adresse hinzufügen", + "add_or_remove_project_from_tag": "Füge Projekt zu Stichwort __tagName__ hinzu oder entferne es davon", + "add_role_and_department": "Rolle und Abteilung hinzufügen", + "add_to_tag": "Zu Stichwort hinzufügen", + "add_your_comment_here": "Füge hier einen Kommentar hinzu", + "add_your_first_group_member_now": "Füge jetzt dein erstes Gruppenmitglied hinzu", + "added": "hinzugefügt", + "added_by_on": "Hinzugefügt von __name__ am __date__", + "adding": "Hinzufügen", + "additional_licenses": "Dein Abonnement umfasst <0>__additionalLicenses__ zusätzliche Lizenz(en) für insgesamt <1>__totalLicenses__ Lizenzen.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Addresszeile zwei (optional)", + "admin": "Admin", + "admin_user_created_message": "Admin-Nutzer erstellt, einloggen um fortzufahren", + "advanced_reference_search": "Erweiterte <0>Referenzen Suche", + "advanced_search": "Erweiterte Suche", + "aggregate_changed": "Geändert", + "aggregate_to": "zu", + "all": "Alle", + "all_our_group_plans_offer_educational_discount": "Alle unsere <0>Gruppen-Abonnements bieten einen <1>Bildungsrabatt für Studenten und Lehrkräfte", + "all_premium_features": "Alle Premiumfunktionen", + "all_premium_features_including": "Alle Premiumfunktionen, darunter:", + "all_prices_displayed_are_in_currency": "Alle Preise sind in __recommendedCurrency__ angezeigt.", + "all_projects": "Alle Projekte", + "all_templates": "Alle Vorlagen", + "already_have_sl_account": "Hast du bereits ein __appName__-Konto?", + "also": "Ebenfalls", + "also_available_as_on_premises": "Auch On-Premises verfügbar", + "alternatively_create_new_institution_account": "Alternativ kannst du ein neues Konto mit deiner institutionellen E-Mail-Adresse (__email__) erstellen, indem du auf „__clickText__“ klickst.", + "an_error_occurred_when_verifying_the_coupon_code": "Beim Überprüfen des Gutscheincodes ist ein Fehler aufgetreten", + "and": "und", + "annual": "Jährlich", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Jeder mit diesem Link kann dieses Projekt bearbeiten", + "anyone_with_link_can_view": "Jeder mit diesem Link kann dieses Projekt anzeigen", + "app_on_x": "__appName__ bei __social__", + "apply_educational_discount": "Bildungsrabatt anwenden", + "apply_educational_discount_info": "HajTeX bietet 40 % Bildungsrabatt für Gruppen ab 10 Personen. Dies gilt für Studenten oder Lehrkräfte, die HajTeX im Unterricht verwenden.", + "april": "April", + "archive": "Archiv", + "archive_projects": "Projekte archivieren", + "archived": "Archiviert", + "archived_projects": "Archivierte Projekte", + "archiving_projects_wont_affect_collaborators": "Das Archivieren von Projekten wirkt sich nicht auf deine Mitarbeiter aus.", + "are_you_affiliated_with_an_institution": "Bist Du einer Institution angehörig?", + "are_you_getting_an_undefined_control_sequence_error": "Bekommst Du einen Undefined Control Sequence Fehler angezeigt? Falls ja, stelle sicher dass das graphicx Paket —<0>\\usepackage{graphicx}— in der Präambel (erster Code Abschnitt) deines Dokuments geladen wird. <1>Mehr erfahren", + "are_you_still_at": "Bist du immer noch bei <0>__institutionName__?", + "are_you_sure": "Bist du sicher?", + "article": "Artikel", + "articles": "Artikel", + "as_a_member_of_sso_required": "Als Mitglied von __institutionName__ musst du dich über dein institutionelles Portal bei __appName__ anmelden.", + "ascending": "Aufsteigend", + "ask_proj_owner_to_upgrade_for_full_history": "Bitte den Projektinhaber um ein Abonnement-Upgrade, um auf den vollständigen Verlauf dieses Projekts zugreifen zu können.", + "ask_proj_owner_to_upgrade_for_references_search": "Bitte den Projekteigentümer um ein Abonnement-Upgrade, damit du die Referenz-Suchfunktion verwenden kannst.", + "august": "August", + "author": "Autor", + "auto_close_brackets": "Klammern automatisch schließen", + "auto_compile": "Automatisch kompilieren", + "auto_complete": "Auto-Vervollständigen", + "autocompile_disabled": "Automatisches Kompilieren deaktiviert", + "autocompile_disabled_reason": "Aufgrund der hohen Serverlast wurde das Neukompilieren im Hintergrund vorübergehend deaktiviert. Bitte neu kompilieren, indem du auf die Schaltfläche oben klickst.", + "autocomplete": "Autovervollständigung", + "autocomplete_references": "Referenzautovervollständigung (in einem \\cite{}-Block)", + "automatic_user_registration": "Automatische Nutzerregistrierung", + "back": "Zurück", + "back_to_account_settings": "Zurück zu den Kontoeinstellungen", + "back_to_editor": "Zurück zum Editor", + "back_to_log_in": "Zurück zur Anmeldung", + "back_to_subscription": "Zurück zum Abonnement", + "back_to_your_projects": "Zurück zu deinen Projekten", + "become_an_advisor": "Werde ein __appName__-Berater", + "best_choices_companies_universities_non_profits": "Die beste Wahl für Unternehmen, Universitäten und gemeinnützige Organisationen", + "beta": "Beta", + "beta_feature_badge": "Betafunktionsmerkmal", + "beta_program_already_participating": "Du bist dem Beta-Programm beigetreten", + "beta_program_badge_description": "Während der Nutzung von __appName__ werden Beta-Funktionen durch diesen Badge markiert:", + "beta_program_benefits": "Wir verbessern __appName__ stetig. Indem du dem Beta-Programm beitrittst, hast du früheren Zugriff auf neue Funktionen und hilfst uns, deine Bedürfnisse besser zu verstehen.", + "beta_program_not_participating": "Du nimmst nicht am Beta Programm teil", + "beta_program_opt_in_action": "Beta-Programm beitreten", + "beta_program_opt_out_action": "Beta-Programm verlassen", + "bibliographies": "Literaturverzeichnisse", + "binary_history_error": "Für diesen Datei-Typ ist keine Vorschau verfügbar", + "blank_project": "Leeres Projekt", + "blocked_filename": "Dieser Dateiname ist gesperrt.", + "blog": "Blog", + "browser": "Browser", + "built_in": "Eigener", + "bulk_accept_confirm": "Möchtest du die ausgewählten __nChanges__-Änderungen wirklich akzeptieren?", + "bulk_reject_confirm": "Möchtest du die ausgewählten __nChanges__-Änderungen wirklich ablehnen?", + "buy_now_no_exclamation_mark": "Jetzt kaufen", + "by": "von", + "by_subscribing_you_agree_to_our_terms_of_service": "Mit der Anmeldung stimmst du unseren <0>Nutzungsbedingungen zu.", + "can_edit": "Darf bearbeiten", + "can_link_institution_email_acct_to_institution_acct": "Du kannst jetzt dein __email__ __appName__-Konto mit deinem institutionellen __institutionName__-Konto verknüpfen.", + "can_link_institution_email_by_clicking": "Du kannst dein __email__ __appName__-Konto mit deinem __institutionName__-Konto verknüpfen, indem du auf „__clickText__“ klickst.", + "can_link_institution_email_to_login": "Du kannst dein __email__ __appName__-Konto mit deinem __institutionName__-Konto verknüpfen, wodurch du dich bei __appName__ über dein institutionelles Portal anmelden und deine institutionelle E-Mail-Adresse erneut bestätigen kannst.", + "can_link_your_institution_acct_2": "Du kannst jetzt dein <0>__appName__-Konto mit deinem institutionellen <0>__institutionName__-Konto <0>verknüpfen.", + "can_now_relink_dropbox": "Du kannst jetzt <0>dein Dropbox-Konto erneut verknüpfen.", + "cancel": "Abbrechen", + "cancel_anytime": "Wir sind zuversichtlich, dass du __appName__ lieben wirst, falls nicht, kannst du jederzeit kündigen. Wir geben dir dein Geld zurück, ohne weitere Fragen zu stellen, wenn du uns dies innerhalb von 30 Tagen mitteilst.", + "cancel_my_account": "Mein Abo stornieren", + "cancel_personal_subscription_first": "Du hast bereits ein persönliches Abonnement. Möchtest du dieses zuerst zu beenden, bevor du der Gruppenlizenz beitrittst?", + "cancel_your_subscription": "Beende dein Abo", + "cannot_invite_non_user": "Einladung konnte nicht gesendet werden. Empfänger muss bereits ein __appName__-Konto besitzen.", + "cannot_invite_self": "Du kannst dich nicht selbst einladen", + "cannot_verify_user_not_robot": "Leider konnten wir nicht bestätigen, dass du kein Roboter bist. Bitte vergewissere dich, dass Google reCAPTCHA nicht von einem Werbeblocker oder einer Firewall blockiert wird.", + "cant_find_email": "Diese E-Mail-Adresse ist leider nicht registriert.", + "cant_find_page": "Entschuldigung, wir können die Seite, die du suchst, nicht finden.", + "cant_see_what_youre_looking_for_question": "Du kannst nicht finden, wonach du suchst?", + "card_details": "Kartendaten", + "card_details_are_not_valid": "Die Kartendaten sind nicht gültig", + "card_must_be_authenticated_by_3dsecure": "Deine Karte muss mit 3D Secure authentifiziert werden, bevor du fortfahren kannst", + "card_payment": "Kartenzahlung", + "careers": "Karriere", + "category_arrows": "Pfeile", + "category_greek": "Griechisch", + "category_misc": "Sonstiges", + "category_operators": "Betreiber", + "category_relations": "Beziehungen", + "change": "Änderung", + "change_currency": "Währung wechseln", + "change_or_cancel-cancel": "Abbrechen", + "change_or_cancel-change": "Ändern", + "change_or_cancel-or": "oder", + "change_owner": "Besitzer ändern", + "change_password": "Passwort ändern", + "change_plan": "Abonnement ändern", + "change_primary_email_address_instructions": "Um deine primäre E-Mail-Adresse zu ändern, füge bitte zuerst deine neue primäre E-Mail-Adresse hinzu (indem du auf <0>„E-Mail-Adresse hinzufügen“ klickst) und bestätige diese. Klicke dann auf die Schaltfläche <0>Als primär festlegen. <1>Erfahre mehr über das Verwalten deiner __appName__ E-Mails.", + "change_project_owner": "Projektinhaber ändern", + "change_to_group_plan": "Wechsle zu einem Gruppen-Abonnement", + "change_to_this_plan": "Auf dieses Abonnement wechseln", + "changing_the_position_of_your_figure": "Position der Abbildung verändern", + "chat": "Chat", + "chat_error": "Chatnachrichten konnten nicht geladen werden, versuche es erneut.", + "check_your_email": "Bitte prüfe deinen E-Mail-Posteingang.", + "checking": "Überprüfe", + "checking_dropbox_status": "Dropbox-Status prüfen", + "checking_project_github_status": "Status auf GitHub abfragen", + "choose_a_custom_color": "Wähle eine eigene Farbe", + "choose_your_plan": "Wähle deinen Kontotyp", + "city": "Stadt", + "clear_cached_files": "Zwischengespeicherte Dateien löschen", + "clear_search": "Suche löschen", + "clear_sessions": "Sessions löschen", + "clear_sessions_description": "Dies ist eine Liste anderer Sessions (Logins), die auf deinem Konto aktiv sind, exklusive deiner aktuellen Session. Klicke auf „Sessions löschen“, um sie auszuloggen.", + "clear_sessions_success": "Sessions gelöscht", + "clearing": "Aufräumen", + "click_here_to_view_sl_in_lng": "Klicke hier, um __appName__ in <0>__lngName__ zu nutzen", + "click_link_to_proceed": "Klicke auf „__clickText__“, um fortzufahren.", + "clone_with_git": "Mit Git klonen", + "close": "Schließen", + "clsi_maintenance": "Die Kompilierserver wurden für Wartungsarbeiten heruntergefahren und werden in Kürze zurück sein.", + "clsi_unavailable": "Entschuldigung, der Kompilierserver für dein Projekt war vorübergehend nicht verfügbar. Versuche es in einigen Augenblicken erneut.", + "cn": "Chinesisch (vereinfacht)", + "code_check_failed": "Codeprüfung fehlgeschlagen", + "code_check_failed_explanation": "Dein Code enthält Fehler, die behoben werden müssen, bevor das automatische Kompilieren fortgefahren werden kann", + "collaborate_online_and_offline": "Zusammenarbeit online und offline mit deinem eigenen Workflow", + "collaboration": "Zusammenarbeit", + "collaborator": "Mitarbeiter", + "collabratec_account_not_registered": "IEEE-Collabratec™-Konto nicht registriert. Bitte verbinde dich mit HajTeX von IEEE Collabratec™ oder melde dich mit einem anderen Konto an.", + "collabs_per_proj": "__collabcount__ Mitarbeiter pro Projekt", + "collabs_per_proj_single": "__collabcount__ Mitarbeiter pro Projekt", + "collapse": "Einklappen", + "comment": "Kommentar", + "commit": "Commit", + "common": "Häufige", + "commons_plan_tooltip": "Du hast Zugriff auf ein __plan__ Abonnement über deine Angehörigkeit bei __institution__. Klicke hier um herauszufinden was die HajTeX Premiumfunktionen Dir ermöglichen.", + "compact": "Kompakt", + "company_name": "Name der Firma", + "comparing_from_x_to_y": "Vergleich zwischen <0>__startTime__ und <0>__endTime__", + "compile_error_entry_description": "Ein Fehler, der das Kompilieren dieses Projekts verhindert hat", + "compile_error_handling": "Fehlerbehandlung beim Kompilieren", + "compile_larger_projects": "Größere Projekte kompilieren", + "compile_mode": "Kompiliermodus", + "compile_terminated_by_user": "Der Kompiliervorgang wurde durch Klick auf den Button „Kompiliervorgang stoppen“ abgebrochen. Du kannst dir die Logs anschauen, um zu sehen, wo der Kompiliervorgang gestoppt hat.", + "compile_timeout_short": "Zeitlimit beim Kompilieren", + "compiler": "Compiler", + "compiling": "Kompilieren", + "complete": "Fertig", + "confirm": "Bestätigen", + "confirm_affiliation": "Zugehörigkeit bestätigen", + "confirm_affiliation_to_relink_dropbox": "Bitte bestätige, dass du noch immer bei der Institution bist und über deren Lizenz verfügst, oder aktualisiere dein Konto, um dein Dropbox-Konto erneut zu verknüpfen.", + "confirm_email": "Bestätigungs-E-Mail", + "confirm_new_password": "Bestätige das neue Passwort", + "confirm_primary_email_change": "Bestätige die Änderung deiner primären E-Mail-Adresse", + "confirmation_link_broken": "Leider stimmt etwas mit deinem Bestätigungslink nicht. Versuche, den Link unten in deiner Bestätigungs-E-Mail zu kopieren und einzufügen.", + "confirmation_token_invalid": "Entschuldigung, dein Bestätigungstoken ist ungültig oder abgelaufen. Bitte fordere einen neuen E-Mail-Bestätigungslink an.", + "confirming": "Bestätigung", + "conflicting_paths_found": "Dateipfadkonflikte gefunden", + "connected_users": "Verbundene Nutzer", + "connecting": "Verbinden", + "contact": "Kontakt", + "contact_message_label": "Nachricht", + "contact_sales": "Vertrieb kontaktieren", + "contact_support_to_change_group_subscription": "Bitte wende dich an den Support, wenn du dein Gruppenabonnement ändern möchtest.", + "contact_us": "Kontaktiere uns", + "contact_us_lowercase": "Kontaktiere uns", + "continue": "Fortfahren", + "continue_github_merge": "Ich habe es von Hand gemerget, fortsetzen", + "continue_to": "Weiter zu __appName__", + "continue_with_free_plan": "Mit der kostenlosen Version fortfahren", + "copied": "Kopiert", + "copy": "Kopieren", + "copy_project": "Projekt kopieren", + "copying": "kopieren", + "country": "Land", + "country_flag": "Landesflagge von __country__", + "coupon_code": "Gutscheincode", + "coupon_code_is_not_valid_for_selected_plan": "Der Gutscheincode ist nicht gültig für das gewählte Abonnement", + "coupons_not_included": "Dies beinhaltet nicht deine aktuellen Rabatte, die automatisch vor deiner nächsten Zahlung angewandt werden", + "create": "Erstellen", + "create_a_new_password_for_your_account": "Erstelle ein neues Passwort für dein Konto", + "create_a_new_project": "Erstelle ein neues Projekt", + "create_first_admin_account": "Erstelle das erste Admin-Konto", + "create_new_account": "Neues Konto erstellen", + "create_new_subscription": "Neues Abonnement erstellen", + "create_new_tag": "Neues Stichwort erstellen", + "create_project_in_github": "Ein GitHub Repository erstellen", + "created_at": "Erstellt am", + "creating": "Erstellung läuft", + "credit_card": "Kreditkarte", + "cs": "Tschechisch", + "currency": "Währung", + "current_file": "Aktuelle Datei", + "current_password": "Aktuelles Passwort", + "current_session": "Aktuelle Sitzung", + "currently_seeing_only_24_hrs_history": "Du siehst derzeit die Änderungen der letzten 24 Stunden in diesem Projekt.", + "currently_subscribed_to_plan": "Du hast im Moment das <0>__planName__ Produkt abonniert.", + "custom_resource_portal": "Benutzerdefiniertes Ressourcenportal", + "custom_resource_portal_info": "Du kannst deine eigene benutzerdefinierte Portalseite auf HajTeX haben. Dies ist ein großartiger Ort für die Nutzer, um mehr über HajTeX zu erfahren, auf Vorlagen, FAQs und Hilferessourcen zuzugreifen und sich bei HajTeX anzumelden.", + "customize": "Anpassen", + "customize_your_group_subscription": "Dein Gruppenabonnement anpassen", + "customize_your_plan": "Abonnement anpassen", + "customizing_figures": "Abbildung anpassen", + "da": "Dänisch", + "date": "Datum", + "date_and_owner": "Datum und Inhaber", + "de": "Deutsch", + "dealing_with_errors": "Umgang mit Fehlern", + "december": "Dezember", + "dedicated_account_manager": "Dedizierter Kontomanager", + "dedicated_account_manager_info": "Unser Account-Management-Team wird dir bei Wünschen und Fragen behilflich sein und dir dabei helfen, HajTeX mittels Werbematerialien, Schulungsressourcen und Webinaren bekannt zu machen.", + "default": "Standard", + "delete": "Löschen", + "delete_account": "Konto löschen", + "delete_account_confirmation_label": "Ich verstehe, dass dadurch alle Projekte in meinem __appName__-Konto mit der E-Mail-Adresse <0>__userDefaultEmail__ gelöscht werden", + "delete_account_warning_message_3": "Du bist dabei, alle Kontodaten permanent zu löschen, inklusive Projekte und Einstellungen. Bitte gib die E-Mail-Adresse und das Passwort deines Kontos in die Felder ein um fortzufahren.", + "delete_acct_no_existing_pw": "Bitte verwende das Formular zum Zurücksetzen des Passworts, um ein Passwort festzulegen, bevor du dein Konto löschst", + "delete_and_leave": "Löschen/Verlassen", + "delete_and_leave_projects": "Projekte löschen und verlassen", + "delete_authentication_token": "Zugangstoken löschen", + "delete_authentication_token_info": "Du bist dabei einen Git Zugangstoken zu löschen. Sobald dieser gelöscht ist, verliert er seine Gültigkeit und er kann nicht mehr für Git Aktionen verwendet werden.", + "delete_figure": "Abbildung löschen", + "delete_projects": "Projekte archivieren", + "delete_tag": "Stichwort löschen", + "delete_token": "Token löschen", + "delete_user": "Nutzer löschen", + "delete_your_account": "Lösche dein Konto", + "deleted_at": "Gelöscht am", + "deleted_by_on": "Gelöscht von __name__ am __date__", + "deleting": "Löschen", + "demonstrating_git_integration": "Demonstration der Git-Integration", + "department": "Abteilung", + "descending": "Absteigend", + "description": "Beschreibung", + "dictionary": "Wörterbuch", + "did_you_know_institution_providing_professional": "Wusstest du, dass __institutionName__ allen bei __institutionName__ <0>kostenlose __appName__ „Professionell“-Funktionen zur Verfügung stellt?", + "disable_stop_on_first_error": "„Anhalten beim ersten Fehler“ deaktivieren", + "disconnected": "Nicht verbunden", + "discount_of": "__amount__ Rabatt", + "dismiss_error_popup": "Erste Fehlermeldung schließen", + "do_not_have_acct_or_do_not_want_to_link": "Wenn du kein __appName__-Konto hast oder nicht mit deinem __institutionName__-Konto verknüpfen möchtest, klicke auf „__clickText__“.", + "do_not_link_accounts": "Konten nicht verknüpfen", + "do_you_want_to_change_your_primary_email_address_to": "Willst Du deine primäre E-Mail-Adresse in __email__ ändern?", + "do_you_want_to_overwrite_them": "Willst Du sie überschreiben?", + "documentation": "Dokumentation", + "does_not_contain_or_significantly_match_your_email": "nicht mit Teilen deiner E-Mail-Adresse übereinstimmt", + "doesnt_match": "Stimmt nicht überein", + "doing_this_allow_log_in_through_institution": "Dadurch kannst du dich über dein institutionelles Portal bei __appName__ anmelden und deine institutionelle E-Mail-Adresse bestätigen.", + "doing_this_allow_log_in_through_institution_2": "Dadurch kannst du dich über dein institutionelles Portal bei <0>__appName__ anmelden und deine institutionelle E-Mail-Adresse bestätigen.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Dadurch wird deine Zugehörigkeit zu <0>__institutionName__ bestätigt und du kannst dich über deine Institution bei <0>__appName__ anmelden.", + "done": "Fertig", + "dont_have_account": "Du hast kein Konto?", + "download": "Herunterladen", + "download_pdf": "PDF herunterladen", + "download_zip_file": ".zip-Datei herunterladen", + "drag_here": "hierher ziehen", + "drag_here_paste_an_image_or": "Datei hierher verschieben, Bild einfügen, oder", + "drop_files_here_to_upload": "Ziehe die Dateien hier hin, um sie hochzuladen", + "dropbox_already_linked_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen HajTeX-Konto verknüpft ist.", + "dropbox_already_linked_error_with_email": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen HajTeX-Konto über die E-Mail-Adresse __otherUsersEmail__ verknüpft ist.", + "dropbox_checking_sync_status": "Dropbox auf Updates überprüfen", + "dropbox_duplicate_names_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da du mehr als ein Projekt mit demselben Namen hast:", + "dropbox_duplicate_project_names": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil du mehr als ein Projekt mit dem Namen <0>„__projectName__“ hast.", + "dropbox_duplicate_project_names_suggestion": "Bitte verwende eindeutige Projektnamen für alle deine <0>aktiven, archivierten und gelöschten Projekte und verknüpfe dann dein Dropbox-Konto erneut.", + "dropbox_email_not_verified": "Wir konnten keine Updates von deinem Dropbox-Konto abrufen. Dropbox hat gemeldet, dass deine E-Mail-Adresse unbestätigt ist. Bitte bestätige die E-Mail-Adresse in deinem Dropbox-Konto, um dieses Problem zu lösen.", + "dropbox_for_link_share_projs": "Auf dieses Projekt wurde über Linkfreigabe zugegriffen und es wird nicht mit deiner Dropbox synchronisiert, es sei denn, du wirst vom Projektinhaber per E-Mail eingeladen.", + "dropbox_integration_info": "Arbeite nahtlos online und offline mit der bidirektionalen Dropbox-Synchronisierung. Änderungen, die du lokal vornimmst, werden automatisch an die Version auf HajTeX gesendet und umgekehrt.", + "dropbox_integration_lowercase": "Dropbox-Integration", + "dropbox_successfully_linked_description": "Vielen Dank, wir haben dein Dropbox-Konto erfolgreich mit __appName__ verknüpft.", + "dropbox_sync": "Dropbox-Synchronisation", + "dropbox_sync_both": "Senden und Empfangen von Updates", + "dropbox_sync_description": "Halte deine __appName__-Projekte synchron mit deinem Dropboxkonto. Änderungen in __appName__ werden automatisch an deine Dropbox gesendet und umgekehrt.", + "dropbox_sync_error": "Entschuldigung, beim Überprüfen unseres Dropbox-Dienstes ist ein Problem aufgetreten. Bitte versuche es in einigen Augenblicken erneut.", + "dropbox_sync_in": "Updates von Dropbox empfangen", + "dropbox_sync_now_rate_limited": "Manuelles Synchronisieren ist auf einmal pro Minute limitiert. Bitte warte einen Moment und versuche es erneut.", + "dropbox_sync_now_running": "Ein manueller Sync wurde für dieses Projekt im Hintergrund gestartet. Bitte gib dem Vorgang ein paar Minuten Zeit um abzuschließen.", + "dropbox_sync_out": "Updates an Dropbox senden", + "dropbox_sync_troubleshoot": "Fehlen Änderungen in deiner Dropbox? Bitte warte ein paar Minuten. Wenn Änderungen noch immer nicht ankommen, kannst Du <0>das Projekt manuell synchronisieren lassen.", + "dropbox_synced": "HajTeX und Dropbox haben alle Updates verarbeitet. Beachte, dass deine lokale Dropbox möglicherweise noch synchronisiert wird", + "dropbox_unlinked_because_access_denied": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da der Dropbox-Dienst deine gespeicherten Anmeldeinformationen abgelehnt hat. Bitte verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit HajTeX zu verwenden.", + "dropbox_unlinked_because_full": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da es voll ist und wir an es keine Updates mehr senden können. Bitte gib Speicherplatz frei und verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit HajTeX zu verwenden.", + "dropbox_unlinked_premium_feature": "<0>Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil Dropbox Sync eine Premiumfunktion ist, die du über eine institutionelle Lizenz hattest.", + "duplicate_file": "Datei duplizieren", + "duplicate_projects": "Dieser Nutzer hat Projekte mit doppeltem Namen", + "each_user_will_have_access_to": "Jeder Nutzer hat Zugriff auf", + "easily_manage_your_project_files_everywhere": "Verwalte deine Projektdateien einfach und überall", + "edit": "Bearbeiten", + "edit_dictionary": "Wörterbuch bearbeiten", + "edit_dictionary_empty": "Dein benutzerdefiniertes Wörterbuch ist leer.", + "edit_dictionary_remove": "Aus Wörterbuch entfernen", + "edit_figure": "Abbildung bearbeiten", + "edit_tag": "Schlagwort bearbeiten", + "editing": "Bearbeitung", + "editing_captions": "Beschriftungen bearbeiten", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor wurde getrennt", + "editor_only_hide_pdf": "Nur Editor <0>(PDF ausblenden)", + "editor_theme": "Editor-Thema", + "educational_discount_applied": "40% Bildungsrabatt angewendet!", + "educational_discount_available_for_groups_of_ten_or_more": "Der Bildungsrabatt ist verfügbar für Gruppen ab 10 Personen", + "educational_discount_disclaimer": "Dieses Abonnement ist nur für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die HajTeX im Unterricht verwenden)", + "educational_discount_for_groups_of_ten_or_more": "HajTeX bietet 40% Bildungsrabatt für Gruppen ab 10 Personen.", + "educational_discount_for_groups_of_x_or_more": "Der Bildungsrabatt ist für Gruppen mit __size__ oder mehr Nutzern verfügbar", + "educational_percent_discount_applied": "__percent__% Bildungsrabatt angewandt!", + "email": "E-Mail", + "email_already_associated_with": "Die E-Mail-Adresse __email1__ ist bereits mit dem Konto __email2__ __appName__ verknüpft.", + "email_already_registered": "Diese E-Mail-Adresse ist bereits registriert.", + "email_already_registered_secondary": "Diese E-Mail-Adresse ist bereits als sekundäre E-Mail-Adresse registriert", + "email_already_registered_sso": "Diese E-Mail-Adresse wurde bereits registriert. Bitte logge dich auf einem anderen Weg in dein Konto ein und verknüpfe dein Konto über deine Kontoeinstellungen mit dem neuen Anbieter.", + "email_does_not_belong_to_university": "Wir erkennen diese Domain nicht als mit deiner Universität verbunden an. Bitte kontaktiere uns, um die Zugehörigkeit hinzuzufügen.", + "email_limit_reached": "Du kannst maximal <0>__emailAddressLimit__ E-Mail-Adressen pro Konto hinzufügen. Um eine andere E-Mail-Adresse hinzuzufügen, lösche bitte zuerst eine bestehende.", + "email_link_expired": "E-Mail-Link ist abgelaufen, bitte fordere einen neuen an.", + "email_or_password_wrong_try_again": "Deine E-Mail-Adresse oder Passwort waren falsch. Bitte versuche es erneut.", + "email_or_password_wrong_try_again_or_reset": "Deine E-Mail-Adresse oder dein Passwort ist falsch. Bitte versuche es erneut oder <0>setze dein Password zurück.", + "email_required": "E-Mail-Adresse erforderlich", + "email_sent": "E-Mail versendet", + "emails": "E-Mails", + "emails_and_affiliations_explanation": "Füge deinem Konto zusätzliche E-Mail-Adressen hinzu, um auf Upgrades deiner Universität oder Institution zuzugreifen, um es Mitarbeitern zu erleichtern, dich zu finden, und um sicherzustellen, dass du dein Konto wiederherstellen kannst.", + "emails_and_affiliations_title": "E-Mails-Adressen und Zugehörigkeiten", + "empty_zip_file": "ZIP enthält keine Datei", + "en": "Englisch", + "enabling": "Wird aktiviert", + "end_of_document": "Ende des Dokuments", + "enter_image_url": "Bild-URL eingeben", + "enter_your_email_address": "Gib deine E-Mail-Adresse ein", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Gib deine E-Mail-Adresse unten ein, und wir senden Dir einen Link zum Zurücksetzen deines Passworts", + "enter_your_new_password": "Gib dein Passwort ein", + "error": "Fehler", + "error_performing_request": "Bei der Ausführung deiner Anfrage ist ein Fehler aufgetreten.", + "es": "Spanisch", + "every": "pro", + "example": "Beispiel", + "example_project": "Beispielprojekt", + "examples": "Beispiele", + "existing_plan_active_until_term_end": "Dein bestehendes Abonnement und dessen Funktionen bleiben bis zum Ende des aktuellen Abrechnungszeitraums aktiv.", + "expand": "Ausklappen", + "expires": "Läuft ab", + "expiry": "Ablaufdatum", + "export_csv": "CSV-Datei exportieren", + "export_project_to_github": "Projekt nach GitHub exportieren", + "faq_change_plans_or_cancel_answer": "Ja, du kannst dies jederzeit über deine Abonnementeinstellungen tun. Du kannst Abonnements ändern, zwischen monatlichen und jährlichen Abrechnungsoptionen wechseln oder kündigen, um ein Downgrade auf die kostenlose Version durchzuführen. Wenn du kündigst, läuft dein Abonnement bis zum Ende des Abrechnungszeitraums. Wenn dein Konto vorübergehend kein Abonnement hat, ändern sich nur die dir zur Verfügung stehenden Funktionen. Deine Projekte sind immer in deinem Konto verfügbar.", + "faq_change_plans_or_cancel_question": "Kann ich Abonnements ändern oder später stornieren?", + "faq_do_collab_need_on_paid_plan_answer": "Nein, sie können in jedem Abonnement enthalten sein, einschließlich der kostenlosen Version. Wenn du einen Premium-Abonnement hast, stehen deinen Mitarbeitern in Projekten, die du erstellt hast, einige Premiumfunktionen zur Verfügung, auch wenn diese Mitarbeiter ein kostenloses Abonnement haben. Weitere Informationen findest du unter <0>Konto und Abonnements und <1>Funktionsweise der Premiumfunktionen.", + "faq_do_collab_need_on_paid_plan_question": "Müssen meine Mitarbeiter auch ein bezahltes Abonnement haben?", + "faq_how_does_a_group_plan_work_answer": "Gruppenabonnements sind eine Möglichkeit, mehr als ein HajTeX-Konto zu aktualisieren. Sie sind einfach zu verwalten, helfen Papierkram zu sparen, und reduzieren die Kosten für den separaten Kauf mehrerer Abonnements. Um mehr zu erfahren, lies über <0>Beitritt zu einem Gruppenabonnement und <1>Verwalten eines Gruppenabonnements. Du kannst Gruppenabonnements oben erwerben oder indem du <2>uns kontaktierst.", + "faq_how_does_a_group_plan_work_question": "Wie funktioniert ein Gruppen-Abonnement? Wie kann ich Personen zum Abonnement hinzufügen?", + "faq_how_does_free_trial_works_answer": "Während deines __len__-tägigen Probe-Abonnements erhältst du vollen Zugriff auf die Funktionen des von dir gewählten __appName__-Abonnements. Es besteht keine Verpflichtung, über die Testperiode hinaus fortzufahren. Deine Karte wird am Ende des __len__-tägigen Testzeitraums belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto.", + "faq_how_free_trial_works_answer_v2": "Du erhältst vollen Zugriff auf das von dir gewählte Premium-Abonnement während deines __len__-tägigen kostenlosen Testzeitraums, und es besteht keine Verpflichtung zur Nutzung über die Testzeit hinaus. Deine Karte wird am Ende deiner Testphase belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto (der Testzeitraum endet erst nach den vollen __len__ Tagen).", + "faq_how_free_trial_works_question": "Wie funktioniert das kostenlose Probe-Abonnement?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In HajTeX erstellt und verwaltet jeder Nutzer sein eigenes HajTeX-Konto. Die meisten Nutzer beginnen mit der kostenlosen Version, können aber ein Upgrade durchführen und die Premiumfunktionen nutzen, indem sie ein Abonnement abschließen, einem Gruppen-Abonnement oder einer <0>standortweiten Abonnement beitreten. Wenn du ein Abonnement kaufst, einem Abonnement beitrittst oder ein Abonnement verlässt, kannst du immer dasselbe HajTeX-Konto behalten.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Um mehr zu erfahren, lies <0>wie Konten und Abonnements in HajTeX zusammenarbeiten.", + "faq_i_have_free_account_want_subscription_how_question": "Ich habe ein kostenloses Konto und möchte einem Abonnement beitreten, wie mache ich das?", + "faq_pay_by_invoice_answer_v2": "Ja, wenn du ein Gruppenabonnement für fünf oder mehr Personen oder eine Standortlizenz erwerben möchtest. Für Einzelabonnements können wir nur Online-Zahlungen per Kredit- oder Debitkarte oder PayPal akzeptieren.", + "faq_pay_by_invoice_question": "Kann ich per Rechnung / Bestellung bezahlen?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nein. Nur das Konto des Abonnenten wird aktualisiert. Mit einem individuellen Standard-Abonnement kannst du 10 Mitarbeiter zu jedem Projekt einladen, das dir gehört.", + "faq_the_individual_standard_plan_10_collab_question": "Das individuelle Standard-Abonnement hat 10 Projektmitarbeiter. Bedeutet das, dass 10 Personen ein Upgrade erhalten?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Während der Arbeit an einem Projekt, das du als Abonnent mit ihnen teilst, können deine Mitarbeiter auf einige Premiumfunktionen wie den vollständigen Dokumentverlauf und die verlängerte Kompilierzeit für dieses bestimmte Projekt zugreifen. Wenn du sie zu einem bestimmten Projekt einlädst, wird für ihre Konten jedoch nicht insgesamt ein Upgrade durchgeführt. Lies <0>welche Funktionen pro Projekt und welche pro Konto gelten.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In HajTeX erstellt jeder Nutzer sein eigenes Konto. Du kannst Projekte erstellen, an denen nur du arbeitest, und du kannst auch andere dazu einladen, Projekte anzusehen oder mit dir an Projekten zu arbeiten, die dir gehören. Nutzer, mit denen du dein Projekt teilst, werden <0>Mitarbeiter genannt. Wir bezeichnen sie auch als Projektmitarbeiter.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Mit anderen Worten, Mitarbeiter sind nur andere HajTeX-Nutzer, mit denen du an einem deiner Projekte arbeitest.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Was ist der Unterschied zwischen Nutzern und Mitarbeitern?", + "fast": "Schnell", + "feature_included": "Funktion enthalten", + "feature_not_included": "Funktion nicht enthalten", + "featured": "Vorgestellt", + "featured_latex_templates": "Ausgewählte LaTeX-Vorlagen", + "features": "Features", + "features_and_benefits": "Features & Vorteile", + "february": "Februar", + "file_action_created": "Erstellt", + "file_action_deleted": "Gelöscht", + "file_action_edited": "Bearbeitet", + "file_action_renamed": "Umbenannt", + "file_already_exists": "Eine Datei oder ein Ordner mit diesem Namen existiert bereits", + "file_already_exists_in_this_location": "An diesem Speicherort ist bereits ein Element mit dem Namen <0>__fileName__ vorhanden. Wenn du diese Datei verschieben möchtest, benenne die in Konflikt stehende Datei um oder entferne sie und versuche es erneut.", + "file_name": "Dateiname", + "file_name_figure_modal": "Dateiname", + "file_name_in_this_project": "Dateiname in diesem Projekt", + "file_name_in_this_project_figure_modal": "Dateiname in diesem Projekt", + "file_outline": "Gliederung", + "file_size": "Dateigröße", + "file_too_large": "Datei zu groß", + "files_cannot_include_invalid_characters": "Der Dateiname ist leer oder enthält ungültige Zeichen", + "files_selected": "Dateien ausgewählt.", + "filters": "Filter", + "find_out_more": "Finde mehr heraus", + "find_out_more_about_institution_login": "Erfahre mehr über den institutionellen Login", + "find_out_more_about_the_file_outline": "Erfahre mehr über die Gliederung", + "find_out_more_nt": "Finde mehr heraus.", + "first_name": "Vorname", + "fold_line": "Zeile einklappen", + "folder_location": "Ordnerplatzierung", + "folders": "Ordner", + "following_paths_conflict": "Die folgenden Dateien und Ordner weisen Konflikte mit dem gleichen Pfad auf", + "font_family": "Schriftfamilie", + "font_size": "Schriftgröße", + "footer_about_us": "Über uns", + "footer_contact_us": "Kontaktiere uns", + "footer_plans_and_pricing": "Abos & Preise", + "for_enterprise": "Für Unternehmen", + "for_groups_or_site_wide": "Für Gruppen oder standortweit", + "for_individuals_and_groups": "Für Einzelpersonen & Gruppen", + "for_publishers": "Für Verlage", + "for_students": "Für Studierende", + "for_students_only": "Nur für Studierende", + "for_teaching": "Für die Lehre", + "for_universities": "Für Universitäten", + "forgot_your_password": "Passwort vergessen", + "four_minutes": "4 Minuten", + "fr": "Französisch", + "free": "Kostenlos", + "free_dropbox_and_history": "Kostenloser Dropbox und Dateiversionsverlauf", + "free_plan_label": "Du nutzt die kostenlose Version", + "free_plan_tooltip": "Klicke hier, um herauszufinden, was Dir die HajTeX-Premiumfunktionen ermöglichen.", + "from_another_project": "Von einem anderen Projekt", + "from_external_url": "Von externer URL", + "from_provider": "Von __provider__", + "full_doc_history": "Vollständiger Versionsverlauf", + "full_doc_history_info_v2": "Du kannst alle Bearbeitungen in deinem Projekt sehen und, wer jede Änderung vorgenommen hat. Füge Labels hinzu, um schnell auf bestimmte Versionen zuzugreifen.", + "full_document_history": "Gesamter Dokumenten-<0>Änderungsverlauf", + "full_width": "Volle Breite", + "gallery": "Gallerie", + "gallery_find_more": "Mehr __itemPlural__ anzeigen", + "gallery_items_tagged": "__itemPlural__ in der Kategorie __title__", + "gallery_page_items": "Galerieelemente", + "gallery_page_summary": "Ein Gallerie mit aktuellen und stilvollen LaTeX-Vorlagen, Beispielen, die beim Lernen von LaTeX unterstützen, und Papers und Präsentationen, veröffentlicht von unseren Nutzern. Suchen oder unten durchblättern.", + "gallery_page_title": "Gallerie – Vorlagen, Beispiele und Artikel verfasst in LaTeX", + "gallery_show_all": "Zeige alle __itemPlural__", + "generate_token": "Token generieren", + "generic_if_problem_continues_contact_us": "Wenn das Problem weiterhin besteht, kontaktiere uns bitte", + "generic_linked_file_compile_error": "Die Ausgabedateien dieses Projekts sind nicht verfügbar, da sie nicht kompiliert werden konnten. Öffne das Projekt, um die Fehlerdetails des Kompiliervorgangs anzuzeigen.", + "generic_something_went_wrong": "Sorry, irgendetwas ist schief gelaufen", + "get_collaborative_benefits": "Profitiere von den kollaborativen Vorteilen von __appName__, auch wenn du lieber offline arbeitest", + "get_discounted_plan": "Erhalte ein heruntergesetztes Abonnement", + "get_in_touch": "Kontaktiere uns", + "get_in_touch_having_problems": "Wende dich an den Support, wenn du Probleme hast", + "get_involved": "Mach mit", + "get_most_subscription_by_checking_features": "Hole das meiste aus deinem __appName__-Abonnement heraus, indem Du dir die <0>__appName__-Funktionen ansiehst.", + "get_the_most_out_headline": "Hole das meiste aus __appName__ mit Funktionen wie:", + "git": "Git", + "git_authentication_token": "Git Anmeldungs-Token", + "git_authentication_token_create_modal_info_1": "Das ist dein Git Anmeldungs-Token. Verwende ihn wenn Du nach einem Passwort gefragt wirst.", + "git_authentication_token_create_modal_info_2": "<0>Du bekommst diesen Anmelde-Token nur einmal angezeigt, bitte kopiere ihn und bewahre ihn sicher auf. Für weitere Anweisungen zur Verwendung von Anmelde-Tokens, besuche unsere <1>Hilfe-Seite.", + "git_bridge_modal_click_generate": "Klicke jetzt auf Token generieren um deinen ersten Anmeldungs-Token zu erstellen. Oder erstelle ihn später in deinen Kontoeinstellungen.", + "git_bridge_modal_enter_authentication_token": "Wenn Du nach einem Passwort gefragt wirst, gib deinen neuen Anmeldungs-Token ein:", + "git_bridge_modal_see_once": "Du siehst diesen Token nur einmal. Um ihn zu löschen oder einen weiteren zu generieren, besuche die Kontoeinstellungen. Für detaillierte Anweisungen und Problembehebung, besuche unsere <0>Hilfe-Seite.", + "git_bridge_modal_use_previous_token": "Wenn Du nach einem Passwort gefragt wirst, kannst Du einen zuvor generierten Git-Anmeldungs-Token verwenden. Oder Du kannst einen Neuen in den Kontoeinstellungen generieren. Für mehr Hilfe, besuche unsere <0>Hilfe-Seite.", + "git_integration": "Git-Integration", + "git_integration_info": "Mit der Git-Integration kannst Du HajTeX-Projekte Git-clonen. Für weitere Anweisungen hierfür, besuche <0>unsere Hilfe-Seite.", + "git_integration_lowercase": "Git-Integration", + "git_integration_lowercase_info": "Du kannst dein HajTeX-Projekt in ein lokales Repository klonen und dein HajTeX-Projekt als entferntes Repository behandeln, in das Änderungen verschoben und aus dem diese abgerufen werden können.", + "github_commit_message_placeholder": "Commit-Meldung für Änderungen die in __appName__ gemacht wurden", + "github_credentials_expired": "Deine GitHub-Autorisierungsschlüssel sind abgelaufen", + "github_empty_repository_error": "Es sieht so aus, als sei dein GitHub-Repository leer oder noch nicht verfügbar. Erstelle eine neue Datei auf GitHub.com und versuche es erneut.", + "github_file_name_error": "Dein Projekt kann nicht importiert werden, da es eine oder mehrere Dateien mit ungültigen Dateinamen enthält:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- und <0>Dropbox-Integrationen", + "github_git_folder_error": "Dieses Projekt enthält auf der obersten Ebene einen .git-Ordner, was darauf hinweist, dass es sich bereits um ein Git-Repository handelt. Der GitHub-Synchronisierungsdienst von HajTeX kann keine Git-Verläufe synchronisieren. Bitte entferne den .git-Ordner and versuche es erneut.", + "github_integration_lowercase": "Git- und GitHub-Integration", + "github_is_premium": "GitHub-Sync ist eine Premiumfunktion", + "github_large_files_error": "Zusammenführung fehlgeschlagen: Dein GitHub-Repository enthält Dateien mit einer Dateigröße von mehr als 50 MB", + "github_merge_failed": "Deine Änderungen in __appName__ und GitHub konnten nicht automatisch zusammengeführt werden. Bitte führe den <0>__sharelatex_branch__ mit dem Standard-Branch in Git zusammen. Klicke unten um fortzufahren, nachdem du manuell zusammengeführt hast.", + "github_no_master_branch_error": "Dieses Repository kann nicht importiert werden, da ihm ein Standard-Branch fehlt. Stell sicher, dass das Projekt einen Standard-Branch hat", + "github_only_integration_lowercase": "GitHub-Integration", + "github_only_integration_lowercase_info": "Verknüpfe deine HajTeX-Projekte direkt mit einem GitHub-Repository, das als Remote-Repository für dein HajTeX-Projekt fungiert. Dies ermöglicht dir die gemeinsame Nutzung mit Mitarbeitern außerhalb von HajTeX und die Integration von HajTeX in komplexere Arbeitsabläufe.", + "github_private_description": "Du wählst, wer dieses Repository sehen und etwas übergeben kann.", + "github_public_description": "Jeder kann dieses Repository sehen. Du entscheidest wer committen darf.", + "github_repository_diverged": "Der Standard-Branch des verknüpften Repositorys wurde forciert gepusht. Das Pullen von GitHub-Änderungen nach einem forciertem Push kann dazu führen, dass HajTeX und GitHub nicht mehr synchron sind. Möglicherweise musst du Änderungen nach dem Pullen erneut Pushen um wieder synchron zu sein", + "github_successfully_linked_description": "Danke, wir haben dein GitHub-Nutzerkonto erfolgreich mit __appName__ verknüpft. Du kannst die __appName__-Projekte jetzt in GitHub exportieren oder Projekte aus deinen GitHub-Repositories importieren.", + "github_symlink_error": "Dein GitHub-Repository enthält Dateien mit symbolischen Links, was derzeit von HajTeX nicht unterstützt wird. Entferne diese und versuche es erneut.", + "github_sync": "GitHub Synchronisierung", + "github_sync_description": "Mit GitHub-Synchronisierung kannst du deine __appName__-Projekte mit GitHub-Repositories verlinken. Erstelle neue Commits aus __appName__ und führe sie mit Commits in GitHub zusammen.", + "github_sync_error": "Entschuldigung, es gab ein Problem mit unserem GitHub-Dienst. Bitte versuche es später erneut.", + "github_sync_repository_not_found_description": "Das verknüpfte Repository wurde entweder entfernt oder du hast keinen Zugriff mehr darauf. Du kannst die Synchronisierung mit einem neuen Repository einrichten, indem du das Projekt klonst und den Menüpunkt „GitHub“ verwendest. Du kannst das Repository auch von diesem Projekt trennen.", + "github_timeout_error": "Zeitüberschreitung beim Synchronisieren deines HajTeX-Projekts mit GitHub. Dies kann daran liegen, dass die Gesamtgröße deines Projekts oder die Anzahl der zu synchronisierenden Dateien/Änderungen zu groß ist.", + "github_too_many_files_error": "Dieses Repository kann nicht importiert werden, da es die maximal zulässige Anzahl von Dateien überschreitet", + "github_validation_check": "Bitte prüfe ob der Repository-Name gültig ist und ob du die Rechte hast ein Git-Repository zu erstellen.", + "github_workflow_authorize": "Autorisiere GitHub-Workflow-Dateien", + "github_workflow_files_delete_github_repo": "Das Repository wurde auf GitHub erstellt, aber die Verknüpfung war nicht erfolgreich. Lösche das GitHub-Repository oder wähle einen neuen Namen.", + "github_workflow_files_error": "Der GitHub-Synchronisierungsdienst __appName__ konnte GitHub-Workflow-Dateien (in .github/workflows/) nicht synchronisieren. Autorisiere __appName__ zum Bearbeiten deiner GitHub-Workflow-Dateien und versuche es erneut.", + "give_feedback": "Feedback geben", + "global": "global", + "go_back_and_link_accts": "Gehe zurück und verknüpfe deine Konten", + "go_next_page": "Gehe zur nächsten Seite", + "go_page": "Gehe zu Seite __page__", + "go_prev_page": "Zurück zur vorigen Seite", + "go_to_account_settings": "Gehe zu den Kontoeinstellungen", + "go_to_code_location_in_pdf": "Gehe ins PDF an der Code-Position", + "go_to_pdf_location_in_code": "Gehe zum Code an der PDF-Position", + "go_to_settings": "Zu den Kontoeinstellungen", + "group_admin": "Gruppenadministrator", + "group_admins_get_access_to": "Gruppenadministratoren erhalten darauf Zugriff", + "group_admins_get_access_to_info": "Spezielle Funktionen, die nur bei Gruppen-Abonnements verfügbar sind.", + "group_full": "Diese Gruppe ist bereits voll", + "group_members_and_collaborators_get_access_to": "Gruppenmitglieder und ihre Projektmitarbeiter erhalten darauf Zugriff", + "group_members_get_access_to": "Gruppenmitglieder erhalten darauf Zugriff", + "group_members_get_access_to_info": "Diese Funktionen stehen nur Gruppenmitgliedern (Abonnenten) zur Verfügung.", + "group_plan_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied eines Gruppen-Abonnements. Klicke hier um herauszufinden, was Dir die HajTeX-Premiumfunktionen ermöglichen.", + "group_plan_with_name_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied des Gruppen-Abonnements __groupName__. Klicke hier um herauszufinden, was Dir die HajTeX Premiumfunktionen ermöglichen.", + "group_plans": "Gruppen-Abonnements", + "group_professional": "Gruppe Professionell", + "group_standard": "Gruppe Standard", + "group_subscription": "Gruppen-Abonnement", + "groups": "Gruppen", + "have_an_extra_backup": "Zusätzliche Sicherung vorhanden", + "have_more_days_to_try": "Hol dir weitere __days__ Tage auf deiner Testversion!", + "headers": "Überschriften", + "help": "Hilfe", + "help_articles_matching": "Hilfeartikel passend zu deinem Thema", + "help_improve_overleaf_fill_out_this_survey": "Wenn du uns helfen möchtest, HajTeX zu verbessern, nimm dir bitte einen Moment Zeit, um <0>diese Umfrage auszufüllen.", + "hide_document_preamble": "Dokumentenpräambel verstecken", + "hide_outline": "Gliederung ausblenden", + "history": "Verlauf", + "history_add_label": "Label hinzufügen", + "history_adding_label": "Label hinzufügen", + "history_are_you_sure_delete_label": "Soll das folgende Label wirklich gelöscht werden?", + "history_compare_from_this_version": "Ab dieser Version vergleichen", + "history_compare_up_to_this_version": "Bis zu dieser Version vergleichen", + "history_delete_label": "Label löschen", + "history_deleting_label": "Label löschen", + "history_download_this_version": "Diese Version herunterladen", + "history_entry_origin_dropbox": "über Dropbox", + "history_entry_origin_git": "über Git", + "history_entry_origin_github": "über GitHub", + "history_entry_origin_upload": "hochgeladen", + "history_label_created_by": "Erstellt von", + "history_label_project_current_state": "Aktueller Status", + "history_label_this_version": "Label dieser Version", + "history_new_label_name": "Neuer Labelname", + "history_view_a11y_description": "Zeige den gesamten Projektverlauf oder nur gelabelte Versionen an.", + "history_view_all": "Gesamte Historie", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Enter drücken, um zu antworten", + "home": "Home", + "hotkey_add_a_comment": "Kommentar hinzufügen", + "hotkey_autocomplete_menu": "Menü automatische Vervollständigung", + "hotkey_beginning_of_document": "Beginn des Dokuments", + "hotkey_bold_text": "Fetter Text", + "hotkey_compile": "Kompilieren", + "hotkey_delete_current_line": "Aktuelle Zeile löschen", + "hotkey_end_of_document": "Ende des Dokuments", + "hotkey_find_and_replace": "Suchen und Ersetzen", + "hotkey_go_to_line": "Gehe zu Zeile", + "hotkey_indent_selection": "Auswahl einrücken", + "hotkey_insert_candidate": "Kandidat einfügen", + "hotkey_italic_text": "Kursiver Text", + "hotkey_redo": "Wiederholen", + "hotkey_search_references": "Referenzen suchen", + "hotkey_select_all": "Alles auswählen", + "hotkey_select_candidate": "Kandidat auswählen", + "hotkey_to_lowercase": "In Kleinbuchstaben", + "hotkey_to_uppercase": "In Großbuchstaben", + "hotkey_toggle_comment": "Kommentar umschalten", + "hotkey_toggle_review_panel": "Überprüfungsbereich umschalten", + "hotkey_toggle_track_changes": "Änderungen nachverfolgen umschalten", + "hotkey_undo": "Rückgängig machen", + "hotkeys": "Hotkeys", + "how_to_create_tables": "So erstellst du Tabellen", + "how_to_insert_images": "So fügst du Bilder ein", + "hundreds_templates_info": "Erstelle schöne Dokumente ausgehend von unserer Galerie mit LaTeX-Vorlagen für Zeitschriften, Konferenzen, Abschlussarbeiten, Berichte, Lebensläufe und vieles mehr.", + "i_want_to_stay": "Ich möchte bleiben", + "if_have_existing_can_link": "Wenn du ein vorhandenes __appName__-Konto mit einer anderen E-Mail-Adresse hast, kannst du es mit deinem __institutionName__-Konto verknüpfen, indem du auf „__clickText__“ klickst.", + "if_owner_can_link": "Wenn du das __appName__ Konto mit __email__ besitzt, kannst du es mit deinem institutionellen Konto __institutionName__ verknüpfen.", + "ignore_and_continue_institution_linking": "Du kannst dies auch ignorieren und weiter zu __appName__ mit deinem __email__-Konto gehen.", + "ignore_validation_errors": "Syntaxüberprüfung deaktivieren", + "ill_take_it": "Ich nehme es!", + "image_file": "Bild-Datei", + "image_url": "Bild-URL", + "image_width": "Bildbreite", + "import_from_github": "Von GitHub importieren", + "import_to_sharelatex": "In __appName__ importieren", + "imported_from_another_project_at_date": "Importiert aus <0>einem anderen Projekt /__sourceEntityPathHTML__, am __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importiert aus <0>__shortenedUrlHTML__ am __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importiert von Mendeley am __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importiert aus der Ausgabe von <0>einem anderen Projekt: __sourceOutputFilePathHTML__, am __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importiert von Zotero at __formattedDate__ __relativeDate__", + "importing": "Importieren", + "importing_and_merging_changes_in_github": "Änderungen werden in GitHub importiert und zusammengeführt.", + "in_good_company": "Du bist in guter Gesellschaft", + "in_order_to_have_a_secure_account_make_sure_your_password": "Um dein Konto abzusichern, stelle sicher, dass dein Passwort", + "in_order_to_match_institutional_metadata_2": "Um deine institutionellen Metadaten abzugleichen, haben wir dein Konto mit <0>__email__ verknüpft.", + "in_order_to_match_institutional_metadata_associated": "Um deine institutionellen Metadaten abzugleichen, wird dein Konto mit der E-Mail-Adresse __email__ verknüpft.", + "include_caption": "Beschriftung anzeigen", + "include_label": "Label anzeigen", + "increased_compile_timeout": "Zeitlimit beim Kompilieren erhöhen", + "indvidual_plans": "Einzelnutzer-Abonnements", + "info": "Info", + "insert_figure": "Abbildung einfügen", + "insert_from_another_project": "Von einem anderen Projekt einfügen", + "insert_from_project_files": "Von Projektdateien einfügen", + "insert_from_url": "Von URL einfügen", + "insert_image": "Bild einfügen", + "institution": "Institution", + "institution_account": "Institutionelles Konto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Diese E-Mail-Adresse ist deinem Konto bereits verknüpft, aber einer anderen Institution zugeordnet.", + "institution_account_tried_to_add_already_linked": "Diese Institution ist über eine andere E-Mail-Adresse bereits mit deinem Konto verknüpft.", + "institution_account_tried_to_add_already_registered": "Die E-Mail-Adresse oder das institutionelle Konto, das du hinzufügen möchtest, ist bei __appName__ bereits registriert.", + "institution_account_tried_to_add_not_affiliated": "Diese E-Mail-Adresse ist bereits mit deinem Konto verknüpft, aber nicht mit dieser Institution verbunden.", + "institution_account_tried_to_confirm_saml": "Diese E-Mail-Adresse kann nicht bestätigt werden. Bitte entferne die E-Mail-Adresse aus deinem Konto und versuche sie erneut hinzuzufügen.", + "institution_acct_successfully_linked_2": "Dein Konto <0>__appName__ wurde erfolgreich mit deinem institutionellen Konto <0>__institutionName__ verknüpft.", + "institution_and_role": "Institution und Rolle", + "institution_email_new_to_app": "Deine __institutionName__-E-Mail-Adresse (__email__) ist neu bei __appName__.", + "institution_templates": "Institutionsvorlagen", + "institutional": "Institutionell", + "institutional_leavers_survey_notification": "Gib ein kurzes Feedback, um 25 % Rabatt auf ein Jahresabonnement zu erhalten!", + "institutional_login_not_supported": "Deine Universität unterstützt noch keinen institutionellen Login, aber du kannst dich trotzdem mit deiner institutionellen E-Mail-Adresse registrieren.", + "institutional_login_unknown": "Leider wissen wir nicht, welche Institution diese E-Mail-Adresse ausgegeben hat. Du kannst unsere Liste der Institutionen durchsuchen, um deine zu finden, oder du kannst eine der anderen Optionen nutzen.", + "integrations": "Integrationen", + "interested_in_cheaper_personal_plan": "Hast Du Interesse, am günstigeren <0>__price__ Persönlich-Abonnement?", + "invalid_email": "Eine E-Mail-Adresse ist ungültig", + "invalid_file_name": "Ungültiger Dateiname", + "invalid_filename": "Hochladen fehlgeschlagen: Überprüfe, ob der Dateiname keine Sonderzeichen, nachfolgende/vorangehende Leerzeichen oder mehr als __nameLimit__ Zeichen enthält", + "invalid_institutional_email": "Der SSO-Dienst deiner Institution hat deine E-Mail-Adresse als __email__ zurückgegeben, welche sich in einer unerwarteten Domäne befindet, die wir nicht als zugehörig erkennen. Möglicherweise kannst du deine primäre E-Mail-Adresse über dein Benutzerprofil ändern.", + "invalid_password": "Falsches Passwort", + "invalid_password_contains_email": "Das Passwort darf nicht Teile deiner E-Mail-Adresse enthalten", + "invalid_password_invalid_character": "Das Passwort enthält ein ungültiges Zeichen", + "invalid_password_not_set": "Passwort wird benötigt", + "invalid_password_too_long": "Maximale Passwortlänge __maxLength__ überschritten", + "invalid_password_too_short": "Passwort zu kurz, mindestens __minLength__", + "invalid_password_too_similar": "Passwort ist zu ähnlich zu Teilen deiner E-Mail-Adresse", + "invalid_request": "Ungültige Anfrage. Bitte korrigiere die Daten und versuche es erneut.", + "invalid_zip_file": "Ungültige ZIP-Datei", + "invite_more_collabs": "Lade weitere Mitarbeiter ein", + "invite_not_accepted": "Einladung noch nicht angenommen", + "invite_not_valid": "Dies ist keine gültige Projekteinladung", + "invite_not_valid_description": "Die Einladung ist wahrscheinlich abgelaufen. Bitte kontaktiere den Projektbesitzer", + "invited_to_group": "<0>__inviterName__ hat dich eingeladen, einem Team auf __appName__ beizutreten", + "invited_to_group_login": "Um diese Einladung anzunehmen, melde dich als __emailAddress__ an.", + "invited_to_group_login_benefits": "Als Mitglied dieser Gruppe hast Du Zugriff auf __appName__-Premiumfunktionen wie zusätzliche Mitarbeiter, ein höheres Zeitlimit beim Kompilieren und die Nachverfolgung von Änderungen in Echtzeit.", + "invited_to_group_register": "Um die Einladung von __inviterName__ anzunehmen, erstelle zunächst ein Konto.", + "invited_to_group_register_benefits": "__appName__ ist ein kollaborativer Online-LaTeX-Editor, mit tausenden an sofort verfügbaren Vorlagen und einer großen Auswahl an Lernmaterial für den Einstieg in LaTeX.", + "invited_to_join": "Du wurdest zu einem Projekt eingeladen", + "ip_address": "IP-Adresse", + "is_email_affiliated": "Ist deine E-Mail-Adresse mit einer Institution verbunden?", + "is_longer_than_n_characters": "mindestens __n__ Zeichen lang ist", + "is_not_used_on_any_other_website": "nicht bereits bei einer anderen Webseite verwendet wird", + "it": "Italienisch", + "ja": "Japanisch", + "january": "Januar", + "join_beta_program": "Nimm am Beta-Programm teil", + "join_project": "Projekt beitreten", + "join_sl_to_view_project": "Registriere dich für __appName__, um dieses Projekt zu sehen", + "join_team_explanation": "Bitte klicke auf die Schaltfläche unten, um dem Team beizutreten und die Vorteile eines hochgestuften __appName__-Kontos zu genießen", + "joined_team": "Du bist dem von __inviterName__ verwalteten Team beigetreten", + "joining": "Trete bei", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Hast du dir schon <0>__kbLink__ angeschaut?", + "keep_current_plan": "Behalte mein aktuelles Abonnement", + "keep_your_account_safe": "Schütze dein Konto", + "keep_your_email_updated": "Halte deine E-Mail-Adresse auf dem aktuellen Stand, damit du den Zugriff auf dein Konto und deine Daten nicht verlierst.", + "keybindings": "Tastenkombinationen", + "knowledge_base": "Wissensdatenbank", + "ko": "Koreanisch", + "labels_help_you_to_easily_reference_your_figures": "Labels helfen Dir dabei, Referenzen zu deinen Abbildungen in deinem Dokument zu platzieren. Um eine Referenz zu einer Abbildung zu erstellen, nutze das Label mit dem Kommando <0>\\ref{...}. Das macht es einfach, Abbildungen zu referenzieren, ohne sich ihre Nummer merken zu müssen. <1>Mehr erfahren", + "labs_program_benefits": "__appName__ sucht stetig nach neuen Möglichkeiten, das Arbeiten seiner Nutzer zu erleichtern. Indem Du dem HajTeX-Labs-Programm beitrittst, kannst Du an Experimenten teilnehmen, die innovative Ideen im Bereich des kollaborativen Schreibens und Veröffentlichens umsetzen.", + "language": "Sprache", + "last_active": "Letzte Aktivität", + "last_active_description": "Letzter Zugriff auf ein Projekt", + "last_modified": "Zuletzt bearbeitet", + "last_name": "Nachname", + "last_resort_trouble_shooting_guide": "Wenn das nicht hilft, folge unserem <0>Troubleshooting-Guide.", + "last_updated": "Letzte Aktualisierung", + "last_updated_date_by_x": "__lastUpdatedDate__ von __person__", + "last_used": "Zuletzt verwendet", + "latex_articles_page_summary": "Papers, Präsentationen, Berichte und mehr, verfasst in LaTeX und veröffentlicht von unseren Nutzern. Suchen oder unten durchblättern.", + "latex_articles_page_title": "Artikel – Papers, Präsentationen, Berichte und mehr", + "latex_examples_page_summary": "Beispiele für mächtigen LaTeX Paketen and Anwendung von Techniken — eine tolle Möglichkeit an Hand von Beispielen LaTeX zu lernen. Suchen oder unten durchblättern.", + "latex_examples_page_title": "Beispiele - Gleichungen, Formatierung, TikZ, Pakete und mehr", + "latex_in_thirty_minutes": "LaTeX in 30 Minuten", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX platziert Abbildungen nach einem speziellen Algorithmus. Du kannst mit sogenannten ‘placement parameters’ die Position deiner Abbildungen beeinflussen. <0>Finde heraus wie", + "latex_templates": "LaTeX-Vorlagen", + "layout": "Layout", + "layout_processing": "Layout wird angewandt", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Wähle eine E-Mail-Adresse für das erste __appName__-Admin-Konto. Dieser sollte bereits im SAML-System vorhanden sein. Du wirst dann aufgefordert, dich mit diesem Konto einzuloggen.", + "learn": "Lernen", + "learn_more": "Erfahre mehr", + "learn_more_about_emails": "<0>Weitere Informationen zur Verwaltung deiner __appName__-E-Mails.", + "learn_more_about_link_sharing": "Erfahre mehr über die Linkfreigabe", + "learn_more_lowercase": "erfahre mehr", + "leave": "Verlassen", + "leave_group": "Gruppe verlassen", + "leave_now": "Jetzt verlassen", + "leave_projects": "Projekte verlassen", + "let_us_know": "Lass uns wissen", + "let_us_know_what_you_think": "Teile uns deine Meinung mit", + "license": "Lizenz", + "license_for_educational_purposes": "Dieses Abonnement ist für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die __appName__ im Unterricht verwenden)", + "limited_offer": "Limitiertes Angebot", + "line_height": "Zeilenhöhe", + "link": "Verknüpfen", + "link_account": "Konto verknüpfen", + "link_accounts": "Konten verknüpfen", + "link_accounts_and_add_email": "Konten verknüpfen und E-Mail-Adresse hinzufügen", + "link_institutional_email_get_started": "Verknüpfe eine institutionelle E-Mail-Adresse mit deinem Konto, um anzufangen.", + "link_sharing": "Linkfreigabe", + "link_sharing_is_off": "Die Linkfreigabe ist deaktiviert, nur eingeladene Nutzer können dieses Projekt anzeigen.", + "link_sharing_is_on": "Linkfreigabe ist aktiviert", + "link_to_github": "Verbinde mit deinem GitHub-Nutzerkonto", + "link_to_github_description": "Du musst __appName__ erlauben, auf dein GitHub-Nutzerkonto zuzugreifen und deine Projekte zu synchronisieren.", + "link_to_mendeley": "Link zu Mendeley", + "link_to_zotero": "Link zu Zotero", + "link_your_accounts": "Verknüpfe deine Konten", + "linked_accounts": "Verbundene Konten", + "linked_accounts_explained": "Du kannst dein __appName__-Konto mit anderen Diensten verknüpfen, um die unten beschriebenen Funktionen zu aktivieren.", + "linked_collabratec_description": "Verwende Collabratec, um deine __appName__-Projekte zu verwalten.", + "linked_file": "Importierte Datei", + "links": "Links", + "loading": "Laden", + "loading_content": "Erstelle Projekt", + "loading_github_repositories": "Deine GitHub-Repositories werden geladen", + "loading_prices": "Preise werden geladen", + "loading_recent_github_commits": "Neueste Commits werden geladen", + "log_entry_description": "Protokolleintrag mit Level: __level__", + "log_entry_maximum_entries": "Maximale Anzahl an Protokolleinträgen erreicht", + "log_entry_maximum_entries_enable_stop_on_first_error": "Versuche, den ersten Fehler zu beheben und neu zu kompilieren. Oft führt der erste Fehler zu vielen Fehlermeldungen im weiteren Verlauf. Du kannst <0>„Beim ersten Fehler anhalten“ aktivieren, um dich auf das Beheben von Fehlern zu fokussieren. Wir empfehlen, Fehler direkt zu beheben; wenn sich viele Fehler ansammeln, wird es schwerer sie zu beheben. <1>Mehr erfahren", + "log_entry_maximum_entries_title": "__total__ Protokollmeldungen insgesamt, zeige die ersten __displayed__", + "log_hint_extra_info": "Erfahre mehr", + "log_in": "Anmelden", + "log_in_and_link": "Anmelden und verknüpfen", + "log_in_and_link_accounts": "Anmelden und Konten verknüpfen", + "log_in_first_to_proceed": "Du musst dich zuerst anmelden, um fortzufahren.", + "log_in_with": "Einloggen mit __provider__", + "log_in_with_email": "Melde dich mit __email__ an", + "log_in_with_existing_institution_email": "Bitte melde dich mit deinem bestehenden __appName__-Konto an, um deine institutionellen Konten __appName__ und __institutionName__ zu verknüpfen.", + "log_out": "Abmelden", + "log_out_from": "Von __email__ abmelden", + "log_viewer_error": "Beim Anzeigen der Kompilierfehler und -protokolle dieses Projekts ist ein Problem aufgetreten.", + "logged_in_with_email": "Du bist derzeit mit der E-Mail-Adresse __email__ bei __appName__ angemeldet.", + "logging_in": "Anmeldung", + "login": "Anmelden", + "login_error": "Login-Fehler", + "login_failed": "Login fehlgeschlagen", + "login_here": "Hier anmelden", + "login_or_password_wrong_try_again": "Deine E-Mail-Adresse oder Passwort ist nicht korrekt. Bitte versuche es erneut", + "login_register_or": "oder", + "login_to_overleaf": "Bei HajTeX anmelden", + "login_with_service": "Mit __service__ anmelden", + "logs_and_output_files": "Logs und Ausgabedateien", + "looking_multiple_licenses": "Suchst du mehrere Lizenzen?", + "looks_like_logged_in_with_email": "Anscheinend bist du bereits mit der E-Mail-Adresse __email__ bei __appName__ angemeldet.", + "looks_like_youre_at": "Anscheinend bist du bei <0>__institutionName__!", + "lost_connection": "Verbindung verloren", + "main_document": "Hauptdokument", + "main_file_not_found": "Unbekanntes Hauptdokument", + "maintenance": "Wartungsarbeiten", + "make_email_primary_description": "Mache diese zur primären E-Mail-Adresse, die zum Anmelden verwendet wird", + "make_primary": "Als primär festlegen", + "make_private": "Privat machen", + "manage_beta_program_membership": "Beta-Programm-Mitgliedschaft verwalten", + "manage_files_from_your_dropbox_folder": "Verwalte Dateien aus deinem Dropbox-Ordner", + "manage_newsletter": "Verwalte deine Newsletter-Einstellungen", + "manage_sessions": "Sessions verwalten", + "manage_subscription": "Abo verwalten", + "managers_cannot_remove_admin": "Administratoren können nicht entfernt werden", + "managers_cannot_remove_self": "Manager können sich nicht selbst entfernen", + "managers_management": "Managerverwaltung", + "march": "März", + "mark_as_resolved": "Als gelöst markieren", + "math_display": "Formeln im abgesetzten Modus", + "math_inline": "Formeln im Zeilenmodus", + "max_collab_per_project": "Maximale Mitarbeiter pro Projekt", + "max_collab_per_project_info": "Anzahl der Personen, die du zur Arbeit an jedem Projekt einladen kannst, sie müssen lediglich ein HajTeX-Konto haben. Es können in jedem Projekt unterschiedliche Personen sein.", + "maximum_files_uploaded_together": "Maximal __max__ Dateien zusammen hochgeladen", + "may": "Mai", + "members_management": "Mitgliederverwaltung", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Beim Laden von Gruppen von Mendeley ist ein Fehler aufgetreten", + "mendeley_groups_relink": "Beim Zugriff auf die Mendeley-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "mendeley_integration": "Mendeley-Integration", + "mendeley_integration_lowercase": "Mendeley-Integration", + "mendeley_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Mendeley und verknüpfe sie direkt mit .bib-Dateien in HajTeX, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "mendeley_is_premium": "Mendeley-Integration ist eine Premiumfunktion", + "mendeley_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "mendeley_reference_loading_error_expired": "Mendeley-Token abgelaufen, bitte verknüpfe dein Konto neu", + "mendeley_reference_loading_error_forbidden": "Referenzen konnten nicht von Mendeley geladen werden. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "mendeley_sync_description": "Mit der Mendeley-Integration kannst du deine Referenzen von Mendeley in deine __appName__-Projekte importieren.", + "menu": "Menü", + "merge": "Mergen", + "merging": "Mergen", + "month": "Monat", + "monthly": "Monatlich", + "more": "Mehr", + "more_info": "Mehr Infos", + "more_than_one_kind_of_snippet_was_requested": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "most_popular": "am beliebtesten", + "must_be_email_address": "Es muss eine E-Mail-Adresse sein!", + "n_items": "__count__ Artikel", + "n_items_plural": "__count__ Artikel", + "name": "Name", + "native": "nativ", + "navigate_log_source": "Navigiere zur Protokollposition im Quellcode: __location__", + "navigation": "Navigation", + "nearly_activated": "Du bist einen Schritt davon entfernt, dein __appName__-Konto zu aktivieren!", + "need_anything_contact_us_at": "Wenn du irgendetwas benötigst, kannst du uns gern direkt kontaktieren über", + "need_more_than_to_licenses_get_in_touch": "Brauchst Du mehr Lizenzen? Bitte kontaktiere uns", + "need_to_add_new_primary_before_remove": "Du musst eine neue primäre E-Mail-Adresse hinzufügen, bevor du diese entfernen kannst.", + "need_to_leave": "Du musst gehen?", + "need_to_upgrade_for_more_collabs": "Du musst dein Konto upgraden um mehr Mitarbeiter hinzuzufügen", + "new_file": "Neue Datei", + "new_folder": "Neuer Ordner", + "new_name": "Neuer Name", + "new_password": "Neues Passwort", + "new_project": "Neues Projekt", + "new_snippet_project": "Ohne Titel", + "new_subscription_will_be_billed_immediately": "Dein neues Abonnement wird umgehend mit deiner aktuellen Zahlungsmethode abgerechnet.", + "newsletter": "Newsletter", + "newsletter_info_note": "Bitte beachte: Du erhältst weiterhin wichtige E-Mails wie Projekteinladungen und Sicherheitsbenachrichtigungen (Passwortzurücksetzung, Kontoverknüpfung usw.).", + "newsletter_info_subscribed": "Du hast den __appName__-Newsletter <0>abonniert. Wenn du diese E-Mails lieber nicht erhalten möchtest, kannst du dich jederzeit abmelden.", + "newsletter_info_summary": "Alle paar Monate versenden wir einen Newsletter mit einer Zusammenfassung der neu verfügbaren Funktionen.", + "newsletter_info_title": "Newsletter-Einstellungen", + "newsletter_info_unsubscribed": "Du bist derzeit vom __appName__-Newsletter <0>abgemeldet.", + "next_payment_of_x_collectected_on_y": "Die nächste Zahlung von <0>__paymentAmmount__ wird am <1>__collectionDate__ abgebucht.", + "nl": "Niederländisch", + "no": "Norwegisch", + "no_articles_matching_your_tags": "Keine Einträge passen zu deinen Filtern", + "no_comments": "Keine Kommentare", + "no_existing_password": "Bitte verwende das Formular zum Zurücksetzen des Passworts, um dein Passwort festzulegen", + "no_featured_templates": "Keine Vorlagen ausgewählt", + "no_members": "Keine Mitglieder", + "no_messages": "Keine Nachrichten", + "no_new_commits_in_github": "Es gibt bei GitHub keine neuen Commits seit dem letzten Merge", + "no_other_projects_found": "Keine anderen Projekte gefunden, bitte erstelle zuerst ein anderes Projekt", + "no_other_sessions": "Keine andere Session aktiv", + "no_pdf_error_explanation": "Dieser Kompiliervorgang hat kein PDF erzeugt. Das kann passieren, wenn:", + "no_pdf_error_reason_no_content": "Die Umgebung document enthält keinen Inhalt. Wenn sie leer ist, füge Inhalt hinzu und kompiliere erneut.", + "no_pdf_error_reason_output_pdf_already_exists": "Dieses Projekt enthält eine Datei output.pdf. Wenn diese Datei existiert, benenne sie um und kompiliere erneut.", + "no_pdf_error_reason_unrecoverable_error": "Es liegt ein nicht behebbarer LaTeX-Fehler vor. Wenn LaTeX-Fehler unten oder in den Raw-Logs angezeigt werden, versuche diese zu beheben und erneut zu kompilieren.", + "no_pdf_error_title": "Kein PDF", + "no_planned_maintenance": "Aktuell sind keine Wartungsarbeiten geplant", + "no_preview_available": "Entschuldigung, es ist keine Vorschau verfügbar.", + "no_projects": "Keine Projekte", + "no_resolved_threads": "Keine gelösten Threads", + "no_search_results": "Keine Suchergebnisse", + "no_selection_select_file": "Derzeit ist keine Datei ausgewählt. Bitte wähle eine Datei aus dem Dateibaum aus.", + "no_symbols_found": "Keine Symbole gefunden", + "no_thanks_cancel_now": "Nein, danke - Ich möchte nach wie vor jetzt stornieren", + "no_update_email": "Nein, E-Mail-Adresse aktualisieren", + "normal": "Normal", + "normally_x_price_per_month": "Normalerweise __price__ pro Monat", + "normally_x_price_per_year": "Normalerweise __price__ pro Jahr", + "not_found_error_from_the_supplied_url": "Der Link zum Öffnen dieses Inhalts auf HajTeX verwies auf eine Datei, die nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "not_now": "Nicht jetzt", + "not_registered": "Nicht registriert", + "notification_features_upgraded_by_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit HajTeX und du hast jetzt Zugriff auf alle „Professionell“-Funktionen von HajTeX.", + "notification_personal_subscription_not_required_due_to_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit HajTeX und du hast jetzt über deine Zugehörigkeit Zugriff auf die „Professionell“-Funktionen von HajTeX. Du kannst dein persönliches Abonnement kündigen, o", + "notification_project_invite": "__userName__ möchte, dass du __projectName__ beitrittst. Trete Projekt bei", + "notification_project_invite_accepted_message": "Du bist __projectName__ beigetreten", + "notification_project_invite_message": "__userName__ möchte, dass du __projectName__ beitrittst", + "november": "November", + "number_collab": "Anzahl der Mitarbeiter", + "number_of_users": "Nutzeranzahl", + "number_of_users_info": "Die Anzahl der Nutzer, die ihr HajTeX-Konto upgraden können, wenn du dieses Abonnement abschließt.", + "number_of_users_with_colon": "Anzahl der Nutzer:", + "oauth_orcid_description": "Deine Identität sicherstellen durch Verknüpfung deiner ORCID-iD mit deinem __appName__-Konto. Einreichungen bei teilnehmenden Verlagen enthalten automatisch deine ORCID-iD für verbesserten Workflow und bessere Sichtbarkeit.", + "october": "Oktober", + "off": "Aus", + "official": "Offiziell", + "ok": "OK", + "on": "An", + "one_collaborator": "Nur ein Mitarbeiter", + "one_free_collab": "Ein kostenloser Mitarbeiter", + "one_user": "1 Nutzer", + "online_latex_editor": "Online-LaTeX-Editor", + "open_a_file_on_the_left": "Öffne eine Datei auf der linken Seite", + "open_as_template": "Als Vorlage öffnen", + "open_project": "Öffne Projekt", + "opted_out_linking": "Du hast dich gegen die Verknüpfung deines __email__ __appName__-Kontos mit deinem institutionellen Konto entschieden.", + "optional": "Freiwillig", + "or": "oder", + "organization": "Organisation", + "other_actions": "Weitere Aktionen", + "other_logs_and_files": "Andere Protokolle und Dateien", + "other_output_files": "Lade andere Ausgabedateien herunter", + "other_sessions": "Andere Sitzungen", + "our_values": "Unsere Werte", + "over": "über", + "overall_theme": "Gesamtthema", + "overleaf_history_system": "HajTeX-Historie", + "overview": "Überblick", + "owner": "Besitzer", + "page_current": "Seite __page__, Aktuelle Seite", + "page_not_found": "Seite nicht gefunden", + "pagination_navigation": "Seitenumbruch-Navigation", + "password": "Passwort", + "password_change_old_password_wrong": "Dein altes Passwort ist falsch", + "password_change_passwords_do_not_match": "Passwörter stimmen nicht überein", + "password_change_successful": "Passwort geändert", + "password_managed_externally": "Passworteinstellungen werden extern verwaltet", + "password_reset": "Passwort zurücksetzen", + "password_reset_email_sent": "Dir wurde eine E-Mail gesendet, um dein Passwort zurückzusetzen.", + "password_reset_token_expired": "Dein Passwortzurücksetz-Token ist nicht mehr gültig. Bitte fordere eine neue Passwortzurücksetz-Mail an und folge dem darin enthaltenen Link.", + "password_too_long_please_reset": "Maximale Passwortlänge überschritten. Bitte setze dein Passwort zurück.", + "payment_method_accepted": "__paymentMethod__ akzeptiert", + "payment_provider_unreachable_error": "Entschuldigung, bei der Kommunikation mit unserem Zahlungsanbieter ist ein Fehler aufgetreten. Versuche es in einigen Augenblicken erneut. Wenn du Erweiterungen zum Blockieren von Werbung oder Skripten in deinem Browser verwendest, musst du diese möglicherweise kurzzeitig deaktivieren.", + "payment_summary": "Zahlungsübersicht", + "pdf_compile_in_progress_error": "Kompiliervorgang läuft bereits in einem anderen Fenster", + "pdf_compile_rate_limit_hit": "Limit der Kompiliervorgänge überschritten", + "pdf_compile_try_again": "Bitte warte auf deinen anderen Kompiliervorgang, bevor du es erneut versuchst.", + "pdf_in_separate_tab": "PDF in separatem Tab", + "pdf_only_hide_editor": "Nur PDF <0>(Editor ausblenden)", + "pdf_preview_error": "Beim Anzeigen der Kompilierergebnisse für dieses Projekt ist ein Problem aufgetreten.", + "pdf_rendering_error": "PDF-Wiedergabe-Fehler", + "pdf_viewer": "PDF-Betrachter", + "pdf_viewer_error": "Beim Anzeigen dieses Projekt-PDFs ist ein Problem aufgetreten.", + "pending": "Ausstehend", + "pending_additional_licenses": "Dein Abonnement wird geändert, um <0>__pendingAdditionalLicenses__ zusätzliche Lizenz(en) für insgesamt <1>__pendingTotalLicenses__ Lizenzen einzuschließen.", + "per_month": "pro Monat", + "per_user": "pro Nutzer", + "per_user_year": "pro Nutzer / Jahr", + "per_year": "pro Jahr", + "personal": "Persönlich", + "personalized_onboarding": "Personalisiertes Onboarding", + "personalized_onboarding_info": "Wir helfen Dir alles einzurichten und dann stehen wir deinen Mitarbeitern bei Fragen zur Plattform, Vorlagen oder LaTeX zur Verfügung!", + "pl": "Polnisch", + "plan": "Abonnement", + "planned_maintenance": "Geplante Wartungsarbeiten", + "plans_amper_pricing": "Produkte und Preise", + "plans_and_pricing": "Produkte und Preise", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Bitte den Projekteigentümer um ein Upgrade, um Änderungen verfolgen zu können", + "please_change_primary_to_remove": "Bitte ändere deine primäre E-Mail-Adresse, um sie zu entfernen", + "please_check_your_inbox": "Bitte prüfe dein E-Mail-Postfach", + "please_check_your_inbox_to_confirm": "Bitte überprüfe deinen E-Mail-Postfach, um deine Zugehörigkeit zu <0>__institutionName__ zu bestätigen.", + "please_compile_pdf_before_download": "Bitte kompiliere dein Projekt, bevor du das PDF herunterlädst", + "please_compile_pdf_before_word_count": "Bitte kompiliere dein Projekt, bevor du eine Wortzählung durchführst.", + "please_confirm_email": "Bitte bestätige deine E-Mail-Adresse __emailAddress__, indem du auf den Link in der Bestätigungs-E-Mail klickst", + "please_confirm_your_email_before_making_it_default": "Bitte bestätige deine E-Mail-Adresse, bevor du sie zur primären machst.", + "please_enter_email": "Bitte gib deine E-Mail-Adresse ein", + "please_link_before_making_primary": "Bitte bestätige deine E-Mail-Adresse, indem du sie mit deinem institutionellen Konto verknüpfst, bevor du sie zur primären E-Mail-Adresse machst.", + "please_reconfirm_institutional_email": "Bitte nimm dir einen Moment Zeit, um deine institutionelle E-Mail-Adresse zu bestätigen oder <0>sie aus deinem Konto zu entfernen.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Bitte bestätige deine Zugehörigkeit, bevor du diese zur primären machst.", + "please_refresh": "Bitte aktualisiere die Seite, um fortzufahren", + "please_select_a_file": "Bitte wähle eine Datei aus", + "please_select_a_project": "Bitte wähle ein Projekt aus", + "please_select_an_output_file": "Bitte wähle eine Ausgabedatei aus", + "please_set_a_password": "Bitte ein Passwort einrichten", + "please_set_main_file": "Bitte wähle im Projektmenü die Hauptdatei für dieses Projekt aus.", + "popular_tags": "Beliebte Stichwörter", + "portal_add_affiliation_to_join": "Es sieht so aus, als wärst du bereits bei __appName__ angemeldet! Wenn du eine __portalTitle__-E-Mail-Adresse hast, kannst du diese jetzt hinzufügen.", + "position": "Beruf", + "postal_code": "PLZ", + "powerful_latex_editor_and_realtime_collaboration": "Leistungsstarker LaTeX-Editor und Zusammenarbeit in Echtzeit", + "powerful_latex_editor_and_realtime_collaboration_info": "Rechtschreibprüfung, intelligente Autovervollständigung, Syntaxhervorhebung, Dutzende von Farbthemen, Vim- und Emacs-Anbindung, Hilfe bei LaTeX-Warnungen und -Fehlermeldungen und mehr. Jeder hat immer die neueste Version, und du kannst die Textpositionen deiner Mitarbeiter und Änderungen in Echtzeit sehen.", + "premium_feature": "Premiumfunktion", + "premium_features": "Premiumfunktionen", + "presentation": "Präsentation", + "press_and_awards": "Presse & Auszeichnungen", + "price": "Preis", + "primary_email_check_question": "Ist <0>__email__ immer noch deine E-Mail-Adresse?", + "priority_support": "Vorrangiger Kundensupport", + "priority_support_info": "Unser hilfsbereites Support-Team priorisiert und eskaliert deine Support-Anfragen bei Bedarf.", + "privacy": "Datenschutz", + "privacy_and_terms": "Datenschutz und Nutzungsbedingungen", + "privacy_policy": "Datenschutz", + "private": "Privat", + "problem_changing_email_address": "Es gab ein Problem beim Ändern deiner E-Mail-Adresse. Bitte versuche es in ein paar Minuten erneut. Wenn das Problem bestehen bleibt, kontaktiere uns bitte.", + "problem_talking_to_publishing_service": "Es gibt ein Problem mit unserem Veröffentlichungsservice. Bitte versuche es in einigen Minuten noch einmal", + "problem_with_subscription_contact_us": "Es gibt ein Problem mit deinem Abonnement. Bitte kontaktiere uns für mehr Informationen.", + "processing": "in Bearbeitung", + "processing_your_request": "Bitte warte, während wir deine Anfrage bearbeiten.", + "professional": "Professionell", + "project_approaching_file_limit": "Dieses Projekt nähert sich dem Dateilimit", + "project_flagged_too_many_compiles": "Dieses Projekt wurde zu häufig zum Kompilieren vermerkt. Das Limit wird in Kürze aufgehoben.", + "project_has_too_many_files": "Dieses Projekt hat das Limit von 2000 Dateien erreicht", + "project_last_published_at": "Dein Projekt wurde zuletzt veröffentlicht am", + "project_layout_sharing_submission": "Projektlayout, Freigabe und Einreichung", + "project_name": "Projektname", + "project_not_linked_to_github": "Dieses Projekt ist nicht mit einem GitHub Repository verlinkt. Du kannst ein neues Repository in GitHub erstellen:", + "project_owner_plus_10": "Projektinhaber + 10", + "project_ownership_transfer_confirmation_1": "Möchtest du <0>__user__ wirklich zum Eigentümer von <1>__project__ machen?", + "project_ownership_transfer_confirmation_2": "Diese Aktion kann nicht rückgängig gemacht werden. Der neue Eigentümer wird benachrichtigt und kann die Zugriffseinstellungen für das Projekt ändern (einschließlich des Entfernens deines eigenen Zugriffs).", + "project_synced_with_git_repo_at": "Das Projekt ist mit dem GitHub Repository verlinkt", + "project_synchronisation": "Projektsynchronisation", + "project_too_large": "Projekt ist zu gross", + "project_too_large_please_reduce": "Dieses Projekt hat zu viel editierbaren Text, bitte versuche ihn zu reduzieren. Die größten Dateien sind:", + "project_too_much_editable_text": "Dieses Projekt hat zu viel bearbeitbaren Text, bitte versuche ihn zu reduzieren.", + "project_url": "Betroffene Projekt-URL", + "projects": "Projekte", + "pt": "Portugiesisch", + "public": "Öffentlich", + "publish": "Veröffentlichen", + "publish_as_template": "Als Vorlage veröffentlichen", + "publishing": "Veröffentlichen", + "pull_github_changes_into_sharelatex": "GitHub-Änderungen nach __appName__ ziehen", + "purchase_now": "Jetzt kaufen", + "push_sharelatex_changes_to_github": "__appName__-Änderungen an GitHub senden", + "quoted_text_in": "Zitierter Text in", + "raw_logs": "Raw Logs", + "raw_logs_description": "Raw Logs vom LaTeX-Compiler", + "read_only": "Nur Lesen", + "realtime_track_changes": "Änderungen in Echtzeit nachverfolgen", + "realtime_track_changes_info_v2": "Aktiviere die Nachverfolgung von Änderungen, um zu sehen, wer die Änderungen vorgenommen hat, nimm die Änderungen anderer Mitarbeiter an oder lehne sie ab und schreibe Kommentare.", + "reauthorize_github_account": "Autorisiere dein GitHub-Konto erneut", + "recaptcha_conditions": "Diese Website ist durch reCAPTCHA geschützt und es gelten die <1>Datenschutzerklärung und die <2>Nutzungsbedingungen von Google.", + "recent": "Kürzlich", + "recent_commits_in_github": "Neueste Commits auf GitHub", + "recompile": "Aktualisieren", + "recompile_from_scratch": "Von Grund auf neu kompilieren", + "recompile_pdf": "PDF erneut kompilieren", + "reconfirm": "erneut bestätigen", + "reconfirm_explained": "Wir müssen dein Konto erneut bestätigen. Bitte fordere über das unten stehende Formular einen Link zum Zurücksetzen des Passworts an, um dein Konto erneut zu bestätigen. Wenn du Probleme bei der erneuten Bestätigung deines Kontos hast, kontaktiere uns bitte über", + "reconnect": "Versuche es erneut", + "reconnecting": "Neu verbinden", + "reconnecting_in_x_secs": "Erneut verbinden in __seconds__ Sekunden", + "recurly_email_update_needed": "Deine Rechnungs-E-Mail-Adresse lautet derzeit <0>__recurlyEmail__. Bei Bedarf kannst du deine Rechnungs-E-Mail-Adresse auf <1>__userEmail__ aktualisieren.", + "recurly_email_updated": "Deine Rechnungs-E-Mail-Adresse wurde erfolgreich aktualisiert", + "redirect_to_editor": "Weiterleitung zum Editor", + "redirecting": "Weiterleitung", + "reduce_costs_group_licenses": "Mit unseren ermäßigten Gruppenlizenzen kannst du den Papierkram reduzieren und die Kosten senken.", + "reference_error_relink_hint": "Wenn dieser Fehler weiterhin auftritt, versuche dein Konto hier neu zu verlinken:", + "reference_managers": "Referenzmanager", + "reference_search": "Erweiterte Referenzsuche", + "reference_search_info_v2": "Es ist einfach, deine Referenzen zu finden - du kannst nach Autor, Titel, Jahr oder Zeitschrift suchen. Du kannst auch nach Zitationsschlüssel suchen.", + "reference_sync": "Referenzmanager synchronisieren", + "refresh": "Aktualisieren", + "refresh_page_after_linking_dropbox": "Bitte aktualisiere diese Seite, nachdem du dein Konto mit Dropbox verknüpft hast.", + "refresh_page_after_starting_free_trial": "Bitte aktualisiere diese Seite, nachdem du deinen kostenlosen Test gestartet hast.", + "refreshing": "Aktualisiere", + "regards": "Viele Grüße", + "register": "Registrieren", + "register_error": "Registrierungsfehler", + "register_intercept_sso": "Du kannst dein __authProviderName__-Konto nach der Anmeldung auf der Seite Kontoeinstellungen verknüpfen.", + "register_to_edit_template": "Bitte registriere dich um die __templateName__ Vorlage zu bearbeiten", + "register_with_another_email": "Registriere Dich bei __appName__ mit einer anderen E-Mail-Adresse.", + "registered": "Registriert", + "registering": "Registrieren", + "registration_error": "Registrierungs-Fehler", + "reject": "Verwerfen", + "reject_all": "Alle verwerfen", + "related_tags": "Ähnliche Stichwörter", + "relink_your_account": "Verknüpfe dein Konto neu", + "reload_editor": "Editor neu laden", + "remote_service_error": "Der Externe-Service hat einen Fehler erzeugt", + "remove": "Entfernen", + "remove_collaborator": "Mitarbeiter entfernen", + "remove_from_group": "Aus der Gruppe entfernen", + "remove_manager": "Manager entfernen", + "removed": "gelöscht", + "removing": "Entfernen", + "rename": "Umbenennen", + "rename_project": "Projekt umbenennen", + "renaming": "Umbenennung", + "reopen": "Erneut öffnen", + "reply": "Antworten", + "repository_name": "Repository Name", + "republish": "Erneut veröffentlichen", + "request_new_password_reset_email": "Fordere eine neue E-Mail zum Zurücksetzen des Passworts an", + "request_password_reset": "Forder die Zurücksetzung deines Passworts an", + "request_password_reset_to_reconfirm": "Fordere zur Bestätigung eine E-Mail zum Zurücksetzen des Passworts an", + "request_reconfirmation_email": "Fordere eine erneute Bestätigungs-E-Mail an", + "request_sent_thank_you": "Anforderung gesendet, danke.", + "requesting_password_reset": "Zurücksetzen des Passworts anfordern", + "required": "Erforderlich", + "resend": "Sende erneut", + "resend_confirmation_email": "Bestätigungs-E-Mail erneut senden", + "resending_confirmation_email": "Bestätigungs-E-Mail wird erneut gesendet", + "reset_password": "Passwort zurücksetzen", + "reset_your_password": "Dein Passwort zurücksetzen", + "resolve": "Lösen", + "resolved_comments": "Gelöste Kommentare", + "restore": "Wiederherstellen", + "restoring": "Wiederherstellen", + "restricted": "Geschützt", + "restricted_no_permission": "Entschuldigung, du hast nicht die Berechtigung, diese Seite anzuzeigen.", + "return_to_login_page": "Zurück zur Login-Seite", + "revert_pending_plan_change": "Abonnement-Änderung rückgängig machen", + "review": "Überprüfen", + "review_your_peers_work": "Überprüfe die Arbeit deiner Kollegen", + "revoke": "Zurückziehen", + "revoke_invite": "Einladung zurückziehen", + "ro": "Rumänisch", + "role": "Funktion", + "ru": "Russisch", + "saml": "SAML", + "saml_create_admin_instructions": "Wähle eine E-Mail-Adresse für den ersten __appName__-Admin-Konto. Dieses sollte bereits im SAML-System vorhanden sein. Du wirst dann aufgefordert, dich mit diesem Konto einzuloggen.", + "save_20_percent_by_paying_annually": "Spare 20 % bei jährlicher Zahlung", + "save_30_percent_or_more": "spare 30% oder mehr", + "save_30_percent_or_more_uppercase": "Spare 30% oder mehr", + "save_or_cancel-cancel": "Abbrechen", + "save_or_cancel-or": "oder", + "save_or_cancel-save": "Speichern", + "saving": "Speichern", + "saving_20_percent": "Du sparst 20 %!", + "saving_notification_with_seconds": "__docname__ speichern... (__seconds__ Sekunden ungespeicherter Änderungen)", + "search": "Suchen", + "search_bib_files": "Nach Autor, Titel, Jahr suchen", + "search_command_find": "Finden", + "search_command_replace": "Ersetzen", + "search_match_case": "Übereinstimmung", + "search_next": "Nächste", + "search_previous": "Vorherige", + "search_projects": "Projekte suchen", + "search_references": "Suche die .bib-Dateien in diesem Projekt", + "search_regexp": "Regulärer Ausdruck", + "search_replace": "Ersetzen", + "search_replace_all": "Alles Ersetzen", + "secondary_email_password_reset": "Diese E-Mail-Adresse ist als sekundäre E-Mail-Adresse hinterlegt. Bitte gib die primäre E-Mail-Adresse für dein Konto an.", + "security": "Sicherheit", + "see_changes_in_your_documents_live": "Verfolge Änderungen in deinen Dokumenten, live", + "select_a_file": "Datei auswählen", + "select_a_project": "Projekt auswählen", + "select_all_projects": "Alle Projekte auswählen", + "select_an_output_file": "Ausgabedatei auswählen", + "select_from_output_files": "aus Ausgabedateien auswählen", + "select_from_source_files": "aus Quelldateien auswählen", + "select_github_repository": "Wähle ein GitHub-Repository, das du in __appName__ importieren möchtest.", + "select_project": "__project__ auswählen", + "selected": "Ausgewählt", + "selected_by_overleaf_staff": "Ausgewählt von HajTeX-Mitarbeitern", + "selected_by_overleaf_staff_description": "Diese Vorlagen wurden von HajTeX-Mitarbeitern für ihre hohe Qualität und positiven Rückmeldungen von HajTeX-Nutzern in den letzten Jahren ausgewählt", + "send": "Absenden", + "send_first_message": "Sende deine erste Nachricht", + "send_test_email": "Test-Mail senden", + "sending": "Wird gesendet", + "september": "September", + "server_error": "Serverfehler", + "services": "Services", + "session_created_at": "Session erzeugt um", + "session_error": "Sitzungsfehler. Bitte überprüfe, ob Cookies aktiviert sind. Wenn das Problem weiterhin besteht, versuche, deinen Cache und deine Cookies zu löschen.", + "session_expired_redirecting_to_login": "Sitzung abgelaufen. Du wirst in __seconds__ Sekunden auf die Anmeldungsseite umgeleitet", + "sessions": "Sessions", + "set_new_password": "Neues Passwort eingeben", + "set_password": "Passwort setzen", + "settings": "Einstellungen", + "share": "Teilen", + "share_project": "Projekt teilen", + "share_with_your_collabs": "Mit deinen Mitarbeitern teilen", + "shared_with_you": "Mit dir geteilt", + "sharelatex_beta_program": "__appName__ Beta-Programm", + "show_all": "Alles anzeigen", + "show_hotkeys": "Zeige Hotkeys", + "show_in_code": "Im Code anzeigen", + "show_in_pdf": "Im PDF anzeigen", + "show_less": "Weniger anzeigen", + "show_outline": "Dateigliederung anzeigen", + "show_your_support": "Zeige deine Unterstützung", + "showing_1_result": "1 Ergebnis wird angezeigt", + "showing_1_result_of_total": "Zeige 1 Ergebnis von __total__", + "showing_x_results": "Es werden __x__ Ergebnisse angezeigt", + "showing_x_results_of_total": "Es werden __x__ Ergebnisse von __total__ angezeigt", + "site_description": "Ein einfach bedienbarer Online-LaTeX-Editor. Keine Installation notwendig, Zusammenarbeit in Echtzeit, Versionskontrolle, Hunderte von LaTeX-Vorlagen und mehr", + "sitewide_option_available": "Standortweite Option verfügbar", + "sitewide_option_available_info": "Nutzern werden automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu HajTeX hinzufügen (domänenbasierte Registrierung oder SSO).", + "skip_to_content": "Zum Inhalt springen", + "something_went_wrong_canceling_your_subscription": "Beim Kündigen deines Abonnements ist etwas schief gelaufen. Bitte wende dich an den Support.", + "something_went_wrong_loading_pdf_viewer": "Beim Laden des PDF-Betrachters ist ein Fehler aufgetreten. Dies kann durch Probleme wie <0>vorübergehende Netzwerkprobleme oder einen <0>veralteten Webbrowser verursacht werden. Bitte befolge die <1>Schritte zur Fehlerbehebung bei Zugriffs-, Lade- und Anzeigeproblemen. Wenn das Problem weiterhin besteht, <2>teile uns dies bitte mit.", + "something_went_wrong_rendering_pdf": "Etwas ist bei der Wiedergabe dieses PDFs schiefgelaufen.", + "something_went_wrong_server": "Es ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "somthing_went_wrong_compiling": "Entschuldigung, es ist etwas schief gegangen und dein Projekt konnte nicht kompiliert werden. Versuche es in ein paar Minuten erneut.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Entschuldigung, beim Versuch, diesen Inhalt auf HajTeX zu öffnen, ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.", + "source": "Quelldateien", + "spell_check": "Rechtschreibprüfung", + "sso_account_already_linked": "Das Konto ist bereits mit einem anderen __appName__-Nutzer verknüpft", + "sso_integration": "SSO-Integration", + "sso_integration_info": "HajTeX bietet eine standardmäßige SAML-basierte Single-Sign-On-Integration.", + "sso_link_error": "Fehler beim Verknüpfen des Kontos", + "sso_not_linked": "Du hast dein Konto nicht mit __provider__ verknüpft. Bitte melde dich auf einem anderen Weg mit deinem Konto an und verknüpfe dein __provider__-Konto über deine Kontoeinstellungen.", + "standard": "Standard", + "start_by_adding_your_email": "Beginne mit dem Hinzufügen deiner E-Mail-Adresse.", + "start_free_trial": "Starte einen kostenlosen Test!", + "state": "Status", + "status_checks": "Statusüberprüfungen", + "still_have_questions": "Hast du noch Fragen?", + "stop_compile": "Kompiliervorgang stoppen", + "stop_on_first_error": "Beim ersten Fehler anhalten", + "stop_on_first_error_enabled_description": "<0>„Anhalten beim ersten Fehler“ ist aktiviert. Durch Deaktivieren kann der Compiler möglicherweise eine PDF-Datei erstellen (Das Projekt wird aber weiterhin Fehler enthalten).", + "stop_on_first_error_enabled_title": "Kein PDF: Anhalten beim ersten Fehler aktiviert", + "stop_on_validation_error": "Überprüfe die Syntax vor dem Kompilieren", + "store_your_work": "Speichere deine Arbeit auf deiner eigenen Infrastruktur", + "student": "Student", + "student_and_faculty_support_make_difference": "Die Unterstützung von Studenten und Mitarbeitern kann den Unterschied machen! Gerne leiten wir deine Nachfrage an unsere Kontakte an deiner Universität weiter, wenn wir ein solches Abonnement mit deiner Universität besprechen.", + "student_disclaimer": "Der Bildungsrabatt gilt für alle Studierenden an weiterführenden und höheren Bildungseinrichtungen (Schulen und Universitäten). Wir können dich kontaktieren, damit du den Anspruch auf den Rabatt bestätigst.", + "student_plans": "Studenten-Abonnements", + "subject": "Betreff", + "subject_to_additional_vat": "Die Preise können je nach Land der zusätzlichen Mehrwertsteuer unterliegen.", + "submit": "Absenden", + "submit_title": "Einreichen", + "subscribe": "Abonnieren", + "subscription": "Abonnement", + "subscription_admin_panel": "Verwaltungsoberfläche", + "subscription_admins_cannot_be_deleted": "Du kannst dein Konto nicht löschen, während du ein Abonnement besitzt. Kündige dein Abonnement und versuche es erneut. Wenn diese Meldung weiterhin erscheint, kontaktiere uns bitte.", + "subscription_canceled": "Abonnement gekündigt", + "subscription_canceled_and_terminate_on_x": "Dein Abonnement wurde gekündigt und wird am <0>__terminateDate__ enden. Keine weiteren Zahlungen werden angenommen.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Dein Abonnement bleibt bis zum Ende deines Abrechnungszeitraums, <0>__terminationDate__, aktiv.", + "suggestion": "Vorschlag", + "sure_you_want_to_cancel_plan_change": "Möchtest du deine geplante Abonnement-Änderung wirklich rückgängig machen? Du behältst das Abonnement <0>__planName__.", + "sure_you_want_to_change_plan": "Bist du sicher, dass du zum Abonnement <0>__planName__ wechseln möchtest?", + "sure_you_want_to_delete": "Möchtest du die folgenden Dateien wirklich löschen?", + "sure_you_want_to_leave_group": "Bist du sicher, dass du diese Gruppe verlassen möchtest?", + "sv": "Schwedisch", + "symbol_palette": "Symbolpalette", + "symbol_palette_info": "Eine schnelle und bequeme Möglichkeit, mathematische Symbole in dein Dokument einzufügen.", + "sync": "Sync", + "sync_dropbox_github": "Mit Dropbox und GitHub synchronisieren", + "sync_project_to_github_explanation": "Alle Änderungen die du in __appName__ vornimmst werden in GitHub festgelegt und mit allen Updates in GitHub zusammengeführt.", + "sync_to_dropbox": "Synchronisierung mit Dropbox", + "sync_to_github": "Mit GitHub synchronisieren", + "synctex_failed": "Die entsprechende Quelldatei konnte nicht gefunden werden", + "syntax_validation": "Syntaxüberprüfung", + "tab_connecting": "Verbindung mit dem Editor with hergestellt", + "tab_no_longer_connected": "Dieser Browser Tab ist nicht mehr mit dem Editor verbunden", + "tags": "Stichworte", + "take_me_home": "Bring mich nach Hause!", + "take_short_survey": "Nimm an einer kurzen Umfrage teil", + "tc_everyone": "Jeder", + "tc_guests": "Gäste", + "tc_switch_everyone_tip": "Umschalten der Nachverfolgung von Änderungen für alle", + "tc_switch_guests_tip": "Umschalten der Nachverfolgung von Änderungen für alle Linkfreigabe-Gäste", + "tc_switch_user_tip": "Umschalten der Nachverfolgung von Änderungen für diesen Nutzer", + "template": "Vorlage", + "template_approved_by_publisher": "Diese Vorlage wurde vom Verlag genehmigt", + "template_description": "Vorlagenbeschreibung", + "template_gallery": "Vorlagengalerie", + "template_not_found_description": "Diese Methode zum Erstellen von Projekten aus Vorlagen wurde entfernt. Besuche unsere Vorlagengalerie, um weitere Vorlagen zu finden.", + "template_title_taken_from_project_title": "Der Vorlagentitel wird automatisch aus dem Projekttitel übernommen", + "template_top_pick_by_overleaf": "Diese Vorlage wurde von HajTeX-Mitarbeitern aufgrund ihrer hohen Qualität ausgewählt", + "templates": "Vorlagen", + "templates_admin_source_project": "Administration: Quellprojekt", + "templates_page_summary": "Starte deine Projekte mit hochwertigen LaTeX-Vorlagen für Zeitschriften, Lebensläufe, Zusammenfassungen, Papers, Präsentationen, Aufgaben, Briefe, Projektberichte und mehr. Suchen oder unten durchblättern.", + "templates_page_title": "Vorlagen - Zeitschriften, Lebensläufe, Präsentationen, Berichte und mehr", + "terminated": "Kompiliervorgang abgebrochen", + "terms": "Nutzungsbedingungen", + "tex_live_version": "TeX Live Version", + "thank_you": "Vielen Dank", + "thank_you_email_confirmed": "Vielen Dank, deine E-Mail-Adresse ist jetzt bestätigt", + "thank_you_exclamation": "Danke!", + "thank_you_for_being_part_of_our_beta_program": "Vielen Dank, dass du Teil unseres Beta-Programms bist, bei dem du <0>frühzeitig auf neue Funktionen zugreifen und uns dabei helfen kannst, deine Bedürfnisse besser zu verstehen", + "thanks": "Danke", + "thanks_for_subscribing": "Danke fürs Abonnieren!", + "thanks_for_subscribing_you_help_sl": "Danke, dass du den __planName__-Plan abonniert hast. Die Unterstützung von Menschen wie dir macht es __appName__ möglich, zu wachsen und besser zu werden.", + "thanks_settings_updated": "Danke, deine Einstellungen wurden aktualisiert.", + "the_requested_conversion_job_was_not_found": "Der Link zum Öffnen dieses Inhalts auf HajTeX gab einen Konvertierungsauftrag an, der nicht gefunden werden konnte. Es ist möglich, dass der Job abgelaufen ist und erneut ausgeführt werden muss. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_requested_publisher_was_not_found": "Der Link zum Öffnen dieses Inhalts auf HajTeX gab einen Verlag an, der nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_required_parameters_were_not_supplied": "Dem Link zum Öffnen dieses Inhalts auf HajTeX fehlten einige erforderliche Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_supplied_parameters_were_invalid": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "the_supplied_uri_is_invalid": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einen ungültigen URI. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "theme": "Design", + "then_x_price_per_month": "Danach __price__ pro Monat", + "then_x_price_per_year": "Danach __price__ pro Jahr", + "there_was_an_error_opening_your_content": "Beim Erstellen deines Projekts ist ein Fehler aufgetreten", + "thesis": "Doktorarbeit", + "this_action_cannot_be_undone": "Diese Aktion kann nicht rückgängig gemacht werden.", + "this_field_is_required": "Dieses Feld wird benötigt", + "this_grants_access_to_features_2": "Dadurch erhältst du Zugriff auf die <0>__featureType__ Funktionen von <0>__appName__.", + "this_is_your_template": "Dies ist eine Vorlage aus deinem Projekt.", + "this_project_is_public": "Dieses Projekt ist öffentlich und kann von jedem bearbeitet werden, der die URL dazu hat.", + "this_project_is_public_read_only": "Dieses Projekt ist öffentlich und kann von jedem, der die URL kennt, angesehen, aber nicht bearbeitet werden.", + "this_project_will_appear_in_your_dropbox_folder_at": "Diese Projekt wird in deiner Dropbox in folgendem Ordner erscheinen:", + "thousands_templates": "Tausende Vorlagen", + "thousands_templates_info": "Erstelle schöne Dokumente ausgehend von unserer Galerie mit LaTeX-Vorlagen für Zeitschriften, Konferenzen, Abschlussarbeiten, Berichte, Lebensläufe und vieles mehr.", + "three_free_collab": "Drei kostenlose Mitarbeiter", + "timedout": "Zeit abgelaufen", + "title": "Titel", + "to_add_email_accounts_need_to_be_linked_2": "Um diese E-Mail-Adresse hinzuzufügen, müssen deine Konten <0>__appName__ und <0>__institutionName__ verknüpft werden.", + "to_add_more_collaborators": "Um weitere Mitbearbeiter hinzuzufügen oder die Linkfreigabe zu aktivieren, wende dich bitte an den Projektinhaber", + "to_change_access_permissions": "Um Zugriffsberechtigungen zu ändern, wende dich bitte an den Projektinhaber", + "to_many_login_requests_2_mins": "In dieses Konto wurde sich zu häufig eingeloggt. Bitte warte 2 Minuten, bevor du es noch einmal versuchst.", + "to_modify_your_subscription_go_to": "Um dein Abo zu ändern, gehe zu", + "toggle_compile_options_menu": "Menü der Kompilieroptionen umschalten", + "token_access_failure": "Zugriff kann nicht gewährt werden", + "too_many_attempts": "Zu viele Versuche. Bitte warte eine Weile und versuche es erneut.", + "too_many_files_uploaded_throttled_short_period": "Zu viele Dateien hochgeladen, deine Uploads wurden für kurze Zeit gedrosselt.", + "too_many_requests": "Es gingen in kurzer Zeit zu viele Anfragen ein. Bitte warte einen Moment und versuche es erneut.", + "too_many_search_results": "Es gibt mehr als 100 Ergebnisse. Bitte verfeinere deine Suche.", + "too_recently_compiled": "Der Kompiliervorgang wurde übersprungen, da dieses Projekt gerade erst kompiliert wurde.", + "tooltip_hide_filetree": "Klicken, um den Dateibaum auszublenden", + "tooltip_hide_pdf": "Klicken, um das PDF auszublenden", + "tooltip_show_filetree": "Klicken, um den Dateibaum anzuzeigen", + "tooltip_show_pdf": "Klicken, um das PDF anzuzeigen", + "total": "Insgesamt", + "total_per_month": "Insgesamt pro Monat", + "total_per_year": "Insgesamt pro Jahr", + "total_per_year_for_x_users": "insgesamt pro Jahr für __licenseSize__ Nutzer", + "total_words": "Gesamtwortanzahl", + "tr": "Türkisch", + "track_any_change_in_real_time": "Verfolge jegliche Änderung, in Echtzeit", + "track_changes": "Änderungen verfolgen", + "track_changes_is_off": "Änderungen verfolgen ist aus", + "track_changes_is_on": "Änderungen verfolgen ist an", + "tracked_change_added": "Hinzugefügt", + "tracked_change_deleted": "Gelöscht", + "trash": "Löschen", + "trash_projects": "Lösche Projekte", + "trashed_projects": "Gelöschte Projekte", + "trashing_projects_wont_affect_collaborators": "Das Löschen von Projekten wirkt sich nicht auf deine Mitarbeiter aus.", + "tried_to_log_in_with_email": "Du hast versucht, dich mit __email__ anzumelden.", + "tried_to_register_with_email": "Du hast versucht, dich mit __email__ zu registrieren, das bereits bei __appName__ als institutionelles Konto registriert ist.", + "try_again": "Bitte versuche es erneut", + "try_for_free": "Kostenlos testen", + "try_it_for_free": "Probiere es kostenlos aus", + "try_now": "Jetzt versuchen", + "try_premium_for_free": "Teste Premium kostenlos", + "try_recompile_project_or_troubleshoot": "Versuche bitte, das Projekt von Grund auf neu zu kompilieren. Wenn das Problem weiterhin besteht, findest Du im <0>Troubleshooting Guide weitere Hilfe", + "try_to_compile_despite_errors": "Versuche, trotz Fehler zu kompilieren", + "turn_off_link_sharing": "Deaktiviere die Linkfreigabe", + "turn_on_link_sharing": "Aktiviere die Linkfreigabe", + "tutorials": "Tutorials", + "two_users": "2 Nutzer", + "uk": "Ukrainisch", + "unable_to_extract_the_supplied_zip_file": "Das Öffnen dieses Inhalts auf HajTeX ist fehlgeschlagen, da die ZIP-Datei nicht extrahiert werden konnte. Bitte stelle sicher, dass es sich um eine gültige ZIP-Datei handelt. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "unarchive": "Wiederherstellen", + "uncategorized": "Nicht kategorisiert", + "unconfirmed": "Unbestätigt", + "unfold_line": "Zeile ausklappen", + "university": "Universität", + "unlimited": "Unbegrenzt", + "unlimited_bold": "<0>Unbegrenzt", + "unlimited_collaborators_in_each_project": "Unbegrenzte Zahl von Mitarbeitern in jedem Projekt", + "unlimited_collabs": "Unbeschränkt viele Mitarbeiter", + "unlimited_collabs_rt": "<0>Unbeschränkt viele Mitarbeiter", + "unlimited_projects": "Unbegrenzte Projekte", + "unlimited_projects_info": "Deine Projekte sind standardmäßig privat. Das bedeutet, dass nur du sie sehen kannst und nur du anderen Personen den Zugriff darauf erlauben kannst.", + "unlink": "Link löschen", + "unlink_dropbox_folder": "Verknüpfung zum Dropbox-Konto aufheben", + "unlink_dropbox_warning": "Alle Projekte, die du mit Dropbox synchronisiert hast, werden getrennt und nicht mehr mit Dropbox synchronisiert. Möchtest du die Verknüpfung deines Dropbox-Kontos wirklich aufheben?", + "unlink_github_repository": "Verknüpfung zum GitHub-Repository aufheben", + "unlink_github_warning": "Bei allen Projekten, die mit GitHub synchronisiert sind, wird die Verlinkung entfernt und nicht länger mit GitHub synchronisiert. Bist du sicher, dass du die Verbindung zu deinem GitHub-Nutzerkonto lösen möchtest?", + "unlink_provider_account_title": "__provider__-Konto verknüpfen", + "unlink_provider_account_warning": "Warnung: Wenn du die Verknüpfung deines Kontos mit __provider__ aufhebst, kannst du dich nicht mehr mit __provider__ anmelden.", + "unlink_reference": "Link zum Referenzengeber entfernen", + "unlink_warning_reference": "Achtung: Wenn du dein Konto von diesem Anbieter entkoppelst, wirst du nicht in der Lage sein, Referenzen in deine Projekte zu importieren.", + "unlinking": "Verknüpfung wird aufgehoben", + "unpublish": "Veröffentlichung aufheben", + "unpublishing": "Veröffentlichung aufheben", + "unsubscribe": "Abbestellen", + "unsubscribed": "Abbestellt", + "unsubscribing": "Abbestellen läuft", + "untrash": "Wiederherstellen", + "up_to": "Bis zu", + "update": "Aktualisieren", + "update_account_info": "Kontoinformationen aktualisieren", + "update_dropbox_settings": "Dropbox-Einstellungen aktualisieren", + "update_your_billing_details": "Deine Zahlungsinformationen aktualisieren", + "updating_site": "Aktualisiere die Seite", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade jetzt, zahle nach sieben Tagen", + "upgrade_now": "Jetzt aktualisieren", + "upgrade_to_get_feature": "Upgrade nötig, um __feature__ zu bekommen, sowie zusätzlich:", + "upgrade_to_track_changes": "Upgrade, um Änderungen verfolgen zu können", + "upload": "Hochladen", + "upload_failed": "Hochladen fehlgeschlagen", + "upload_project": "Projekt hochladen", + "upload_zipped_project": "Projekt als ZIP hochladen", + "url_to_fetch_the_file_from": "URL, von der die Datei abgerufen werden soll", + "usage_metrics": "Nutzungsmetriken", + "usage_metrics_info": "Metriken, die zeigen, wie viele Nutzer auf die Lizenz zugreifen, wie viele Projekte erstellt und bearbeitet werden und wie viel in HajTeX zusammengearbeitet wird.", + "use_a_different_password": "Bitte verwende ein anderes Passwort", + "use_your_own_machine": "Verwende deine eigene Maschine mit deinem eigenen Setup", + "user_already_added": "Nutzer bereits hinzugefügt", + "user_deletion_error": "Entschuldigung, beim Löschen deines Kontos ist etwas schief gelaufen. Bitte versuche es in einer Minute erneut.", + "user_deletion_password_reset_tip": "Wenn du dich nicht mehr an dein Passwort erinnern kannst oder wenn du Single-Sign-On mit einem anderen Anbieter verwendest, um dich anzumelden (z.B. ORCID oder Google), <0>setze dein Passwort zurück und versuche es erneut.", + "user_management": "Nutzerverwaltung", + "user_management_info": "Gruppen-Abonnement-Administratoren haben Zugriff auf ein Admin-Panel, wo die Nutzer einfach hinzugefügt oder entfernt werden können. Bei standortweiten Abonnements werden die Nutzer automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu HajTeX hinzufügen (domänenbasierte Registrierung oder SSO).", + "user_not_found": "Nutzer wurde nicht gefunden", + "user_wants_you_to_see_project": "__username__ möchte, dass Du __projectname__ beitreten", + "validation_issue_entry_description": "Ein Validierungsproblem, das die Kompilierung dieses Projekts verhindert hat", + "vat": "MwSt.", + "vat_number": "Umsatzsteuernummer", + "view_all": "Alle anzeigen", + "view_in_template_gallery": "In der Vorlagengalerie anzeigen", + "view_logs": "Protokoll anzeigen", + "view_pdf": "PDF anzeigen", + "view_source": "Quelltext anzeigen", + "view_your_invoices": "Sieh dir deine Rechnungen an", + "want_change_to_apply_before_plan_end": "Wenn du möchtest, dass diese Änderung vor dem Ende deines aktuellen Abrechnungszeitraums angewendet wird, kontaktiere uns bitte.", + "we_cant_find_any_sections_or_subsections_in_this_file": "In dieser Datei können keine Abschnitte oder Unterabschnitte gefunden werden", + "we_logged_you_in": "Wir haben dich eingeloggt.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Wir können dich auch von Zeit zu Zeit per E-Mail kontaktieren für Umfragen oder Nachfragen, ob du an anderen Nutzerbefragungen teilnehmen möchtest", + "webinars": "Webinare", + "website_status": "Website-Status", + "wed_love_you_to_stay": "Wir würden uns freuen, wenn du bleibst", + "welcome_to_sl": "Willkommen bei __appName__", + "wide": "Weit", + "will_need_to_log_out_from_and_in_with": "Du musst dich von deinem __email1__-Konto abmelden und dich dann mit __email2__ anmelden.", + "with_premium_subscription_you_also_get": "Mit einem HajTeX-Premium-Abonnement erhältst du auch Zugriff auf", + "word_count": "Wortanzahl", + "work_offline": "Offline arbeiten", + "work_with_non_overleaf_users": "Arbeite mit Nicht-HajTeX-Nutzern", + "would_you_like_to_see_a_university_subscription": "Interessiert an einem Standortweiten __appName__ Abonnement für deine Universität?", + "x_collaborators_per_project": "__collaboratorsCount__ Mitarbeiter pro Projekt", + "x_price_for_first_month": "<0>__price__ für deinen ersten Monat", + "x_price_for_first_year": "<0>__price__ für dein erstes Jahr", + "x_price_for_y_months": "<0>__price__ für deine ersten __discountMonths__ Monate", + "x_price_per_year": "<0>__price__ pro Jahr", + "year": "Jahr", + "yes_that_is_correct": "Ja, das ist richtig", + "you_and_collaborators_get_access_to": "Du und deine Projektmitarbeiter erhalten darauf Zugriff", + "you_and_collaborators_get_access_to_info": "Diese Funktionen stehen dir und deinen Projektmitarbeitern (anderen HajTeX-Nutzern, die du zu deinen Projekten einlädst) zur Verfügung.", + "you_can_now_log_in_sso": "Du kannst dich jetzt über deine Institution anmelden und möglicherweise <0>kostenlose __appName__ „Professionell“-Funktionen erhalten!", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kannst dich jederzeit auf dieser Seite für das Beta-Programm an- und abmelden", + "you_get_access_to": "Du erhältst darauf Zugriff", + "you_get_access_to_info": "Diese Funktionen stehen nur dir (dem Abonnenten) zur Verfügung.", + "you_have_added_x_of_group_size_y": "Du hast <0>__addedUsersSize__ von <1>__groupSize__ verfügbaren Mitgliedern hinzugefügt", + "you_plus_1": "Du + 1", + "you_plus_10": "Du + 10", + "you_plus_6": "Du + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Du kannst uns jederzeit kontaktieren, um uns dein Feedback mitzuteilen", + "your_affiliation_is_confirmed": "Deine Zugehörigkeit zu <0>__institutionName__ ist bestätigt.", + "your_browser_does_not_support_this_feature": "Entschuldigung, dein Browser unterstützt diese Funktion nicht. Bitte aktualisiere deinen Browser auf die neueste Version.", + "your_new_plan": "Dein neues Abonnement", + "your_plan": "Dein Abo", + "your_plan_is_changing_at_term_end": "Dein Abonnement ändert sich am Ende des aktuellen Abrechnungszeitraums in <0>__pendingPlanName__.", + "your_projects": "Deine Projekte", + "your_sessions": "Deine Sessions", + "your_subscription": "Dein Abonnement", + "your_subscription_has_expired": "Dein Abonnement ist abgelaufen.", + "zh-CN": "Chinesisch", + "zip_contents_too_large": "ZIP-Inhalt zu groß", + "zotero": "Zotero", + "zotero_groups_loading_error": "Beim Laden von Gruppen von Zotero ist ein Fehler aufgetreten", + "zotero_groups_relink": "Beim Zugriff auf die Zotero-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-Integration", + "zotero_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Zotero und verknüpfe sie direkt mit .bib-Dateien in HajTeX, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "zotero_is_premium": "Zotero-Integration ist eine Premiumfunktion", + "zotero_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "zotero_reference_loading_error_expired": "Zotero-Token abgelaufen, bitte verknüpfe dein Konto neu", + "zotero_reference_loading_error_forbidden": "Referenzen konnten nicht von Zotero geladen werden. Bitte verlinke dein Zotero-Konto erneut und versuche es nochmal", + "zotero_sync_description": "Mit der Zotero-Integration kannst du deine Referenzen von Zotero in deine __appName__ Projekte importieren." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/en.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/en.json new file mode 100644 index 0000000..d5173ac --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/en.json @@ -0,0 +1,2550 @@ +{ + "12x_basic": "12x Basic", + "1_2_width": "½ width", + "1_4_width": "¼ width", + "3_4_width": "¾ width", + "About": "About", + "Account": "Account", + "Account Settings": "Account Settings", + "Documentation": "Documentation", + "Projects": "Projects", + "Security": "Security", + "Subscription": "Subscription", + "Terms": "Terms", + "Universities": "Universities", + "a_custom_size_has_been_used_in_the_latex_code": "A custom size has been used in the LaTeX code.", + "a_fatal_compile_error_that_completely_blocks_compilation": "A <0>fatal compile error that completely blocks the compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "A file with that name already exists. That file will be overwritten.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "A more comprehensive list of keyboard shortcuts can be found in <0>this __appName__ project template", + "about": "About", + "about_to_archive_projects": "You are about to archive the following projects:", + "about_to_delete_cert": "You are about to delete the following certificate:", + "about_to_delete_projects": "You are about to delete the following projects:", + "about_to_delete_tag": "You are about to delete the following tag (any projects in them will not be deleted):", + "about_to_delete_the_following_project": "You are about to delete the following project", + "about_to_delete_the_following_projects": "You are about to delete the following projects", + "about_to_delete_user_preamble": "You’re about to delete __userName__ (__userEmail__). Doing this will mean:", + "about_to_enable_managed_users": "By enabling the Managed Users feature, all existing members of your group subscription will be invited to become managed. This will give you admin rights over their account. You will also have the option to invite new members to join the subscription and become managed.", + "about_to_leave_project": "You are about to leave this project.", + "about_to_leave_projects": "You are about to leave the following projects:", + "about_to_trash_projects": "You are about to trash the following projects:", + "abstract": "Abstract", + "accept": "Accept", + "accept_all": "Accept all", + "accept_and_continue": "Accept and continue", + "accept_change": "Accept change", + "accept_change_error_description": "There was an error accepting a track change. Please try again in a few moments.", + "accept_change_error_title": "Accept Change Error", + "accept_invitation": "Accept invitation", + "accept_or_reject_each_changes_individually": "Accept or reject each change individually", + "accept_terms_and_conditions": "Accept terms and conditions", + "accepted_invite": "Accepted invite", + "accepting_invite_as": "You are accepting this invite as", + "access_denied": "Access Denied", + "access_levels_changed": "Access levels changed", + "account": "Account", + "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", + "account_has_past_due_invoice_change_plan_warning": "Your account currently has a past due invoice. You will not be able to change your plan until this is resolved.", + "account_linking": "Account Linking", + "account_managed_by_group_administrator": "Your account is managed by your group administrator (__admin__)", + "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", + "account_settings": "Account Settings", + "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", + "acct_linked_to_institution_acct_2": "You can <0>log in to HajTeX through your <0>__institutionName__ institutional login.", + "actions": "Actions", + "activate": "Activate", + "activate_account": "Activate your account", + "activating": "Activating", + "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", + "active": "Active", + "add": "Add", + "add_a_recovery_email_address": "Add a recovery email address", + "add_additional_certificate": "Add another certificate", + "add_affiliation": "Add Affiliation", + "add_another_address_line": "Add another address line", + "add_another_email": "Add another email", + "add_another_token": "Add another token", + "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", + "add_comment": "Add comment", + "add_comment_error_message": "There was an error adding your comment. Please try again in a few moments.", + "add_comment_error_title": "Add Comment Error", + "add_company_details": "Add Company Details", + "add_email": "Add Email", + "add_email_address": "Add email address", + "add_email_to_claim_features": "Add an institutional email address to claim your features.", + "add_files": "Add Files", + "add_more_collaborators": "Add more collaborators", + "add_more_editors": "Add more editors", + "add_more_managers": "Add more managers", + "add_more_members": "Add more members", + "add_new_email": "Add new email", + "add_or_remove_project_from_tag": "Add or remove project from tag __tagName__", + "add_people": "Add people", + "add_role_and_department": "Add role and department", + "add_to_dictionary": "Add to Dictionary", + "add_to_tag": "Add to tag", + "add_your_comment_here": "Add your comment here", + "add_your_first_group_member_now": "Add your first group members now", + "added": "added", + "added_by_on": "Added by __name__ on __date__", + "adding": "Adding", + "adding_a_bibliography": "Adding a bibliography?", + "additional_certificate": "Additional certificate", + "additional_licenses": "Your subscription includes <0>__additionalLicenses__ additional license(s) for a total of <1>__totalLicenses__ licenses.", + "address": "Address", + "address_line_1": "Address", + "address_second_line_optional": "Address second line (optional)", + "adjust_column_width": "Adjust column width", + "admin": "admin", + "admin_panel": "Admin panel", + "admin_user_created_message": "Created admin user, Log in here to continue", + "administration_and_security": "Administration and security", + "advanced_reference_search": "Advanced <0>reference search", + "advanced_reference_search_mode": "Advanced reference search", + "advanced_search": "Advanced Search", + "aggregate_changed": "Changed", + "aggregate_to": "to", + "agree_with_the_terms": "I agree with the HajTeX terms", + "ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "Do you have any thoughts or suggestions for improving this feature?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Tell us what was wrong so we can improve.", + "ai_feedback_the_answer_was_too_long": "The answer was too long", + "ai_feedback_the_answer_wasnt_detailed_enough": "The answer wasn’t detailed enough", + "ai_feedback_the_suggestion_didnt_fix_the_error": "The suggestion didn’t fix the error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "The suggestion wasn’t the best fix available", + "ai_feedback_there_was_no_code_fix_suggested": "There was no code fix suggested", + "alignment": "Alignment", + "all": "All", + "all_borders": "All borders", + "all_our_group_plans_offer_educational_discount": "All of our <0>group plans offer an <1>educational discount for students and faculty", + "all_premium_features": "All premium features", + "all_premium_features_including": "All premium features, including:", + "all_prices_displayed_are_in_currency": "All prices displayed are in __recommendedCurrency__.", + "all_projects": "All Projects", + "all_projects_will_be_transferred_immediately": "All projects will be transferred to the new owner immediately.", + "all_templates": "All Templates", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "All the pros of our standard plan, plus unlimited collaborators per project.", + "all_these_experiments_are_available_exclusively": "All these experiments are available exclusively to members of the Labs program. If you sign up, you can choose which experiments you want to try.", + "allows_to_search_by_author_title_etc_possible_to_pull_results_directly_from_your_reference_manager_if_connected": "Allows to search by author, title, etc. Possible to pull results directly from your reference manager (if connected).", + "already_have_an_account": "Already have an account?", + "already_have_sl_account": "Already have an __appName__ account?", + "already_subscribed_try_refreshing_the_page": "Already subscribed? Try refreshing the page.", + "also": "Also", + "also_available_as_on_premises": "Also available as On-Premises", + "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", + "an_email_has_already_been_sent_to": "An email has already been sent to <0>__email__. Please wait and try again later.", + "an_error_occured_while_restoring_project": "An error occured while restoring the project", + "an_error_occurred_when_verifying_the_coupon_code": "An error occurred when verifying the coupon code", + "and": "and", + "annual": "Annual", + "anonymous": "Anonymous", + "anyone_with_link_can_edit": "Anyone with this link can edit this project", + "anyone_with_link_can_view": "Anyone with this link can view this project", + "app_on_x": "__appName__ on __social__", + "apply_educational_discount": "Apply educational discount", + "apply_educational_discount_info": "HajTeX offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using HajTeX for teaching.", + "apply_educational_discount_info_new": "40% discount for groups of 10 or more using __appName__ for teaching", + "apply_suggestion": "Apply suggestion", + "april": "April", + "archive": "Archive", + "archive_projects": "Archive Projects", + "archived": "Archived", + "archived_projects": "Archived Projects", + "archiving_projects_wont_affect_collaborators": "Archiving projects won’t affect your collaborators.", + "are_you_affiliated_with_an_institution": "Are you affiliated with an institution?", + "are_you_getting_an_undefined_control_sequence_error": "Are you getting an Undefined Control Sequence error? If you are, make sure you’ve loaded the graphicx package—<0>\\usepackage{graphicx}—in the preamble (first section of code) in your document. <1>Learn more", + "are_you_still_at": "Are you still at <0>__institutionName__?", + "are_you_sure": "Are you sure?", + "article": "Article", + "articles": "Articles", + "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution.", + "as_email": "as __email__", + "ascending": "Ascending", + "ask_proj_owner_to_unlink_from_current_github": "Ask the owner of the project (<0>__projectOwnerEmail__) to unlink the project from the current GitHub repository and create a connection to a different repository.", + "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project’s full history.", + "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", + "ask_repo_owner_to_reconnect": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "ask_repo_owner_to_renew_overleaf_subscription": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "august": "August", + "author": "Author", + "auto_close_brackets": "Auto-close Brackets", + "auto_compile": "Auto Compile", + "auto_complete": "Auto-complete", + "autocompile_disabled": "Autocompile disabled", + "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", + "autocomplete": "Autocomplete", + "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", + "automatic_user_registration": "automatic user registration", + "automatic_user_registration_uppercase": "Automatic user registration", + "back": "Back", + "back_to_account_settings": "Back to account settings", + "back_to_all_posts": "Back to all posts", + "back_to_configuration": "Back to configuration", + "back_to_editor": "Back to editor", + "back_to_log_in": "Back to log in", + "back_to_subscription": "Back to Subscription", + "back_to_your_projects": "Back to your projects", + "basic": "Basic", + "basic_compile_timeout_on_fast_servers": "Basic compile timeout on fast servers", + "become_an_advisor": "Become an __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Before you use the AI error assistant", + "best_choices_companies_universities_non_profits": "Best choice for companies, universities and non-profits", + "beta": "Beta", + "beta_feature_badge": "Beta feature badge", + "beta_program_already_participating": "You are enrolled in the Beta Program", + "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", + "beta_program_benefits": "We’re always improving __appName__. By joining this program you can have <0>early access to new features and help us understand your needs better.", + "beta_program_not_participating": "You are not enrolled in the Beta Program", + "beta_program_opt_in_action": "Opt-In to Beta Program", + "beta_program_opt_out_action": "Opt-Out of Beta Program", + "better_bibliographies": "Better bibliographies", + "bibliographies": "Bibliographies", + "binary_history_error": "Preview not available for this file type", + "blank_project": "Blank Project", + "blocked_filename": "This file name is blocked.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 50% discount to premium plans on this page for our users in Brazil. Check out the new lower prices.", + "browser": "Browser", + "built_in": "Built-In", + "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", + "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", + "buy_now_no_exclamation_mark": "Buy now", + "buy_overleaf_assist": "Buy HajTeX Assist", + "by": "by", + "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from HajTeX—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", + "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.", + "by_subscribing_you_agree_to_our_terms_of_service": "By subscribing, you agree to our <0>terms of service.", + "can_edit": "Can edit", + "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", + "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", + "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "can_link_your_institution_acct_2": "You can now <0>link your <0>__appName__ account to your <0>__institutionName__ institutional account.", + "can_now_relink_dropbox": "You can now <0>relink your Dropbox account.", + "can_view": "Can view", + "cancel": "Cancel", + "cancel_anytime": "We’re confident that you’ll love __appName__, but if not you can cancel anytime. We’ll give you your money back, no questions asked, if you let us know within 30 days.", + "cancel_my_account": "Cancel my subscription", + "cancel_my_subscription": "Cancel my subscription", + "cancel_personal_subscription_first": "You already have an individual subscription, would you like us to cancel this first before joining the group licence?", + "cancel_your_subscription": "Cancel Your Subscription", + "cannot_invite_non_user": "Can’t send invite. Recipient must already have an __appName__ account", + "cannot_invite_self": "Can’t send invite to yourself", + "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", + "cant_find_email": "That email address is not registered, sorry.", + "cant_find_page": "Sorry, we can’t find the page you are looking for.", + "cant_see_what_youre_looking_for_question": "Can’t see what you’re looking for?", + "caption_above": "Caption above", + "caption_below": "Caption below", + "card_details": "Card details", + "card_details_are_not_valid": "Card details are not valid", + "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", + "card_payment": "Card payment", + "careers": "Careers", + "category_arrows": "Arrows", + "category_greek": "Greek", + "category_misc": "Misc", + "category_operators": "Operators", + "category_relations": "Relations", + "center": "Center", + "certificate": "Certificate", + "change": "Change", + "change_currency": "Change currency", + "change_or_cancel-cancel": "cancel", + "change_or_cancel-change": "Change", + "change_or_cancel-or": "or", + "change_owner": "Change owner", + "change_password": "Change Password", + "change_password_in_account_settings": "Change password in Account Settings", + "change_plan": "Change plan", + "change_primary_email_address_instructions": "To change your primary email, please add your new primary email address first (by clicking <0>Add another email) and confirm it. Then click the <0>Make Primary button. <1>Learn more about managing your __appName__ emails.", + "change_project_owner": "Change Project Owner", + "change_the_ownership_of_your_personal_projects": "Change the ownership of your personal projects to the new account. <0>Find out how to change project owner.", + "change_to_group_plan": "Change to a group plan", + "change_to_this_plan": "Change to this plan", + "changing_the_position_of_your_figure": "Changing the position of your figure", + "changing_the_position_of_your_table": "Changing the position of your table", + "chat": "Chat", + "chat_error": "Could not load chat messages, please try again.", + "check_your_email": "Check your email", + "checking": "Checking", + "checking_dropbox_status": "Checking Dropbox status", + "checking_project_github_status": "Checking project status in GitHub", + "choose_a_custom_color": "Choose a custom color", + "choose_from_group_members": "Choose from group members", + "choose_which_experiments": "Choose which experiments you’d like to try.", + "choose_your_plan": "Choose your plan", + "city": "City", + "clear_cached_files": "Clear cached files", + "clear_search": "clear search", + "clear_sessions": "Clear Sessions", + "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", + "clear_sessions_success": "Sessions Cleared", + "clearing": "Clearing", + "click_here_to_view_sl_in_lng": "Click here to use __appName__ in <0>__lngName__", + "click_link_to_proceed": "Click __clickText__ below to proceed.", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "Clicking <0>Delete will remove your SSO configuration and unlink all users. You can only do this when SSO is disabled in your Group settings.", + "clone_with_git": "Clone with Git", + "close": "Close", + "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", + "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", + "cn": "Chinese (Simplified)", + "code_check_failed": "Code check failed", + "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", + "code_editor": "Code Editor", + "code_editor_tooltip_message": "You can see the code behind your project (and make edits to it) in the Code Editor", + "code_editor_tooltip_title": "Want to view and edit the LaTeX code?", + "collaborate_easily_on_your_projects": "Collaborate easily on your projects. Work on longer or more complex docs.", + "collaborate_online_and_offline": "Collaborate online and offline, using your own workflow", + "collaboration": "Collaboration", + "collaborator": "Collaborator", + "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to HajTeX from IEEE Collabratec™ or log in with a different account.", + "collabs_per_proj": "__collabcount__ collaborators per project", + "collabs_per_proj_single": "__collabcount__ collaborator per project", + "collapse": "Collapse", + "column_width": "Column width", + "column_width_is_custom_click_to_resize": "Column width is custom. Click to resize", + "column_width_is_x_click_to_resize": "Column width is __width__. Click to resize", + "comment": "Comment", + "comment_submit_error": "Sorry, there was a problem submitting your comment", + "commit": "Commit", + "common": "Common", + "common_causes_of_compile_timeouts_include": "Common causes of compile timeouts include", + "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your HajTeX premium features.", + "community_articles": "Community articles", + "compact": "Compact", + "company_name": "Company Name", + "compare": "Compare", + "compare_features": "Compare features", + "comparing_from_x_to_y": "Comparing from <0>__startTime__ to <0>__endTime__", + "compile_error_entry_description": "An error which prevented this project from compiling", + "compile_error_handling": "Compile Error Handling", + "compile_larger_projects": "Compile larger projects", + "compile_mode": "Compile Mode", + "compile_servers": "Compile servers", + "compile_servers_info": "Compiles for users on premium plans always run on a dedicated pool of the fastest available servers.", + "compile_servers_info_new": "The servers used to compile your project. Compiles for users on paid plans always run on the fastest available servers.", + "compile_terminated_by_user": "The compile was cancelled using the ‘Stop Compilation’ button. You can download the raw logs to see where the compile stopped.", + "compile_timeout_short": "Compile timeout", + "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the HajTeX servers. You may need additional time for longer or more complex projects.", + "compile_timeout_short_info_new": "This is how much time you get to compile your project on HajTeX. You may need additional time for longer or more complex projects.", + "compiler": "Compiler", + "compiling": "Compiling", + "complete": "Complete", + "compliance": "Compliance", + "compromised_password": "Compromised Password", + "configure_sso": "Configure SSO", + "configured": "Configured", + "confirm": "Confirm", + "confirm_affiliation": "Confirm Affiliation", + "confirm_affiliation_to_relink_dropbox": "Please confirm you are still at the institution and on their license, or upgrade your account in order to relink your Dropbox account.", + "confirm_delete_user_type_email_address": "To confirm you want to delete __userName__ please type the email address associated with their account", + "confirm_email": "Confirm Email", + "confirm_new_password": "Confirm New Password", + "confirm_primary_email_change": "Confirm primary email change", + "confirm_remove_sso_config_enter_email": "To confirm you want to remove your SSO configuration, enter your email address:", + "confirm_your_email": "Confirm your email address", + "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", + "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", + "confirming": "Confirming", + "conflicting_paths_found": "Conflicting Paths Found", + "congratulations_youve_successfully_join_group": "Congratulations! You‘ve successfully joined the group subscription.", + "connected_users": "Connected Users", + "connecting": "Connecting", + "connection_lost": "Connection lost", + "contact": "Contact", + "contact_group_admin": "Please contact your group administrator.", + "contact_message_label": "Message", + "contact_sales": "Contact Sales", + "contact_support": "Contact Support", + "contact_support_to_change_group_subscription": "Please <0>contact support if you wish to change your group subscription.", + "contact_us": "Contact Us", + "contact_us_lowercase": "Contact us", + "contacting_the_sales_team": "Contacting the Sales team", + "continue": "Continue", + "continue_github_merge": "I have manually merged. Continue", + "continue_to": "Continue to __appName__", + "continue_with_free_plan": "Continue with free plan", + "continue_with_service": "Continue with __service__", + "copied": "Copied", + "copy": "Copy", + "copy_code": "Copy code", + "copy_project": "Copy Project", + "copy_response": "Copy response", + "copying": "Copying", + "could_not_connect_to_collaboration_server": "Could not connect to collaboration server", + "could_not_connect_to_websocket_server": "Could not connect to WebSocket server", + "could_not_load_translations": "Could not load translations", + "country": "Country", + "country_flag": "__country__ country flag", + "coupon_code": "Coupon code", + "coupon_code_is_not_valid_for_selected_plan": "Coupon code is not valid for selected plan", + "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", + "create": "Create", + "create_a_new_password_for_your_account": "Create a new password for your account", + "create_a_new_project": "Create a new project", + "create_account": "Create account", + "create_an_account": "Create an account", + "create_first_admin_account": "Create the first Admin account", + "create_new_account": "Create new account", + "create_new_subscription": "Create New Subscription", + "create_new_tag": "Create new tag", + "create_project_in_github": "Create a GitHub repository", + "created_at": "Created at", + "creating": "Creating", + "credit_card": "Credit Card", + "cs": "Czech", + "currency": "Currency", + "current_file": "Current file", + "current_page_page": "Current Page, Page __page__", + "current_password": "Current Password", + "current_price": "Current price", + "current_session": "Current Session", + "currently_seeing_only_24_hrs_history": "You’re currently seeing the last 24 hours of changes in this project.", + "currently_signed_in_as_x": "Currently signed in as <0>__userEmail__.", + "currently_subscribed_to_plan": "You are currently subscribed to the <0>__planName__ plan.", + "custom": "Custom", + "custom_borders": "Custom borders", + "custom_resource_portal": "Custom resource portal", + "custom_resource_portal_info": "You can have your own custom portal page on HajTeX. This is a great place for your users to find out more about HajTeX, access templates, FAQs and Help resources, and sign up to HajTeX.", + "customer_resource_portal": "Customer resource portal", + "customize": "Customize", + "customize_your_group_subscription": "Customize your group subscription", + "customize_your_plan": "Customize your plan", + "customizing_figures": "Customizing figures", + "customizing_tables": "Customizing tables", + "da": "Danish", + "date": "Date", + "date_and_owner": "Date and owner", + "de": "German", + "dealing_with_errors": "Dealing with errors", + "december": "December", + "dedicated_account_manager": "Dedicated account manager", + "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about HajTeX with promotional materials, training resources and webinars.", + "default": "Default", + "delete": "Delete", + "delete_account": "Delete Account", + "delete_account_confirmation_label": "I understand this will delete all projects in my __appName__ account with email address <0>__userDefaultEmail__", + "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", + "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", + "delete_and_leave": "Delete / Leave", + "delete_and_leave_projects": "Delete and Leave Projects", + "delete_authentication_token": "Delete Authentication token", + "delete_authentication_token_info": "You’re about to delete a Git authentication token. If you do, it can no longer be used to authenticate your identity when performing Git operations.", + "delete_certificate": "Delete certificate", + "delete_comment": "Delete comment", + "delete_comment_error_message": "There was an error deleting your comment. Please try again in a few moments.", + "delete_comment_error_title": "Delete Comment Error", + "delete_comment_message": "You cannot undo this action.", + "delete_comment_thread": "Delete comment thread", + "delete_comment_thread_message": "This will delete the whole comment thread. You cannot undo this action.", + "delete_figure": "Delete figure", + "delete_projects": "Delete Projects", + "delete_row_or_column": "Delete row or column", + "delete_sso_config": "Delete SSO configuration", + "delete_table": "Delete table", + "delete_tag": "Delete Tag", + "delete_token": "Delete token", + "delete_user": "Delete user", + "delete_your_account": "Delete your account", + "deleted_at": "Deleted At", + "deleted_by_email": "Deleted By email", + "deleted_by_id": "Deleted By ID", + "deleted_by_ip": "Deleted By IP", + "deleted_by_on": "Deleted by __name__ on __date__", + "deleting": "Deleting", + "demonstrating_git_integration": "Demonstrating Git integration", + "demonstrating_track_changes_feature": "Demonstrating Track Changes feature", + "department": "Department", + "descending": "Descending", + "description": "Description", + "details_provided_by_google_explanation": "Your details were provided by your Google account. Please check you’re happy with them.", + "dictionary": "Dictionary", + "did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features to everyone at __institutionName__?", + "disable_single_sign_on": "Disable single sign-on", + "disable_sso": "Disable SSO", + "disable_stop_on_first_error": "Disable “Stop on first error”", + "disabling": "Disabling", + "disconnected": "Disconnected", + "discount_of": "Discount of __amount__", + "discover_latex_templates_and_examples": "Discover LaTeX templates and examples to help with everything from writing a journal article to using a specific LaTeX package.", + "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust HajTeX with their work.", + "dismiss_error_popup": "Dismiss first error alert", + "display_deleted_user": "Display deleted users", + "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", + "do_not_link_accounts": "Don’t link accounts", + "do_you_need_edit_access": "Do you need edit access?", + "do_you_want_to_change_your_primary_email_address_to": "Do you want to change your primary email address to __email__?", + "do_you_want_to_overwrite_it": "Do you want to overwrite it?", + "do_you_want_to_overwrite_it_plural": "Do you want to overwrite them?", + "do_you_want_to_overwrite_them": "Do you want to overwrite them?", + "document_too_long": "Document Too Long", + "document_too_long_detail": "Sorry, this file is too long to be edited manually. Please try to split it into smaller files.", + "document_too_long_tracked_deletes": "You can also accept pending deletions to reduce the size of the file.", + "document_updated_externally": "Document Updated Externally", + "document_updated_externally_detail": "This document was just updated externally. Any recent changes you have made may have been overwritten. To see previous versions, please look in the history.", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "does not contain or significantly match your email", + "doesnt_match": "Doesn’t match", + "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_allow_log_in_through_institution_2": "Doing this will allow you to log in to <0>__appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Doing this will verify your affiliation with <0>__institutionName__ and will allow you to log in to <0>__appName__ through your institution.", + "done": "Done", + "dont_have_account": "Don’t have an account?", + "dont_have_account_without_question_mark": "Don’t have an account", + "download": "Download", + "download_all": "Download all", + "download_metadata": "Download HajTeX metadata", + "download_pdf": "Download PDF", + "download_zip_file": "Download .zip file", + "draft_sso_configuration": "Draft SSO configuration", + "drag_here": "drag here", + "drag_here_paste_an_image_or": "Drag here, paste an image, or ", + "drop_files_here_to_upload": "Drop files here to upload", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account.", + "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account using email address __otherUsersEmail__.", + "dropbox_checking_sync_status": "Checking Dropbox for updates", + "dropbox_duplicate_names_error": "Your Dropbox account can not be linked, because you have more than one project with the same name: ", + "dropbox_duplicate_project_names": "Your Dropbox account has been unlinked, because you have more than one project called <0>\"__projectName__\".", + "dropbox_duplicate_project_names_suggestion": "Please make your project names unique across all your <0>active, archived and trashed projects and then re-link your Dropbox account.", + "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", + "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won’t be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", + "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on HajTeX and vice versa.", + "dropbox_integration_lowercase": "Dropbox integration", + "dropbox_successfully_linked_description": "Thanks, we’ve successfully linked your Dropbox account to __appName__.", + "dropbox_sync": "Dropbox Sync", + "dropbox_sync_both": "Sending and receiving updates", + "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox account. Changes in __appName__ are automatically sent to your Dropbox account, and the other way around.", + "dropbox_sync_error": "Sorry, there was a problem checking our Dropbox service. Please try again in a few moments.", + "dropbox_sync_in": "Receiving updates from Dropbox", + "dropbox_sync_now_rate_limited": "Manual syncing is limited to one per minute. Please wait for a while and try again.", + "dropbox_sync_now_running": "A manual sync for this project has been started in the background. Please give it a few minutes to process.", + "dropbox_sync_out": "Sending updates to Dropbox", + "dropbox_sync_troubleshoot": "Changes not appearing in Dropbox? Please wait a few minutes. If changes still don’t appear, you can <0>sync this project now.", + "dropbox_synced": "HajTeX and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", + "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with HajTeX.", + "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with HajTeX.", + "dropbox_unlinked_premium_feature": "<0>Your Dropbox account has been unlinked because Dropbox Sync is a premium feature that you had through an institutional license.", + "due_date": "Due __date__", + "due_today": "Due today", + "duplicate_file": "Duplicate File", + "duplicate_projects": "This user has projects with duplicate names", + "each_user_will_have_access_to": "Each user will have access to", + "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your HajTeX plan.", + "easily_manage_your_project_files_everywhere": "Easily manage your project files, everywhere", + "easy_collaboration_for_students": "Easy collaboration for students. Supports longer or more complex projects.", + "edit": "Edit", + "edit_comment_error_message": "There was an error editing your comment. Please try again in a few moments.", + "edit_comment_error_title": "Edit Comment Error", + "edit_dictionary": "Edit Dictionary", + "edit_dictionary_empty": "Your custom dictionary is empty.", + "edit_dictionary_remove": "Remove from dictionary", + "edit_figure": "Edit figure", + "edit_sso_configuration": "Edit SSO Configuration", + "edit_tag": "Edit Tag", + "editing": "Editing", + "editing_and_collaboration": "Editing and collaboration", + "editing_captions": "Editing captions", + "editor": "Editor", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", + "editor_limit_exceeded_in_this_project": "Too many editors in this project", + "editor_only_hide_pdf": "Editor only <0>(hide PDF)", + "editor_theme": "Editor theme", + "educational_discount_applied": "40% educational discount applied!", + "educational_discount_available_for_groups_of_ten_or_more": "The educational discount is available for groups of 10 or more", + "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using HajTeX for teaching)", + "educational_discount_for_groups_of_ten_or_more": "HajTeX offers a 40% educational discount for groups of 10 or more.", + "educational_discount_for_groups_of_x_or_more": "The educational discount is available for groups of __size__ or more", + "educational_percent_discount_applied": "__percent__% educational discount applied!", + "email": "Email", + "email_address": "Email address", + "email_address_is_invalid": "Email address is invalid", + "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", + "email_already_registered": "This email is already registered", + "email_already_registered_secondary": "This email is already registered as a secondary email", + "email_already_registered_sso": "This email is already registered. Please log in to your account another way and link your account to the new provider via your account settings.", + "email_confirmed_onboarding": "Great! Let’s get you set up", + "email_confirmed_onboarding_message": "Your email address is confirmed. Click <0>Continue to finish your setup.", + "email_does_not_belong_to_university": "We don’t recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", + "email_limit_reached": "You can have a maximum of <0>__emailAddressLimit__ email addresses on this account. To add another email address, please delete an existing one.", + "email_link_expired": "Email link expired, please request a new one.", + "email_must_be_linked_to_institution": "As a member of __institutionName__, this email address can only be added via single sign-on on your <0>account settings page. Please add a different recovery email address.", + "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again.", + "email_or_password_wrong_try_again_or_reset": "Your email or password is incorrect. Please try again, or <0>set or reset your password.", + "email_required": "Email required", + "email_sent": "Email Sent", + "emails": "Emails", + "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", + "emails_and_affiliations_title": "Emails and Affiliations", + "empty": "Empty", + "empty_zip_file": "Zip doesn’t contain any file", + "en": "English", + "enable_managed_users": "Enable Managed Users", + "enable_single_sign_on": "Enable single sign-on", + "enable_sso": "Enable SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "Enable <0>“Stop on first error” under the <1>Recompile drop-down menu to help you find and fix errors right away.", + "enabled": "Enabled", + "enabling": "Enabling", + "end_of_document": "End of document", + "enter_6_digit_code": "Enter 6-digit code", + "enter_any_size_including_units_or_valid_latex_command": "Enter any size (including units) or valid LaTeX command", + "enter_image_url": "Enter image URL", + "enter_the_confirmation_code": "Enter the 6-digit confirmation code sent to __email__.", + "enter_your_email_address": "Enter your email address", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Enter your email address below, and we will send you a link to reset your password", + "enter_your_new_password": "Enter your new password", + "equation_preview": "Equation preview", + "error": "Error", + "error_opening_document": "Error opening document", + "error_opening_document_detail": "Sorry, something went wrong opening this document. Please try again.", + "error_performing_request": "An error has occurred while performing your request.", + "error_processing_file": "Sorry, something went wrong processing this file. Please try again.", + "error_submitting_comment": "Error submitting comment", + "es": "Spanish", + "estimated_number_of_overleaf_users": "Estimated number of __appName__ users", + "every": "per", + "everything_in_free_plus": "Everything in Free, plus…", + "everything_in_group_professional_plus": "Everything in Group Professional, plus…", + "everything_in_group_standard_plus": "Everything in Group Standard, plus…", + "everything_in_standard_plus": "Everything in Standard, plus…", + "example": "Example", + "example_project": "Example Project", + "examples": "Examples", + "examples_to_help_you_learn": "Examples to help you learn how to use powerful LaTeX packages and techniques.", + "exclusive_access_with_labs": "Exclusive access to early-stage experiments", + "existing_plan_active_until_term_end": "Your existing plan and its features will remain active until the end of the current billing period.", + "expand": "Expand", + "experiment_full": "Sorry, this experiment is full", + "expired": "Expired", + "expired_confirmation_code": "Your confirmation code has expired. Click <0>Resend confirmation code to get a new one.", + "expires": "Expires", + "expires_in_days": "Expires in __days__ days", + "expires_on": "Expires: __date__", + "expiry": "Expiry Date", + "explore_all_plans": "Explore all plans", + "export_csv": "Export CSV", + "export_project_to_github": "Export Project to GitHub", + "failed_to_send_group_invite_to_email": "Failed to send Group invite to <0>__email__. Please try again later.", + "failed_to_send_managed_user_invite_to_email": "Failed to send Managed User invite to <0>__email__. Please try again later.", + "failed_to_send_sso_link_invite_to_email": "Failed to send SSO invite reminder to <0>__email__. Please try again later.", + "faq_change_plans_or_cancel_answer": "Yes, you can do this at any time via your subscription settings. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When cancelling, your subscription will continue until the end of the billing period. If your account temporarily does not have a subscription, the only change will be to the features available to you. Your projects will always be available on your account.", + "faq_change_plans_or_cancel_question": "Can I change plans or cancel later?", + "faq_do_collab_need_on_paid_plan_answer": "No, they can be on any plan, including the free plan. If you are on a premium plan, some premium features will be available to your collaborators in projects that you have created, even if those collaborators are on the free plan. For more information, read about <0>account and subscriptions and <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Do my collaborators also need to be on a paid plan?", + "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one HajTeX account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", + "faq_how_does_a_group_plan_work_question": "How does a group plan work? How can I add people to the plan?", + "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", + "faq_how_free_trial_works_answer_v2": "You get full access to your chosen premium plan during your __len__ day free trial, and there is no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to your subscription settings in your account (the trial will continue for the full __len__ days).", + "faq_how_free_trial_works_question": "How does the free trial work?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In HajTeX, every user creates and manages their own HajTeX account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same HajTeX account.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "I have a free account and want to join a subscription, how do I do that?", + "faq_pay_by_invoice_answer_v2": "Yes, if you’d like to purchase a group subscription for five or more people, or a site license. For individual subscriptions we can only accept payment online via credit card, debit card or PayPal.", + "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "No. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 collaborators to each project owned by you.", + "faq_the_individual_standard_plan_10_collab_question": "The individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "While working on a project that you, as a subscriber, share with them, your collaborators will be able to access some premium features such as the full document history and extended compile time for that particular project. Inviting them to a particular project does not upgrade their accounts overall, however. Read more about <0>which features are per project, and which are per account.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In HajTeX, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other HajTeX users that you are working with on one of your projects.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "What’s the difference between users and collaborators?", + "fast": "Fast", + "fastest": "Fastest", + "feature_included": "Feature included", + "feature_not_included": "Feature not included", + "featured": "Featured", + "featured_latex_templates": "Featured LaTeX Templates", + "features": "Features", + "features_and_benefits": "Features & Benefits", + "february": "February", + "file_action_created": "Created", + "file_action_deleted": "Deleted", + "file_action_edited": "Edited", + "file_action_renamed": "Renamed", + "file_action_restored": "Restored __fileName__ from: __date__", + "file_action_restored_project": "Restored project from __date__", + "file_already_exists": "A file or folder with this name already exists", + "file_already_exists_in_this_location": "An item named <0>__fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", + "file_name": "File Name", + "file_name_figure_modal": "File name", + "file_name_in_this_project": "File Name In This Project", + "file_name_in_this_project_figure_modal": "File name in this project", + "file_or_folder_name_already_exists": "A file or folder with this name already exists", + "file_outline": "File outline", + "file_size": "File size", + "file_too_large": "File too large", + "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", + "files_selected": "files selected.", + "fill_in_our_quick_survey": "Fill in our quick survey.", + "filter_projects": "Filter projects", + "filters": "Filters", + "find_out_more": "Find out More", + "find_out_more_about_institution_login": "Find out more about institutional login", + "find_out_more_about_the_file_outline": "Find out more about the file outline", + "find_out_more_nt": "Find out more.", + "finding_a_fix": "Finding a fix", + "first_name": "First Name", + "fit_to_height": "Fit to height", + "fit_to_width": "Fit to width", + "fixed_width": "Fixed width", + "fixed_width_wrap_text": "Fixed width, wrap text", + "flexible_plans_for_everyone": "Flexible plans for everyone—from individual students and researchers, to large businesses and universities.", + "fold_line": "Fold line", + "folder_location": "Folder location", + "folders": "Folders", + "following_paths_conflict": "The following files and folders conflict with the same path", + "font_family": "Font Family", + "font_size": "Font Size", + "footer_about_us": "About us", + "footer_contact_us": "Contact us", + "footer_navigation": "Footer navigation", + "footer_plans_and_pricing": "Plans & pricing", + "for_business": "For business", + "for_enterprise": "For enterprise", + "for_government": "For government", + "for_groups_or_site_wide": "For groups or site-wide", + "for_individuals_and_groups": "For individuals & groups", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "For large institutions and organizations that need site-wide access or an on-premises solution.", + "for_more_information_see_managed_accounts_section": "For more information, see the \"Managed Accounts\" section in <0>our terms of use, which you agree to by clicking Accept invitation.", + "for_publishers": "For publishers", + "for_small_teams_and_departments_who_want_to_write_collaborate": "For small teams and departments who want to write and collaborate easily in LaTeX.", + "for_students": "For students", + "for_students_only": "For students only", + "for_teaching": "For teaching", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "For teams and organizations who want a streamlined sign-on process and our strongest cloud security.", + "for_universities": "For universities", + "forever": "forever", + "forgot_your_password": "Forgot your password", + "format": "Format", + "found_matching_deleted_users": "Found __deletedUserCount__ matching deleted users", + "four_minutes": "4 minutes", + "fr": "French", + "free": "Free", + "free_7_day_trial_billed_annually": "Free 7-day trial, then billed annually", + "free_7_day_trial_billed_monthly": "Free 7-day trial, then billed monthly", + "free_dropbox_and_history": "Free Dropbox and History", + "free_plan_label": "You’re on the free plan", + "free_plan_tooltip": "Click to find out how you could benefit from HajTeX premium features.", + "frequently_asked_questions": "frequently asked questions", + "from_another_project": "From another project", + "from_enforcement_date": "From __enforcementDate__ any additional editors on this project will be made viewers.", + "from_external_url": "From external URL", + "from_filename": "From <0>__filename__", + "from_github": "From GitHub", + "from_project_files": "From project files", + "from_provider": "From __provider__", + "from_url": "From URL", + "full_doc_history": "Full document history", + "full_doc_history_info_v2": "You can see all the edits in your project and who made every change. Add labels to quickly access specific versions.", + "full_document_history": "Full document <0>history", + "full_project_search": "Full Project Search", + "full_width": "Full width", + "gallery": "Gallery", + "gallery_find_more": "Find More __itemPlural__", + "gallery_items_tagged": "__itemPlural__ tagged __title__", + "gallery_page_items": "Gallery Items", + "gallery_page_summary": "A gallery of up-to-date and stylish LaTeX templates, examples to help you learn LaTeX, and papers and presentations published by our community. Search or browse below.", + "gallery_page_title": "Gallery - Templates, Examples and Articles written in LaTeX", + "gallery_show_all": "Show all __itemPlural__", + "generate_token": "Generate token", + "generic_if_problem_continues_contact_us": "If the problem continues please contact us", + "generic_linked_file_compile_error": "This project’s output files are not available because it failed to compile. Please open the project to see the compilation error details.", + "generic_something_went_wrong": "Sorry, something went wrong", + "get_advanced_reference_search": "Get advanced reference search", + "get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline", + "get_discounted_plan": "Get discounted plan", + "get_dropbox_sync": "Get Dropbox Sync", + "get_early_access_to_ai": "Get early access to the new AI Error Assistant in HajTeX Labs", + "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join HajTeX Labs. All we ask in return is your honest feedback to help us develop and improve.", + "get_full_project_history": "Get full project history", + "get_git_integration": "Get Git integration", + "get_github_sync": "Get GitHub Sync", + "get_in_touch": "Get in touch", + "get_in_touch_having_problems": "Get in touch with support if you’re having problems", + "get_involved": "Get involved", + "get_more_compile_time": "Get more compile time", + "get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features.", + "get_some_texnical_assistance": "Get some TeXnical assistance from AI to fix errors in your project.", + "get_symbol_palette": "Get Symbol Palette", + "get_the_best_overleaf_experience": "Get the best HajTeX experience", + "get_the_best_writing_experience": "Get the best writing experience", + "get_the_most_out_headline": "Get the most out of __appName__ with features such as:", + "get_track_changes": "Get track changes", + "git": "Git", + "git_authentication_token": "Git authentication token", + "git_authentication_token_create_modal_info_1": "This is your Git authentication token. You should enter this when prompted for a password.", + "git_authentication_token_create_modal_info_2": "<0>You will only see this authentication token once so please copy it and keep it safe. For full instructions on using authentication tokens, visit our <1>help page.", + "git_bridge_modal_click_generate": "Click Generate token to generate your authentication token now. Or do this later in your Account Settings.", + "git_bridge_modal_enter_authentication_token": "When prompted for a password, enter your new authentication token:", + "git_bridge_modal_git_authentication_tokens": "Git authentication tokens", + "git_bridge_modal_git_clone_your_project": "Git clone your project by using the link below and a Git authentication token", + "git_bridge_modal_learn_more_about_authentication_tokens": "Learn more about Git integration authentication tokens.", + "git_bridge_modal_read_only": "You have read-only access to this project. This means you can pull from __appName__ but you can’t push any changes you make back to this project.", + "git_bridge_modal_see_once": "You’ll only see this token once. To delete it or generate a new one, visit Account Settings. For detailed instructions and troubleshooting, read our <0>help page.", + "git_bridge_modal_use_previous_token": "If you’re prompted for a password, you can use a previously generated Git authentication token. Or you can generate a new one in Account Settings. For more support, read our <0>help page.", + "git_bridge_modal_you_can_also_git_clone": "You can also git clone your project by using the link below and a Git authentication token.", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git, GitHub, Dropbox, Mendeley, and Zotero integrations", + "git_integration": "Git Integration", + "git_integration_info": "With Git integration, you can clone your HajTeX projects with Git. For full instructions on how to do this, read <0>our help page.", + "git_integration_lowercase": "Git integration", + "git_integration_lowercase_info": "You can clone your HajTeX project to a local repository, treating your HajTeX project as a remote repository that changes can be pushed to and pulled from.", + "github": "GitHub", + "github_commit_message_placeholder": "Commit message for changes made in __appName__...", + "github_credentials_expired": "Your GitHub authorization credentials have expired", + "github_empty_repository_error": "It looks like your GitHub repository is empty or not yet available. Create a new file on GitHub.com then try again.", + "github_file_name_error": "This repository cannot be imported, because it contains file(s) with an invalid filename:", + "github_file_sync_error": "We are unable to sync the following files:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git and <0>Dropbox integrations", + "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The HajTeX GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", + "github_integration_lowercase": "Git and GitHub integration", + "github_is_no_longer_connected": "GitHub is no longer connected to this project.", + "github_is_premium": "GitHub Sync is a premium feature", + "github_large_files_error": "Merge failed: your GitHub repository contains files over the 50mb file size limit ", + "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the <0>__sharelatex_branch__ branch into the default branch in git. Click below to continue, after you have manually merged.", + "github_no_master_branch_error": "This repository cannot be imported as it is missing a default branch. Please make sure the project has a default branch", + "github_only_integration_lowercase": "GitHub integration", + "github_only_integration_lowercase_info": "Link your HajTeX projects directly to a GitHub repository that acts as a remote repository for your HajTeX project. This allows you to share with collaborators outside of HajTeX, and integrate HajTeX into more complex workflows.", + "github_private_description": "You choose who can see and commit to this repository.", + "github_public_description": "Anyone can see this repository. You choose who can commit.", + "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause HajTeX and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", + "github_successfully_linked_description": "Thanks, we’ve successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", + "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by HajTeX. Please remove these and try again.", + "github_sync": "GitHub Sync", + "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories, create new commits from __appName__, and merge commits from GitHub.", + "github_sync_error": "Sorry, there was a problem checking our GitHub service. Please try again in a few moments.", + "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the ‘GitHub’ menu item. You can also unlink the repository from this project.", + "github_timeout_error": "Syncing your HajTeX project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", + "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", + "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", + "github_workflow_authorize": "Authorize GitHub Workflow files", + "github_workflow_files_delete_github_repo": "The repository has been created on GitHub but linking was unsuccessful. You will have to delete GitHub repository or choose a new name.", + "github_workflow_files_error": "The __appName__ GitHub sync service couldn’t sync GitHub Workflow files (in .github/workflows/). Please authorize __appName__ to edit your GitHub workflow files and try again.", + "give_feedback": "Give feedback", + "give_your_feedback": "give your feedback", + "global": "global", + "go_back_and_link_accts": "Go back and link your accounts", + "go_next_page": "Go to Next Page", + "go_page": "Go to page __page__", + "go_prev_page": "Go to Previous Page", + "go_to_account_settings": "Go to Account Settings", + "go_to_code_location_in_pdf": "Go to code location in PDF", + "go_to_first_page": "Go to first page", + "go_to_last_page": "Go to last page", + "go_to_next_page": "Go to next page", + "go_to_overleaf": "Go to HajTeX", + "go_to_page_x": "Go to page __page__", + "go_to_pdf_location_in_code": "Go to PDF location in code (Tip: double click on the PDF for best results)", + "go_to_previous_page": "Go to previous page", + "go_to_settings": "Go to settings", + "great_for_getting_started": "Great for getting started", + "great_for_small_teams_and_departments": "Great for small teams and departments", + "group": "Group", + "group_admin": "Group admin", + "group_admins_get_access_to": "Group admins get access to", + "group_admins_get_access_to_info": "Special features available only on group plans.", + "group_full": "This group is already full", + "group_invitations": "Group Invitations", + "group_invite_has_been_sent_to_email": "Group invite has been sent to <0>__email__", + "group_libraries": "Group Libraries", + "group_managed_by_group_administrator": "User accounts in this group are managed by the group administrator.", + "group_members_and_collaborators_get_access_to": "Group members and their project collaborators get access to", + "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other HajTeX users invited to projects owned by a group member).", + "group_members_get_access_to": "Group members get access to", + "group_members_get_access_to_info": "These features are available only to group members (subscribers).", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your HajTeX premium features.", + "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your HajTeX premium features.", + "group_plans": "Group Plans", + "group_professional": "Group Professional", + "group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata. You can add this manually or click <1>Import IdP metadata to import an XML file.", + "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure HajTeX as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the HajTeX metadata.", + "group_sso_documentation_links": "Please see our <0>documentation and <1>troubleshooting guide for more help.", + "group_standard": "Group Standard", + "group_subscription": "Group Subscription", + "groups": "Groups", + "have_an_extra_backup": "Have an extra backup", + "have_more_days_to_try": "Have another __days__ days on your Trial!", + "headers": "Headers", + "help": "Help", + "help_articles_matching": "Help articles matching your subject", + "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve HajTeX, please take a moment to fill out <0>this survey.", + "help_improve_screen_reader_fill_out_this_survey": "Help us improve your experience using a screen reader with __appName__ by filling out this quick survey.", + "hide_configuration": "Hide configuration", + "hide_deleted_user": "Hide deleted users", + "hide_document_preamble": "Hide document preamble", + "hide_local_file_contents": "Hide Local File Contents", + "hide_outline": "Hide File outline", + "history": "History", + "history_add_label": "Add label", + "history_adding_label": "Adding label", + "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", + "history_compare_from_this_version": "Compare from this version", + "history_compare_up_to_this_version": "Compare up to this version", + "history_delete_label": "Delete label", + "history_deleting_label": "Deleting label", + "history_download_this_version": "Download this version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Created by", + "history_label_project_current_state": "Current state", + "history_label_this_version": "Label this version", + "history_new_label_name": "New label name", + "history_restore_promo_content": "Now you can restore a single file or your whole project to a previous version, including comments and tracked changes. Click Restore this version to restore the selected file or use the <0> menu in the history entry to restore the full project.", + "history_restore_promo_title": "Need to turn back time?", + "history_resync": "History resync", + "history_view_a11y_description": "Show all of the project history or only labelled versions.", + "history_view_all": "All history", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Hit Enter to reply", + "home": "Home", + "hotkey_add_a_comment": "Add a comment", + "hotkey_autocomplete_menu": "Autocomplete Menu", + "hotkey_beginning_of_document": "Beginning of document", + "hotkey_bold_text": "Bold text", + "hotkey_compile": "Compile", + "hotkey_delete_current_line": "Delete Current Line", + "hotkey_end_of_document": "End of document", + "hotkey_find_and_replace": "Find (and replace)", + "hotkey_go_to_line": "Go To Line", + "hotkey_indent_selection": "Indent Selection", + "hotkey_insert_candidate": "Insert Candidate", + "hotkey_italic_text": "Italic Text", + "hotkey_redo": "Redo", + "hotkey_search_references": "Search References", + "hotkey_select_all": "Select All", + "hotkey_select_candidate": "Select Candidate", + "hotkey_to_lowercase": "To Lowercase", + "hotkey_to_uppercase": "To Uppercase", + "hotkey_toggle_comment": "Toggle Comment", + "hotkey_toggle_review_panel": "Toggle review panel", + "hotkey_toggle_track_changes": "Toggle track changes", + "hotkey_undo": "Undo", + "hotkeys": "Hotkeys", + "how_it_works": "How it works", + "how_many_users_do_you_need": "How many users do you need?", + "how_to_create_tables": "How to create tables", + "how_to_insert_images": "How to insert images", + "how_we_use_your_data": "How we use your data", + "how_we_use_your_data_explanation": "<0>Please help us continue to improve HajTeX by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your HajTeX experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", + "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "i_want_to_stay": "I want to stay", + "id": "ID", + "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", + "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", + "if_you_need_to_customize_your_table_further_you_can": "If you need to customize your table further, you can. Using LaTeX code, you can change anything from table styles and border styles to colors and column widths. <0>Read our guide to using tables in LaTeX to help you get started.", + "if_your_occupation_not_listed_type_full_name": "If your __occupation__ isn’t listed, you can type the full name.", + "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", + "ignore_validation_errors": "Don’t check syntax", + "ill_take_it": "I’ll take it!", + "image_file": "Image file", + "image_url": "Image URL", + "image_width": "Image width", + "import_a_bibtex_file_from_your_provider_account": "Import a BibTeX file from your __provider__ account", + "import_from_github": "Import from GitHub", + "import_idp_metadata": "Import IdP metadata", + "import_to_sharelatex": "Import to __appName__", + "imported_from_another_project_at_date": "Imported from <0>Another project/__sourceEntityPathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Imported from <0>__shortenedUrlHTML__ at __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Imported from Mendeley at __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Imported from the output of <0>Another project: __sourceOutputFilePathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Imported from Zotero at __formattedDate__ __relativeDate__", + "importing": "Importing", + "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", + "in_good_company": "You’re In Good Company", + "in_order_to_have_a_secure_account_make_sure_your_password": "To help keep your account secure, make sure your new password:", + "in_order_to_match_institutional_metadata_2": "In order to match your institutional metadata, we’ve linked your account using <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", + "include_caption": "Include caption", + "include_label": "Include label", + "include_results_from_your_reference_manager": "Include results from your reference manager", + "include_results_from_your_x_account": "Include results from your __provider__ account", + "include_the_error_message_and_ai_response": "Include the error message and AI response", + "increased_compile_timeout": "Increased compile timeout", + "individuals": "Individuals", + "indvidual_plans": "Individual Plans", + "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", + "inr_discount_modal_title": "70% off all HajTeX premium plans for users in India", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 70% discount to premium plans for our users in India. Check out the new lower prices below.", + "insert": "Insert", + "insert_column_left": "Insert column left", + "insert_column_right": "Insert column right", + "insert_figure": "Insert figure", + "insert_from_another_project": "Insert from another project", + "insert_from_project_files": "Insert from project files", + "insert_from_url": "Insert from URL", + "insert_image": "Insert image", + "insert_row_above": "Insert row above", + "insert_row_below": "Insert row below", + "insert_x_columns_left": "Insert __columns__ columns left", + "insert_x_columns_right": "Insert __columns__ columns right", + "insert_x_rows_above": "Insert __rows__ rows above", + "insert_x_rows_below": "Insert __rows__ rows below", + "institution": "Institution", + "institution_account": "Institution Account", + "institution_account_tried_to_add_affiliated_with_another_institution": "This email is already associated with your account but affiliated with another institution.", + "institution_account_tried_to_add_already_linked": "This institution is already linked with your account via another email address.", + "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", + "institution_account_tried_to_add_not_affiliated": "This email is already associated with your account but not affiliated with this institution.", + "institution_account_tried_to_confirm_saml": "This email cannot be confirmed. Please remove the email from your account and try adding it again.", + "institution_acct_successfully_linked_2": "Your <0>__appName__ account was successfully linked to your <0>__institutionName__ institutional account.", + "institution_and_role": "Institution and role", + "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", + "institution_has_overleaf_subscription": "<0>__institutionName__ has an HajTeX subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>HajTeX Professional.", + "institution_templates": "Institution Templates", + "institutional": "Institutional", + "institutional_leavers_survey_notification": "Provide some quick feedback to receive a 25% discount on an annual subscription!", + "institutional_login_not_supported": "Your institution doesn’t support institutional login yet, but you can still register with your institutional email.", + "institutional_login_unknown": "Sorry, we don’t know which institution issued that email address. You can browse our list of institutions to find yours, or you can use one of the other options below.", + "integrations": "Integrations", + "interested_in_cheaper_personal_plan": "Would you be interested in the cheaper <0>__price__ Personal plan?", + "invalid_certificate": "Invalid certificate. Please check the certificate and try again.", + "invalid_confirmation_code": "That didn’t work. Please check the code and try again.", + "invalid_email": "An email address is invalid", + "invalid_file_name": "Invalid File Name", + "invalid_filename": "Upload failed: check that the file name doesn’t contain special characters, trailing/leading whitespace or more than __nameLimit__ characters", + "invalid_institutional_email": "Your institution’s SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution’s domain. Please contact your IT department if you have any questions.", + "invalid_password": "Invalid Password", + "invalid_password_contains_email": "Password cannot contain parts of email address", + "invalid_password_invalid_character": "Password contains an invalid character", + "invalid_password_not_set": "Password is required", + "invalid_password_too_long": "Maximum password length __maxLength__ exceeded", + "invalid_password_too_short": "Password too short, minimum __minLength__", + "invalid_password_too_similar": "Password is too similar to parts of email address", + "invalid_request": "Invalid Request. Please correct the data and try again.", + "invalid_zip_file": "Invalid zip file", + "invite": "Invite", + "invite_expired": "The invite may have expired", + "invite_more_collabs": "Invite more collaborators", + "invite_not_accepted": "Invite not yet accepted", + "invite_not_valid": "This is not a valid project invite", + "invite_not_valid_description": "The invite may have expired. Please contact the project owner", + "invite_resend_limit_hit": "The invite resend limit hit", + "invited_to_group": "<0>__inviterName__ has invited you to join a group subscription on __appName__", + "invited_to_group_have_individual_subcription": "__inviterName__ has invited you to join a group __appName__ subscription. If you join this group, you may not need your individual subscription. Would you like to cancel it?", + "invited_to_group_login": "To accept this invitation you need to log in as __emailAddress__.", + "invited_to_group_login_benefits": "As part of this group, you’ll have access to __appName__ premium features such as additional collaborators, greater maximum compile time, and real-time track changes.", + "invited_to_group_register": "To accept __inviterName__’s invitation you’ll need to create an account.", + "invited_to_group_register_benefits": "__appName__ is a collaborative online LaTeX editor, with thousands of ready-to-use templates and an array of LaTeX learning resources to help you get started.", + "invited_to_join": "You have been invited to join", + "ip_address": "IP Address", + "is_email_affiliated": "Is your email affiliated with an institution? ", + "is_longer_than_n_characters": "is at least __n__ characters long", + "is_not_used_on_any_other_website": "is not used on any other website", + "issued_on": "Issued: __date__", + "it": "Italian", + "ja": "Japanese", + "january": "January", + "join_beta_program": "Join beta program", + "join_labs": "Join Labs", + "join_now": "Join now", + "join_overleaf_labs": "Join HajTeX Labs", + "join_project": "Join Project", + "join_sl_to_view_project": "Join __appName__ to view this project", + "join_team_explanation": "Please click the button below to join the group subscription and enjoy the benefits of an upgraded __appName__ account", + "joined_team": "You have joined the group subscription managed by __inviterName__", + "joining": "Joining", + "july": "July", + "june": "June", + "justify": "Justify", + "kb_suggestions_enquiry": "Have you checked our <0>__kbLink__?", + "keep_current_plan": "Keep my current plan", + "keep_personal_projects_separate": "Keep personal projects separate", + "keep_your_account_safe": "Keep your account safe", + "keep_your_account_safe_add_another_email": "Keep your account safe and make sure you don’t lose access to it by adding another email address.", + "keep_your_email_updated": "Keep your email updated so that you don’t lose access to your account and data.", + "keybindings": "Keybindings", + "knowledge_base": "knowledge base", + "ko": "Korean", + "labels_help_you_to_easily_reference_your_figures": "Labels help you to easily reference your figures throughout your document. To reference a figure within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference figures without needing to manually remember the figure numbering. <1>Learn more", + "labels_help_you_to_reference_your_tables": "Labels help you to reference your tables throughout your document easily. To reference a table within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference tables without manually remembering the table numbering. <1>Read about labels and cross-references.", + "labs_program_benefits": "By signing up for HajTeX Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", + "language": "Language", + "language_feedback": "Language Feedback", + "large_or_high-resolution_images_taking_too_long": "Large or high-resolution images taking too long to process. You may be able to <0>optimize them.", + "last_active": "Last Active", + "last_active_description": "Last time a project was opened.", + "last_edit": "Last edit", + "last_logged_in": "Last logged in", + "last_modified": "Last Modified", + "last_name": "Last Name", + "last_resort_trouble_shooting_guide": "If that doesn’t help, follow our <0>troubleshooting guide.", + "last_suggested_fix": "Last suggested fix", + "last_updated": "Last Updated", + "last_updated_date_by_x": "__lastUpdatedDate__ by __person__", + "last_used": "last used", + "latam_discount_modal_info": "Unlock the full potential of HajTeX with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", + "latam_discount_modal_title": "Premium subscription discount", + "latam_discount_offer_plans_page_banner": "__flag__ We’ve applied a __discount__ discount to premium plans on this page for our users in __country__. Check out the new lower prices (in __currency__).", + "latex_articles_page_summary": "Papers, presentations, reports and more, written in LaTeX and published by our community. Search or browse below.", + "latex_articles_page_title": "Articles - Papers, Presentations, Reports and more", + "latex_examples": "LaTeX examples", + "latex_examples_page_summary": "Examples of powerful LaTeX packages and techniques in use — a great way to learn LaTeX by example. Search or browse below.", + "latex_examples_page_title": "Examples - Equations, Formatting, TikZ, Packages and More", + "latex_in_thirty_minutes": "LaTeX in 30 minutes", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX places figures according to a special algorithm. You can use something called ‘placement parameters’ to influence the positioning of the figure. <0>Find out how", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX places tables according to a special algorithm. You can use “placement parameters” to influence the position of the table. <0>This article explains how to do this.", + "latex_templates": "LaTeX Templates", + "latex_templates_and_examples": "LaTeX templates and examples", + "latex_templates_for_journal_articles": "LaTeX templates for journal articles, academic papers, CVs and résumés, presentations, and more.", + "layout": "Layout", + "layout_processing": "Layout processing", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", + "learn": "Learn", + "learn_more": "Learn more", + "learn_more_about_account": "<0>Learn more about managing your __appName__ account.", + "learn_more_about_emails": "<0>Learn more about managing your __appName__ emails.", + "learn_more_about_link_sharing": "Learn more about Link Sharing", + "learn_more_about_managed_users": "Learn more about Managed Users.", + "learn_more_about_other_causes_of_compile_timeouts": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "learn_more_lowercase": "learn more", + "leave": "Leave", + "leave_any_group_subscriptions": "Leave any group subscriptions other than the one that will be managing your account. <0>Leave them from the Subscription page.", + "leave_group": "Leave group", + "leave_labs": "Leave HajTeX Labs", + "leave_now": "Leave now", + "leave_project": "Leave Project", + "leave_projects": "Leave Projects", + "left": "Left", + "length_unit": "Length unit", + "let_us_know": "Let us know", + "let_us_know_how_we_can_help": "Let us know how we can help", + "let_us_know_what_you_think": "Let us know what you think", + "lets_fix_your_errors": "Let’s fix your errors", + "library": "Library", + "license": "License", + "license_for_educational_purposes": "This license is for educational purposes (applies to students or faculty using __appName__ for teaching)", + "limited_offer": "Limited offer", + "limited_to_n_editors": "Limited to __count__ editor", + "limited_to_n_editors_per_project": "Limited to __count__ editor per project", + "limited_to_n_editors_per_project_plural": "Limited to __count__ editors per project", + "limited_to_n_editors_plural": "Limited to __count__ editors", + "line_height": "Line Height", + "line_width_is_the_width_of_the_line_in_the_current_environment": "Line width is the width of the line in the current environment. e.g. a full page width in single-column layout or half a page width in a two-column layout.", + "link": "Link", + "link_account": "Link Account", + "link_accounts": "Link Accounts", + "link_accounts_and_add_email": "Link Accounts and Add Email", + "link_institutional_email_get_started": "Link an institutional email address to your account to get started.", + "link_sharing": "Link sharing", + "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", + "link_sharing_is_off_short": "Link sharing is off", + "link_sharing_is_on": "Link sharing is on", + "link_to_github": "Link to your GitHub account", + "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", + "link_to_mendeley": "Link to Mendeley", + "link_to_zotero": "Link to Zotero", + "link_your_accounts": "Link your accounts", + "linked_accounts": "linked accounts", + "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below.", + "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", + "linked_file": "Imported file", + "links": "Links", + "loading": "Loading", + "loading_content": "Creating Project", + "loading_github_repositories": "Loading your GitHub repositories", + "loading_prices": "loading prices", + "loading_recent_github_commits": "Loading recent commits", + "loading_writefull": "Loading Writefull", + "log_entry_description": "Log entry with level: __level__", + "log_entry_maximum_entries": "Maximum log entries limit hit", + "log_entry_maximum_entries_enable_stop_on_first_error": "Try to fix the first error and recompile. Often one error causes many later error messages. You can <0>Enable “Stop on first error” to focus on fixing errors. We recommend fixing errors as soon as possible; letting them accumulate may lead to hard-to-debug and fatal errors. <1>Learn more", + "log_entry_maximum_entries_see_full_logs": "If you need to see the full logs, you can still download them or view the raw logs below.", + "log_entry_maximum_entries_title": "__total__ log messages total. Showing the first __displayed__", + "log_hint_extra_info": "Learn more", + "log_in": "Log in", + "log_in_and_link": "Log in and link", + "log_in_and_link_accounts": "Log in and link accounts", + "log_in_first_to_proceed": "You will need to log in first to proceed.", + "log_in_now": "Log in now", + "log_in_with": "Log in with __provider__", + "log_in_with_a_different_account": "Log in with a different account", + "log_in_with_email": "Log in with __email__", + "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", + "log_in_with_primary_email_address": "This will be the email address to use if you log in with an email address and password. Important __appName__ notifications will be sent to this email address.", + "log_in_with_sso": "Log in with SSO", + "log_in_with_sso_email": "Work or university email address", + "log_out": "Log Out", + "log_out_from": "Log out from __email__", + "log_out_lowercase_dot": "Log out.", + "log_viewer_error": "There was a problem displaying this project’s compilation errors and logs.", + "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", + "logging_in": "Logging in", + "logging_in_or_managing_your_account": "Logging in or managing your account", + "login": "Login", + "login_count": "Login count", + "login_error": "Login error", + "login_failed": "Login failed", + "login_here": "Login here", + "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", + "login_to_overleaf": "Log in to HajTeX", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", + "longer_compile_timeout_on_faster_servers": "Longer compile timeout on faster servers", + "looking_multiple_licenses": "Looking for multiple licenses?", + "looks_like_logged_in_with_email": "It looks like you’re already logged in to __appName__ with the email __email__.", + "looks_like_youre_at": "It looks like you’re at <0>__institutionName__.", + "lost_connection": "Lost Connection", + "main_bibliography_file_for_this_project": "Main bibliography file for this project", + "main_document": "Main document", + "main_file_not_found": "Unknown main document", + "main_navigation": "Main navigation", + "maintenance": "Maintenance", + "make_a_copy": "Make a copy", + "make_email_primary_description": "Make this the primary email, used to log in", + "make_owner": "Make owner", + "make_primary": "Make Primary", + "make_private": "Make Private", + "manage_beta_program_membership": "Manage Beta Program Membership", + "manage_files_from_your_dropbox_folder": "Manage files from your Dropbox folder", + "manage_group_managers": "Manage group managers", + "manage_group_members_subtext": "Add or remove members from your group subscription", + "manage_group_settings": "Manage group settings", + "manage_group_settings_subtext": "Configure and manage SSO and Managed Users", + "manage_group_settings_subtext_group_sso": "Configure and manage SSO", + "manage_group_settings_subtext_managed_users": "Turn on Managed Users", + "manage_institution_managers": "Manage institution managers", + "manage_managers_subtext": "Assign or remove manager privileges", + "manage_members": "Manage members", + "manage_newsletter": "Manage Your Newsletter Preferences", + "manage_publisher_managers": "Manage publisher managers", + "manage_sessions": "Manage Your Sessions", + "manage_subscription": "Manage Subscription", + "managed": "Managed", + "managed_user_accounts": "Managed user accounts", + "managed_user_invite_has_been_sent_to_email": "Managed User invite has been sent to <0>__email__", + "managed_users": "Managed Users", + "managed_users_accounts": "Managed user accounts", + "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of HajTeX. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", + "managed_users_explanation": "Managed Users ensures you stay in control of your organization’s projects and who owns them. <0>Read more about Managed Users.", + "managed_users_gives_gives_you_more_control_over_your_group": "Managed Users gives you more control over your group’s use of __appName__. It ensures tighter management of user access and deletion and allows you to keep control of your projects when someone leaves the group.", + "managed_users_is_enabled": "Managed Users is enabled", + "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of HajTeX in place of any previously agreed HajTeX terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", + "managers_cannot_remove_admin": "Admins cannot be removed", + "managers_cannot_remove_self": "Managers cannot remove themselves", + "managers_management": "Managers management", + "managing_your_subscription": "Managing your subscription", + "march": "March", + "mark_as_resolved": "Mark as resolved", + "marked_as_resolved": "Marked as resolved", + "math_display": "Math Display", + "math_inline": "Math Inline", + "max_collab_per_project": "Max. collaborators per project", + "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an HajTeX account. They can be different people in each project.", + "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", + "may": "May", + "maybe_later": "Maybe later", + "member_picker": "Select number of users for group plan", + "members_management": "Members management", + "mendeley": "Mendeley", + "mendeley_cta": "Get Mendeley integration", + "mendeley_groups_loading_error": "There was an error loading groups from Mendeley", + "mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "mendeley_integration": "Mendeley Integration", + "mendeley_integration_lowercase": "Mendeley integration", + "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "mendeley_is_premium": "Mendeley integration is a premium feature", + "mendeley_reference_loading_error": "Error, could not load references from Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", + "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", + "mendeley_sync_description": "With the Mendeley integration you can import your references from Mendeley into your __appName__ projects.", + "menu": "Menu", + "merge": "Merge", + "merge_cells": "Merge cells", + "merging": "Merging", + "message_received": "Message received", + "missing_field_for_entry": "Missing field for", + "missing_fields_for_entry": "Missing fields for", + "money_back_guarantee": "30-day money back guarantee, no questions asked", + "month": "month", + "monthly": "Monthly", + "more": "More", + "more_actions": "More actions", + "more_comments": "More comments", + "more_info": "More Info", + "more_lowercase": "more", + "more_options": "More options", + "more_options_for_border_settings_coming_soon": "More options for border settings coming soon.", + "more_project_collaborators": "<0>More project <0>collaborators", + "more_than_one_kind_of_snippet_was_requested": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "most_popular": "most popular", + "most_popular_uppercase": "Most popular", + "must_be_email_address": "Must be an email address", + "must_be_purchased_online": "Must be purchased online", + "my_library": "My Library", + "n_items": "__count__ item", + "n_items_plural": "__count__ items", + "n_matches": "__n__ matches", + "n_more_updates_above": "__count__ more update above", + "n_more_updates_above_plural": "__count__ more updates above", + "n_more_updates_below": "__count__ more update below", + "n_more_updates_below_plural": "__count__ more updates below", + "n_users": "__userCount__ users", + "name": "Name", + "name_usage_explanation": "Your name will be displayed to your collaborators (so they know who they’re working with).", + "native": "Native", + "navigate_log_source": "Navigate to log position in source code: __location__", + "navigation": "Navigation", + "nearly_activated": "You’re one step away from activating your __appName__ account!", + "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", + "need_contact_group_admin_to_make_changes": "You’ll need to contact your group admin if you want to make certain changes to your account. <0>Read more about managed users.", + "need_make_changes": "You need to make some changes", + "need_more_than_50_users": "Need more than 50 users?", + "need_more_than_to_licenses_get_in_touch": "Need more than 50 licenses? Please get in touch", + "need_more_than_x_licenses": "Need more than __x__ licenses?", + "need_to_add_new_primary_before_remove": "You’ll need to add a new primary email address before you can remove this one.", + "need_to_leave": "Need to leave?", + "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", + "new_compile_domain_notice": "We’ve recently migrated PDF downloads to a new domain. Something might be blocking your browser from accessing that new domain, <0>__compilesUserContentDomain__. This could be caused by network blocking or a strict browser plugin rule. Please follow our <1>troubleshooting guide.", + "new_file": "New file", + "new_folder": "New folder", + "new_name": "New Name", + "new_password": "New Password", + "new_project": "New Project", + "new_snippet_project": "Untitled", + "new_subscription_will_be_billed_immediately": "Your new subscription will be billed immediately to your current payment method.", + "new_tag": "New Tag", + "new_tag_name": "New tag name", + "newsletter": "Newsletter", + "newsletter_info_note": "Please note: you will still receive important emails, such as project invites and security notifications (password resets, account linking, etc).", + "newsletter_info_subscribed": "You are currently <0>subscribed to the __appName__ newsletter. If you would prefer not to receive this email then you can unsubscribe at any time.", + "newsletter_info_summary": "Every few months we send a newsletter out summarizing the new features available.", + "newsletter_info_title": "Newsletter Preferences", + "newsletter_info_unsubscribed": "You are currently <0>unsubscribed to the __appName__ newsletter.", + "newsletter_onboarding_accept": "I’d like emails about product offers and company news and events.", + "next": "Next", + "next_page": "Next page", + "next_payment_of_x_collectected_on_y": "The next payment of <0>__paymentAmmount__ will be collected on <1>__collectionDate__.", + "nl": "Dutch", + "no": "Norwegian", + "no_actions": "No actions", + "no_articles_matching_your_tags": "There are no articles matching your tags", + "no_borders": "No borders", + "no_caption": "No caption", + "no_comments": "No comments", + "no_comments_or_suggestions": "No comments or suggestions", + "no_existing_password": "Please use the password reset form to set your password", + "no_featured_templates": "No featured templates", + "no_folder": "No folder", + "no_groups_selected": "No groups selected", + "no_i_dont_need_these": "No, I don’t need these", + "no_image_files_found": "No image files found", + "no_members": "No members", + "no_messages": "No messages", + "no_new_commits_in_github": "No new commits in GitHub since last merge.", + "no_one_has_commented_or_left_any_suggestions_yet": "No one has commented or left any suggestions yet.", + "no_other_projects_found": "No other projects found, please create another project first", + "no_other_sessions": "No other sessions active", + "no_pdf_error_explanation": "This compile didn’t produce a PDF. This can happen if:", + "no_pdf_error_reason_no_content": "The document environment contains no content. If it’s empty, please add some content and compile again.", + "no_pdf_error_reason_output_pdf_already_exists": "This project contains a file called output.pdf. If that file exists, please rename it and compile again.", + "no_pdf_error_reason_unrecoverable_error": "There is an unrecoverable LaTeX error. If there are LaTeX errors shown below or in the raw logs, please try to fix them and compile again.", + "no_pdf_error_title": "No PDF", + "no_planned_maintenance": "There is currently no planned maintenance", + "no_preview_available": "Sorry, no preview is available.", + "no_projects": "No projects", + "no_resolved_comments": "No resolved comments", + "no_resolved_threads": "No resolved threads", + "no_search_results": "No Search Results", + "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", + "no_symbols_found": "No symbols found", + "no_thanks_cancel_now": "No thanks, I still want to cancel", + "no_update_email": "No, update email", + "normal": "Normal", + "normally_x_price_per_month": "Normally __price__ per month", + "normally_x_price_per_year": "Normally __price__ per year", + "not_found_error_from_the_supplied_url": "The link to open this content on HajTeX pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "not_managed": "Not managed", + "not_now": "Not now", + "not_registered": "Not registered", + "note_features_under_development": "<0>Please note that features in this program are still being tested and actively developed. This means that they might <0>change, be <0>removed or <0>become part of a premium plan", + "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to all of HajTeX’s Professional features.", + "notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription. To avoid paying more than you need to, <1>review your subscriptions.", + "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to HajTeX’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", + "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", + "notification_project_invite_accepted_message": "You’ve joined __projectName__", + "notification_project_invite_message": "__userName__ would like you to join __projectName__", + "november": "November", + "number_collab": "Number of collaborators", + "number_collab_info": "The number of people you can invite to work on a project with you. The limit is per project, so you can invite different people to each project.", + "number_of_projects": "Number of projects", + "number_of_users": "Number of users", + "number_of_users_info": "The number of users that can upgrade their HajTeX account if you purchase this plan.", + "number_of_users_with_colon": "Number of users:", + "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", + "october": "October", + "off": "Off", + "official": "Official", + "ok": "OK", + "ok_continue_to_project": "OK, continue to project", + "ok_join_project": "OK, join project", + "on": "On", + "on_free_plan_upgrade_to_access_features": "You are on the __appName__ Free plan. Upgrade to access these <0>Premium Features", + "one_collaborator": "Only one collaborator", + "one_collaborator_per_project": "1 collaborator per project", + "one_free_collab": "One free collaborator", + "one_per_project": "1 per project", + "one_step_away_from_professional_features": "You are one step away from accessing <0>HajTeX Professional features!", + "one_user": "1 user", + "ongoing_experiments": "Ongoing experiments", + "online_latex_editor": "Online LaTeX Editor", + "only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:", + "only_group_admin_or_managers_can_delete_your_account_2": "Only your group admin or group managers will be able to delete your account.", + "only_group_admin_or_managers_can_delete_your_account_3": "Your group admin and group managers will be able to reassign ownership of your projects to another group member.", + "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed HajTeX accounts.", + "only_group_admin_or_managers_can_delete_your_account_5": "For more information, see the \"Managed Accounts\" section in our terms of use, which you agree to by clicking Accept invitation", + "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", + "open_a_file_on_the_left": "Open a file on the left", + "open_action_menu": "Open __name__ action menu", + "open_advanced_reference_search": "Open advanced reference search", + "open_as_template": "Open as Template", + "open_file": "Edit file", + "open_link": "Go to page", + "open_path": "Open __path__", + "open_project": "Open Project", + "open_survey": "Open survey", + "open_target": "Go to target", + "opted_out_linking": "You’ve opted out from linking your __email__ __appName__ account to your institutional account.", + "optional": "Optional", + "or": "or", + "organization": "Organization", + "organization_name": "Organization name", + "organization_or_company_name": "Organization or company name", + "organization_or_company_type": "Organization or company type", + "organize_projects": "Organize Projects", + "original_price": "Original price", + "other": "Other", + "other_actions": "Other Actions", + "other_logs_and_files": "Other logs and files", + "other_output_files": "Download other output files", + "other_sessions": "Other Sessions", + "other_ways_to_log_in": "Other ways to log in", + "our_values": "Our values", + "out_of_sync": "Out of sync", + "out_of_sync_detail": "Sorry, this file has gone out of sync and we need to do a full refresh.<0 /><1>Please see this help guide for more information", + "output_file": "Output file", + "over": "over", + "over_n_users_at_research_institutions_and_business": "Over __userCountMillion__ million users at research institutions and businesses worldwide love __appName__", + "overall_theme": "Overall theme", + "overleaf": "HajTeX", + "overleaf_group_plans": "HajTeX group plans", + "overleaf_history_system": "HajTeX History System", + "overleaf_individual_plans": "HajTeX individual plans", + "overleaf_labs": "HajTeX Labs", + "overleaf_plans_and_pricing": "HajTeX plans and pricing", + "overleaf_template_gallery": "HajTeX template gallery", + "overview": "Overview", + "overwrite": "Overwrite", + "overwriting_the_original_folder": "Overwriting the original folder will delete it and all the files it contains.", + "owned_by_x": "owned by __x__", + "owner": "Owner", + "page_current": "Page __page__, Current Page", + "page_not_found": "Page Not Found", + "pagination_navigation": "Pagination Navigation", + "papers_presentations_reports_and_more": "Papers, presentations, reports and more, written in LaTeX and published by our community.", + "partial_outline_warning": "The File outline is out of date. It will update itself as you edit the document", + "password": "Password", + "password_cant_be_the_same_as_current_one": "Password can’t be the same as current one", + "password_change_old_password_wrong": "Your old password is wrong", + "password_change_password_must_be_different": "The password you entered is the same as your current password. Please try a different password.", + "password_change_passwords_do_not_match": "Passwords do not match", + "password_change_successful": "Password changed", + "password_compromised_try_again_or_use_known_device_or_reset": "The password you’ve entered is on a <0>public list of compromised passwords. Please try logging in from a device you’ve previously used or <1>reset your password", + "password_managed_externally": "Password settings are managed externally", + "password_reset": "Password Reset", + "password_reset_email_sent": "You have been sent an email to complete your password reset.", + "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", + "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", + "password_updated": "Password updated", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "This password was detected on a <0>public list of known compromised passwords", + "paste_options": "Paste options", + "paste_with_formatting": "Paste with formatting", + "paste_without_formatting": "Paste without formatting", + "payment_method_accepted": "__paymentMethod__ accepted", + "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", + "payment_summary": "Payment summary", + "pdf_compile_in_progress_error": "A previous compile is still running. Please wait a minute and try compiling again.", + "pdf_compile_rate_limit_hit": "Compile rate limit hit", + "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", + "pdf_in_separate_tab": "PDF in separate tab", + "pdf_only_hide_editor": "PDF only <0>(hide editor)", + "pdf_preview_error": "There was a problem displaying the compilation results for this project.", + "pdf_rendering_error": "PDF Rendering Error", + "pdf_unavailable_for_download": "PDF unavailable for download", + "pdf_viewer": "PDF Viewer", + "pdf_viewer_error": "There was a problem displaying the PDF for this project.", + "pending": "Pending", + "pending_additional_licenses": "Your subscription is changing to include <0>__pendingAdditionalLicenses__ additional license(s) for a total of <1>__pendingTotalLicenses__ licenses.", + "pending_invite": "Pending invite", + "per_month": "per month", + "per_user": "per user", + "per_user_per_year": "per user / per year", + "per_user_year": "per user / year", + "per_year": "per year", + "percent_discount_for_groups": "__appName__ offers a __percent__% educational discount for groups of __size__ or more.", + "percent_is_the_percentage_of_the_line_width": "% is the percentage of the line width", + "personal": "Personal", + "personalized_onboarding": "Personalized onboarding", + "personalized_onboarding_info": "We’ll help you get everything set up and then we’re here to answer questions from your users about the platform, templates or LaTeX!", + "pl": "Polish", + "plan": "Plan", + "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your HajTeX premium features.", + "planned_maintenance": "Planned Maintenance", + "plans_amper_pricing": "Plans & Pricing", + "plans_and_pricing": "Plans and Pricing", + "plans_and_pricing_lowercase": "plans and pricing", + "please_ask_the_project_owner_to_upgrade_more_editors": "Please ask the project owner to upgrade their plan to allow more editors.", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", + "please_change_primary_to_remove": "Please change your primary email in order to remove", + "please_check_your_inbox": "Please check your inbox", + "please_check_your_inbox_to_confirm": "Please check your email inbox to confirm your <0>__institutionName__ affiliation.", + "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", + "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", + "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", + "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the primary.", + "please_contact_support_to_makes_change_to_your_plan": "Please <0>contact support to make changes to your plan", + "please_contact_us_if_you_think_this_is_in_error": "Please <0>contact us if you think this is in error.", + "please_enter_confirmation_code": "Please enter your confirmation code", + "please_enter_email": "Please enter your email address", + "please_get_in_touch": "Please get in touch", + "please_link_before_making_primary": "Please confirm your email by linking to your institutional account before making it the primary email.", + "please_provide_a_message": "Please provide a message", + "please_provide_a_subject": "Please provide a subject", + "please_reconfirm_institutional_email": "Please take a moment to confirm your institutional email address or <0>remove it from your account.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Please confirm your affiliation before making this the primary.", + "please_refresh": "Please refresh the page to continue.", + "please_request_a_new_password_reset_email_and_follow_the_link": "Please request a new password reset email and follow the link", + "please_select": "Please select", + "please_select_a_file": "Please Select a File", + "please_select_a_project": "Please Select a Project", + "please_select_an_output_file": "Please Select an Output File", + "please_set_a_password": "Please set a password", + "please_set_main_file": "Please choose the main file for this project in the project menu. ", + "please_wait": "Please wait", + "plus_additional_collaborators_document_history_track_changes_and_more": "(plus additional collaborators, document history, track changes, and more).", + "plus_more": "plus more", + "popular_tags": "Popular Tags", + "portal_add_affiliation_to_join": "It looks like you are already logged in to __appName__. If you have a __portalTitle__ email you can add it now.", + "position": "Position", + "postal_code": "Postal Code", + "powerful_latex_editor_and_realtime_collaboration": "Powerful LaTeX editor & real-time collaboration", + "powerful_latex_editor_and_realtime_collaboration_info": "Spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and more. Everyone always has the latest version, and you can see your collaborators’ cursors and changes in real time.", + "premium_feature": "Premium feature", + "premium_features": "Premium features", + "premium_plan_label": "You’re using HajTeX Premium", + "presentation": "Presentation", + "presentation_mode": "Presentation mode", + "press_and_awards": "Press & awards", + "previous_page": "Previous page", + "price": "Price", + "primarily_work_study_question": "Where do you primarily work or study?", + "primarily_work_study_question_company": "Company", + "primarily_work_study_question_government": "Government", + "primarily_work_study_question_nonprofit_ngo": "Nonprofit or NGO", + "primarily_work_study_question_other": "Other", + "primarily_work_study_question_university_school": "University or school", + "primary_certificate": "Primary certificate", + "primary_email_check_question": "Is <0>__email__ still your email address?", + "priority_support": "Priority support", + "priority_support_info": "Our helpful Support team will prioritise and escalate your support requests where necessary.", + "privacy": "Privacy", + "privacy_and_terms": "Privacy and Terms", + "privacy_policy": "Privacy Policy", + "private": "Private", + "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", + "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", + "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", + "proceed_to_paypal": "Proceed to PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Proceeding to PayPal will take you to the PayPal site to pay for your subscription.", + "processing": "processing", + "processing_uppercase": "Processing", + "processing_your_request": "Please wait while we process your request.", + "professional": "Professional", + "progress_bar_percentage": "Progress bar from 0 to 100%", + "project": "project", + "project_approaching_file_limit": "This project is approaching the file limit", + "project_figure_modal": "Project", + "project_files": "Project files", + "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", + "project_has_too_many_files": "This project has reached the 2000 file limit", + "project_last_published_at": "Your project was last published at", + "project_layout_sharing_submission": "Project Layout, Sharing, and Submission", + "project_name": "Project Name", + "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", + "project_owner_plus_10": "Project author + 10", + "project_ownership_transfer_confirmation_1": "Are you sure you want to make <0>__user__ the owner of <1>__project__?", + "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", + "project_renamed_or_deleted": "Project Renamed or Deleted", + "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on HajTeX, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", + "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", + "project_synchronisation": "Project Synchronisation", + "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error” to help you find and fix errors right away.", + "project_timed_out_fatal_error": "A <0>fatal compile error may be completely blocking compilation.", + "project_timed_out_intro": "Sorry, your compile took too long to run and timed out. The most common causes of timeouts are:", + "project_timed_out_learn_more": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "project_timed_out_optimize_images": "Large or high-resolution images are taking too long to process. You may be able to <0>optimize them.", + "project_too_large": "Project too large", + "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", + "project_too_much_editable_text": "This project has too much editable text, please try to reduce it.", + "project_url": "Affected project URL", + "projects": "Projects", + "projects_count": "Projects count", + "projects_list": "Projects list", + "provide_details_of_your_sso_configuration": "Add, edit, or delete your Identity Provider’s SAML metadata.", + "pt": "Portuguese", + "public": "Public", + "publish": "Publish", + "publish_as_template": "Manage Template", + "publisher_account": "Publisher Account", + "publishing": "Publishing", + "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", + "purchase_now": "Purchase Now", + "purchase_now_lowercase": "Purchase now", + "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", + "quoted_text": "Quoted text", + "quoted_text_in": "Quoted text in", + "raw_logs": "Raw logs", + "raw_logs_description": "Raw logs from the LaTeX compiler", + "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using HajTeX History.", + "react_history_tutorial_title": "History actions have a new home", + "reactivate_subscription": "Reactivate your subscription", + "read_lines_from_path": "Read lines from __path__", + "read_more": "Read more", + "read_more_about_free_compile_timeouts_servers": "Read more about changes to free compile timeouts and servers", + "read_only": "Read only", + "read_only_token": "Read-Only Token", + "read_write_token": "Read-Write Token", + "ready_to_join_x": "You’re ready to join __inviterName__", + "ready_to_join_x_in_group_y": "You’re ready to join __inviterName__ in __groupName__", + "ready_to_set_up": "Ready to set up", + "ready_to_use_templates": "Ready-to-use templates", + "real_time_track_changes": "Real-time track-changes", + "realtime_track_changes": "Real-time track changes", + "realtime_track_changes_info_v2": "Switch on track changes to see who made every change, accept or reject others’ changes, and write comments.", + "reasons_for_compile_timeouts": "Reasons for compile timeouts", + "reauthorize_github_account": "Reauthorize your GitHub Account", + "recaptcha_conditions": "The site is protected by reCAPTCHA and the Google <1>Privacy Policy and <2>Terms of Service apply.", + "recent": "Recent", + "recent_commits_in_github": "Recent commits in GitHub", + "recompile": "Recompile", + "recompile_from_scratch": "Recompile from scratch", + "recompile_pdf": "Recompile the PDF", + "reconfirm": "reconfirm", + "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", + "reconnect": "Try again", + "reconnecting": "Reconnecting", + "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", + "recurly_email_update_needed": "Your billing email address is currently <0>__recurlyEmail__. If needed you can update your billing address to <1>__userEmail__.", + "recurly_email_updated": "Your billing email address was successfully updated", + "redirect_to_editor": "Redirect to editor", + "redirect_url": "Redirect URL", + "redirecting": "Redirecting", + "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", + "reference_error_relink_hint": "If this error persists, try re-linking your account here:", + "reference_manager_searched_groups": "__provider__ search groups", + "reference_managers": "Reference managers", + "reference_search": "Advanced reference search", + "reference_search_info_new": "Find your references easily—search by author, title, year, or journal.", + "reference_search_info_v2": "It’s easy to find your references - you can search by author, title, year or journal. You can still search by citation key too.", + "reference_search_setting": "Reference search", + "reference_search_settings": "Reference search settings", + "reference_search_style": "Reference search style", + "reference_sync": "Reference manager sync", + "references_from_these_libraries_will_be_included_in_your_reference_search_results": "References from these libraries will be included in your reference search results.", + "refresh": "Refresh", + "refresh_page_after_linking_dropbox": "Please refresh this page after linking your account to Dropbox.", + "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", + "refreshing": "Refreshing", + "regards": "Regards", + "register": "Register", + "register_error": "Registration error", + "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", + "register_to_accept_invitation": "Register to accept invitation", + "register_to_edit_template": "Please register to edit the __templateName__ template", + "register_with_another_email": "Register with __appName__ using another email.", + "registered": "Registered", + "registering": "Registering", + "registration_error": "Registration error", + "reject": "Reject", + "reject_all": "Reject all", + "reject_change": "Reject change", + "related_tags": "Related Tags", + "relink_your_account": "Re-link your account", + "reload_editor": "Reload editor", + "remind_before_trial_ends": "We’ll remind you before your trial ends", + "remote_service_error": "The remote service produced an error", + "remove": "Remove", + "remove_access": "Remove access", + "remove_collaborator": "Remove collaborator", + "remove_from_group": "Remove from group", + "remove_link": "Remove link", + "remove_manager": "Remove manager", + "remove_or_replace_figure": "Remove or replace figure", + "remove_secondary_email_addresses": "Remove any secondary email addresses associated with your account. <0>Remove them in account settings.", + "remove_sso_login_option": "Remove the SSO login option for your users.", + "remove_tag": "Remove tag __tagName__", + "removed": "removed", + "removed_from_project": "Removed from project", + "removing": "Removing", + "rename": "Rename", + "rename_project": "Rename Project", + "renaming": "Renaming", + "reopen": "Re-open", + "reopen_comment_error_message": "There was an error reopening your comment. Please try again in a few moments.", + "reopen_comment_error_title": "Reopen Comment Error", + "replace_figure": "Replace figure", + "replace_from_another_project": "Replace from another project", + "replace_from_computer": "Replace from computer", + "replace_from_project_files": "Replace from project files", + "replace_from_url": "Replace from URL", + "reply": "Reply", + "repository_name": "Repository Name", + "republish": "Republish", + "request_new_password_reset_email": "Request a new password reset email", + "request_overleaf_common": "Request HajTeX Commons", + "request_password_reset": "Request password reset", + "request_password_reset_to_reconfirm": "Request password reset email to reconfirm", + "request_reconfirmation_email": "Request reconfirmation email", + "request_sent_thank_you": "Message sent! Our team will review it and reply by email.", + "requesting_password_reset": "Requesting password reset", + "required": "Required", + "resend": "Resend", + "resend_confirmation_code": "Resend confirmation code", + "resend_confirmation_email": "Resend confirmation email", + "resend_email": "Resend email", + "resend_group_invite": "Resend group invite", + "resend_link_sso": "Resend SSO invite", + "resend_managed_user_invite": "Resend managed user invite", + "resending_confirmation_code": "Resending confirmation code", + "resending_confirmation_email": "Resending confirmation email", + "reset_password": "Reset Password", + "reset_password_link": "Click this link to reset your password", + "reset_your_password": "Reset your password", + "resize": "Resize", + "resolve": "Resolve", + "resolve_comment": "Resolve comment", + "resolved_comments": "Resolved comments", + "restore": "Restore", + "restore_file": "Restore file", + "restore_file_confirmation_message": "Your current file will restore to the version from __date__ at __time__.", + "restore_file_confirmation_title": "Restore this version?", + "restore_file_error_message": "There was a problem restoring the file version. Please try again in a few moments. If the problem continues please contact us.", + "restore_file_error_title": "Restore File Error", + "restore_file_version": "Restore this version", + "restore_project_to_this_version": "Restore project to this version", + "restore_this_version": "Restore this version", + "restoring": "Restoring", + "restricted": "Restricted", + "restricted_no_permission": "Restricted, sorry you don’t have permission to load this page.", + "resync_completed": "Resync completed!", + "resync_message": "Resyncing project history can take several minutes depending on the size of the project.", + "resync_project_history": "Resync Project History", + "retry_test": "Retry test", + "return_to_login_page": "Return to Login page", + "reverse_x_sort_order": "Reverse __x__ sort order", + "revert_pending_plan_change": "Revert scheduled plan change", + "review": "Review", + "review_your_peers_work": "Review your peers’ work", + "revoke": "Revoke", + "revoke_invite": "Revoke Invite", + "right": "Right", + "ro": "Romanian", + "role": "Role", + "ru": "Russian", + "saml": "SAML", + "saml_auth_error": "Sorry, your identity provider responded with an error. Please contact your administrator for more information.", + "saml_authentication_required_error": "Other login methods have been disabled by your group administrator. Please use your group SSO login.", + "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", + "saml_email_not_recognized_error": "This email address isn’t set up for SSO. Please check it and try again or contact your administrator.", + "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different HajTeX account. Please contact your administrator for more information.", + "saml_invalid_signature_error": "Sorry, the information received from your identity provider has an invalid signature. Please contact your administrator for more information.", + "saml_login_disabled_error": "Sorry, single sign-on login has been disabled for __email__. Please contact your administrator for more information.", + "saml_login_failure": "Sorry, there was a problem logging you in. Please contact your administrator for more information.", + "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to HajTeX as __email__ but the identity returned by your identity provider is not the correct one for this HajTeX account.", + "saml_login_identity_not_found_error": "Sorry, we were not able to find an HajTeX account set up for single sign-on with this identity provider.", + "saml_metadata": "HajTeX SAML Metadata", + "saml_missing_signature_error": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required). Please contact your administrator for more information.", + "saml_response": "SAML Response", + "save": "Save", + "save_20_percent": "save 20%", + "save_20_percent_by_paying_annually": "Save 20% by paying annually", + "save_30_percent_or_more": "save 30% or more", + "save_30_percent_or_more_uppercase": "Save 30% or more", + "save_n_percent": "Save __percentage__%", + "save_or_cancel-cancel": "Cancel", + "save_or_cancel-or": "or", + "save_or_cancel-save": "Save", + "save_x_percent_or_more": "Save __percent__% or more", + "saving": "Saving", + "saving_20_percent": "Saving 20%!", + "saving_20_percent_no_exclamation": "Saving 20%", + "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", + "search": "Search", + "search_all_project_files": "Search all project files", + "search_bib_files": "Search by author, title, year", + "search_by_citekey_author_year_title": "Search by citation key, author, title, year", + "search_command_find": "Find", + "search_command_replace": "Replace", + "search_in_all_projects": "Search in all projects", + "search_in_archived_projects": "Search in archived projects", + "search_in_shared_projects": "Search in projects shared with you", + "search_in_trashed_projects": "Search in trashed projects", + "search_in_your_projects": "Search in your projects", + "search_match_case": "Match case", + "search_next": "next", + "search_only_the_bib_files_in_your_project_only_by_citekeys": "Search only the .bib files in your project, only by citekeys.", + "search_previous": "previous", + "search_projects": "Search projects", + "search_references": "Search the .bib files in this project", + "search_regexp": "Regular expression", + "search_replace": "Replace", + "search_replace_all": "Replace All", + "search_replace_with": "Replace with", + "search_search_for": "Search for", + "search_terms": "Search terms", + "search_whole_word": "Whole word", + "search_within_selection": "Within selection", + "searched_path_for_lines_containing": "Searched __path__ for lines containing \"__query__\"", + "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", + "security": "Security", + "see_changes_in_your_documents_live": "See changes in your documents, live", + "select_a_column_or_a_merged_cell_to_align": "Select a column or a merged cell to align", + "select_a_column_to_adjust_column_width": "Select a column to adjust column width", + "select_a_file": "Select a File", + "select_a_file_figure_modal": "Select a file", + "select_a_group_optional": "Select a Group (optional)", + "select_a_language": "Select a language", + "select_a_new_owner_for_projects": "Select a new owner for this user’s projects", + "select_a_payment_method": "Select a payment method", + "select_a_project": "Select a Project", + "select_a_project_figure_modal": "Select a project", + "select_a_row_or_a_column_to_delete": "Select a row or a column to delete", + "select_access_level": "Select access level", + "select_access_levels": "Select access levels", + "select_all": "Select all", + "select_all_projects": "Select all projects", + "select_an_output_file": "Select an Output File", + "select_an_output_file_figure_modal": "Select an output file", + "select_bib_file": "Select .bib file", + "select_cells_in_a_single_row_to_merge": "Select cells in a single row to merge", + "select_color": "Select color __name__", + "select_folder_from_project": "Select folder from project", + "select_from_output_files": "select from output files", + "select_from_project_files": "select from project files", + "select_from_source_files": "select from source files", + "select_from_your_computer": "select from your computer", + "select_github_repository": "Select a GitHub repository to import into __appName__.", + "select_image_from_project_files": "Select image from project files", + "select_monthly_plans": "Select for monthly plans", + "select_project": "Select __project__", + "select_projects": "Select Projects", + "select_tag": "Select tag __tagName__", + "select_user": "Select user", + "selected": "Selected", + "selected_by_overleaf_staff": "Selected by HajTeX staff", + "selected_by_overleaf_staff_description": "These templates were hand-picked by HajTeX staff for their high quality and positive feedback received from the HajTeX community over the years.", + "selection_deleted": "Selection deleted", + "send": "Send", + "send_first_message": "Send your first message to your collaborators", + "send_message": "Send message", + "send_test_email": "Send a test email", + "sending": "Sending", + "sent": "Sent", + "september": "September", + "server_error": "Server Error", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro license", + "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact HajTeX.", + "server_pro_license_entitlement_line_3": "An active user is one who has opened a project in this Server Pro instance in the last 12 months.", + "services": "Services", + "session_created_at": "Session Created At", + "session_error": "Session error. Please check you have cookies enabled. If the problem persists, try clearing your cache and cookies.", + "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", + "sessions": "Sessions", + "set_color": "set color", + "set_column_width": "Set column width", + "set_new_password": "Set new password", + "set_password": "Set Password", + "set_up_single_sign_on": "Set up single sign-on (SSO)", + "set_up_sso": "Set up SSO", + "settings": "Settings", + "setup_another_account_under_a_personal_email_address": "Set up another HajTeX account under a personal email address.", + "share": "Share", + "share_project": "Share Project", + "share_with_your_collabs": "Share with your collaborators", + "shared_with_you": "Shared with you", + "sharelatex_beta_program": "__appName__ Beta Program", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace__ or __altSpace__)", + "show_all": "show all", + "show_all_projects": "Show all projects", + "show_document_preamble": "Show document preamble", + "show_hotkeys": "Show Hotkeys", + "show_in_code": "Show in code", + "show_in_pdf": "Show in PDF", + "show_less": "show less", + "show_local_file_contents": "Show Local File Contents", + "show_more": "show more", + "show_outline": "Show File outline", + "show_x_more_projects": "Show __x__ more projects", + "show_your_support": "Show your support", + "showing_1_result": "Showing 1 result", + "showing_1_result_of_total": "Showing 1 result of __total__", + "showing_x_out_of_n_projects": "Showing __x__ out of __n__ projects.", + "showing_x_results": "Showing __x__ results", + "showing_x_results_of_total": "Showing __x__ results of __total__", + "sign_up": "Sign up", + "sign_up_for_free": "Sign up for free", + "sign_up_for_free_account": "Sign up for a free account and receive regular updates", + "simple_search_mode": "Simple search", + "single_sign_on_sso": "Single Sign-On (SSO)", + "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", + "site_wide_option_available": "Site-wide option available", + "sitewide_option_available": "Site-wide option available", + "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "six_collaborators_per_project": "6 collaborators per project", + "six_per_project": "6 per project", + "skip": "Skip", + "skip_to_content": "Skip to content", + "something_not_right": "Something’s not right", + "something_went_wrong": "Something went wrong", + "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", + "something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems or an <0>outdated web browser. Please follow the <1>troubleshooting steps for access, loading and display problems. If the issue persists, please <2>let us know.", + "something_went_wrong_processing_the_request": "Something went wrong processing the request", + "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", + "something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile", + "something_went_wrong_server": "Something went wrong. Please try again.", + "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", + "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.", + "sorry_it_looks_like_that_didnt_work_this_time": "Sorry! It looks like that didn’t work this time. Please try again.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on HajTeX. Please try again.", + "sorry_the_connection_to_the_server_is_down": "Sorry, the connection to the server is down.", + "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in HajTeX Labs.", + "sorry_this_account_has_been_suspended": "Sorry, this account has been suspended.", + "sorry_your_table_cant_be_displayed_at_the_moment": "Sorry, your table can’t be displayed at the moment.", + "sorry_your_token_expired": "Sorry, your token expired", + "sort_by": "Sort by", + "sort_by_x": "Sort by __x__", + "sort_projects": "Sort projects", + "source": "Source", + "spell_check": "Spell check", + "sso": "SSO", + "sso_account_already_linked": "Account already linked to another __appName__ user", + "sso_active": "SSO active", + "sso_already_setup_good_to_go": "Single sign-on is already set up on your account, so you’re good to go.", + "sso_config_deleted": "SSO configuration deleted", + "sso_config_prop_help_certificate": "Base64 encoded certificate without whitespace", + "sso_config_prop_help_first_name": "The SAML attribute that specifies the user’s first name", + "sso_config_prop_help_last_name": "The SAML attribute that specifies the user’s last name", + "sso_config_prop_help_redirect_url": "The single sign-on redirect URL provided by your IdP (sometimes called the single sign-on service HTTP-redirect location)", + "sso_config_prop_help_user_id": "The SAML attribute provided by your IdP that identifies each user", + "sso_configuration": "SSO configuration", + "sso_configuration_not_finalized": "Your configuration has not been finalized.", + "sso_configuration_saved": "SSO configuration has been saved", + "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use HajTeX as you normally would.", + "sso_error_audience_mismatch": "The Service Provider entity ID configured in your IdP does not match the one provided in our metadata. Please contact your IT department for more information.", + "sso_error_idp_error": "Your identity provider responded with an error.", + "sso_error_invalid_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user has an invalid format, a string is expected. Attribute: <0>__expecting__", + "sso_error_invalid_signature": "Sorry, the information received from your identity provider has an invalid signature.", + "sso_error_missing_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_firstname_attribute": "The SAML attribute that specifies the user’s first name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_lastname_attribute": "The SAML attribute that specifies the user’s last name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_signature": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required).", + "sso_error_response_already_processed": "The SAML response’s InResponseTo is invalid. This can happen if it either didn’t match that of the SAML request, or the login took too long to process and the request has expired.", + "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about HajTeX Group SSO.", + "sso_here_is_the_data_we_received": "Here is the data we received in the SAML response:", + "sso_integration": "SSO integration", + "sso_integration_info": "HajTeX offers a standard SAML-based Single Sign On integration.", + "sso_is_disabled": "SSO is disabled", + "sso_is_disabled_explanation_1": "Group members won’t be able to log in via SSO", + "sso_is_disabled_explanation_2": "All members of the group will need a username and password to log in to __appName__", + "sso_is_enabled": "SSO is enabled", + "sso_is_enabled_explanation_1": "Group members will <0>only be able to sign in via SSO after linking their accounts with your IdP.", + "sso_is_enabled_explanation_1_sso_only": "Group members will have the option to sign in via SSO.", + "sso_is_enabled_explanation_2": "If there are any problems with the configuration, only you (as the group administrator) will be able to disable SSO.", + "sso_link_account_with_idp": "Your group uses SSO. This means we need to authenticate your account with the group identity provider. Click <0>Set up SSO to authenticate now.", + "sso_link_error": "Error linking account", + "sso_link_invite_has_been_sent_to_email": "An SSO invite reminder has been sent to <0>__email__", + "sso_login": "SSO login", + "sso_logs": "SSO Logs", + "sso_not_active": "SSO not active", + "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", + "sso_reauth_request": "SSO reauthentication request has been sent to <0>__email__", + "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured HajTeX as a Service Provider in your IdP, and authorized access to the HajTeX service.", + "sso_test_interstitial_info_2": "Clicking <0>Test configuration will redirect you to your IdP’s login screen. <1>Read our documentation for full details of what happens during the test. And check our <2>SSO troubleshooting advice if you get stuck.", + "sso_test_interstitial_title": "Let’s test your SSO configuration", + "sso_test_result_error_message": "The test hasn’t worked this time, but don’t worry — errors can usually be quickly addressed by adjusting the configuration settings. Our <0>SSO troubleshooting guide provides help with some of the common causes of testing errors.", + "sso_title": "Single sign-on", + "sso_user_denied_access": "Cannot log in because __appName__ was not granted access to your __provider__ account. Please try again.", + "sso_user_explanation_enabled_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_enabled_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_ready_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "sso_user_explanation_ready_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "standard": "Standard", + "start_a_free_trial": "Start a free trial", + "start_by_adding_your_email": "Start by adding your email address.", + "start_by_fixing_the_first_error_in_your_doc": "Start by fixing the first error in your doc to avoid problems later on.", + "start_free_trial": "Start Free Trial!", + "start_free_trial_without_exclamation": "Start Free Trial", + "start_typing_find_your_company": " Start typing to find your company", + "start_typing_find_your_organization": "Start typing to find your organization", + "start_typing_find_your_university": "Start typing to find your university", + "state": "State", + "status_checks": "Status Checks", + "still_have_questions": "Still have questions?", + "stop_compile": "Stop compilation", + "stop_on_first_error": "Stop on first error", + "stop_on_first_error_enabled_description": "<0>“Stop on first error” is enabled. Disabling it may allow the compiler to produce a PDF (but your project will still have errors).", + "stop_on_first_error_enabled_title": "No PDF: Stop on first error enabled", + "stop_on_validation_error": "Check syntax before compile", + "store_your_work": "Store your work on your own infrastructure", + "stretch_width_to_text": "Stretch width to text", + "student": "Student", + "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an HajTeX institutional account.", + "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you’re eligible for the discount.", + "student_plans": "Student Plans", + "students": "Students", + "subject": "Subject", + "subject_area": "Subject area", + "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", + "submit": "submit", + "submit_title": "Submit", + "subscribe": "Subscribe", + "subscribe_to_find_the_symbols_you_need_faster": "Subscribe to find the symbols you need faster", + "subscription": "Subscription", + "subscription_admin_panel": "admin panel", + "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", + "subscription_canceled": "Subscription Canceled", + "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on <0>__terminateDate__. No further payments will be taken.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Your subscription will remain active until the end of your billing period, <0>__terminationDate__.", + "subscription_will_remain_active_until_end_of_trial_period_x": "Your subscription will remain active until the end of your trial period, <0>__terminationDate__.", + "success_sso_set_up": "Success! Single sign-on is all set up for you.", + "suggest_a_different_fix": "Suggest a different fix", + "suggest_fix": "Suggest fix", + "suggested": "Suggested", + "suggested_fix_for_error_in_path": "Suggested fix for error in __path__", + "suggestion": "Suggestion", + "suggestion_applied": "Suggestion applied", + "support": "Support", + "sure_you_want_to_cancel_plan_change": "Are you sure you want to revert your scheduled plan change? You will remain subscribed to the <0>__planName__ plan.", + "sure_you_want_to_change_plan": "Are you sure you want to change plan to <0>__planName__?", + "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", + "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", + "sv": "Swedish", + "switch_to_editor": "Switch to editor", + "switch_to_pdf": "Switch to PDF", + "symbol_palette": "Symbol palette", + "symbol_palette_highlighted": "<0>Symbol palette", + "symbol_palette_info": "A quick and convenient way to insert math symbols into your document.", + "symbol_palette_info_new": "Insert math symbols into your document with the click of a button.", + "sync": "Sync", + "sync_dropbox_github": "Sync with Dropbox and GitHub", + "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", + "sync_to_dropbox": "Sync to Dropbox", + "sync_to_github": "Sync to GitHub", + "synctex_failed": "Couldn’t find the corresponding source file", + "syntax_validation": "Code check", + "tab_connecting": "Connecting with the editor", + "tab_no_longer_connected": "This tab is no longer connected with the editor", + "tag_color": "Tag color", + "tag_name_cannot_exceed_characters": "Tag name cannot exceed __maxLength__ characters", + "tag_name_is_already_used": "Tag \"__tagName__\" already exists", + "tags": "Tags", + "take_me_home": "Take me home!", + "take_short_survey": "Take a short survey", + "take_survey": "Take survey", + "tc_everyone": "Everyone", + "tc_guests": "Guests", + "tc_switch_everyone_tip": "Toggle track-changes for everyone", + "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", + "tc_switch_user_tip": "Toggle track-changes for this user", + "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their HajTeX plan if you need more compile time.", + "template": "Template", + "template_approved_by_publisher": "This template has been approved by the publisher", + "template_description": "Template Description", + "template_gallery": "Template Gallery", + "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", + "template_title_taken_from_project_title": "The template title will be taken automatically from the project title", + "template_top_pick_by_overleaf": "This template was hand-picked by HajTeX staff for its high quality", + "templates": "Templates", + "templates_admin_source_project": "Admin: Source Project", + "templates_page_summary": "Start your projects with quality LaTeX templates for journals, CVs, resumes, papers, presentations, assignments, letters, project reports, and more. Search or browse below.", + "templates_page_title": "Templates - Journals, CVs, Presentations, Reports and More", + "ten_collaborators_per_project": "10 collaborators per project", + "ten_per_project": "10 per project", + "terminated": "Compilation cancelled", + "terms": "Terms", + "test": "Test", + "test_configuration": "Test configuration", + "test_configuration_successful": "Test configuration successful", + "tex_live_version": "TeX Live version", + "thank_you": "Thank you!", + "thank_you_email_confirmed": "Thank you, your email is now confirmed", + "thank_you_exclamation": "Thank you!", + "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have <0>early access to new features and help us understand your needs better", + "thank_you_for_your_feedback": "Thank you for your feedback!", + "thanks": "Thanks", + "thanks_for_confirming_your_email_address": "Thanks for confirming your email address", + "thanks_for_getting_in_touch": "Thanks for getting in touch. Our team will get back to you by email as soon as possible.", + "thanks_for_subscribing": "Thanks for subscribing!", + "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It’s support from people like yourself that allows __appName__ to continue to grow and improve.", + "thanks_settings_updated": "Thanks, your settings have been updated.", + "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on HajTeX pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", + "the_following_files_already_exist_in_this_project": "The following files already exist in this project:", + "the_following_files_and_folders_already_exist_in_this_project": "The following files and folders already exist in this project:", + "the_following_folder_already_exists_in_this_project": "The following folder already exists in this project:", + "the_following_folder_already_exists_in_this_project_plural": "The following folders already exist in this project:", + "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", + "the_project_that_contains_this_file_is_not_shared_with_you": "The project that contains this file is not shared with you", + "the_requested_conversion_job_was_not_found": "The link to open this content on HajTeX specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", + "the_requested_publisher_was_not_found": "The link to open this content on HajTeX specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_required_parameters_were_not_supplied": "The link to open this content on HajTeX was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_parameters_were_invalid": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "The link to open this content on HajTeX included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", + "the_target_folder_could_not_be_found": "The target folder could not be found.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "The width you choose here is based on the width of the text in your document. Alternatively, you can customize the image size directly in the LaTeX code.", + "their_projects_will_be_transferred_to_another_user": "Their projects will all be transferred to another user of your choice", + "theme": "Theme", + "then_x_price_per_month": "Then __price__ per month", + "then_x_price_per_year": "Then __price__ per year", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "There are lots of options to edit and customize your figures, such as wrapping text around the figure, rotating the image, or including multiple images in a single figure. You’ll need to edit the LaTeX code to do this. <0>Find out how", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "There was a problem restoring the project. Please try again in a few moments. Contact us of the problem persists.", + "there_was_an_error_opening_your_content": "There was an error creating your project", + "thesis": "Thesis", + "they_lose_access_to_account": "They lose all access to this HajTeX account immediately", + "this_action_cannot_be_reversed": "This action cannot be reversed.", + "this_action_cannot_be_undone": "This action cannot be undone.", + "this_address_will_be_shown_on_the_invoice": "This address will be shown on the invoice", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "This could be because we can’t yet support some elements of the table in the table preview. Or there may be an error in the table’s LaTeX code.", + "this_experiment_isnt_accepting_new_participants": "This experiment isn’t accepting new participants.", + "this_field_is_required": "This field is required", + "this_grants_access_to_features_2": "This grants you access to <0>__appName__ <0>__featureType__ features.", + "this_is_a_labs_experiment": "This is a Labs experiment", + "this_is_the_file_that_references_pulled_from_your_reference_manager_will_be_added_to": "This is the file that references pulled from your reference manager will be added to.", + "this_is_your_template": "This is your template from your project", + "this_project_already_has_maximum_editors": "This project already has the maximum number of editors permitted on the owner’s plan. This means you can view but not edit the project.", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "This project exceeded the compile timeout limit on our free plan.", + "this_project_exceeded_editor_limit": "This project exceeded the editor limit for your plan. All collaborators now have view-only access.", + "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s HajTeX plan. This means you could lose edit access from __linkSharingDate__.", + "this_project_is_public": "This project is public and can be edited by anyone with the URL.", + "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", + "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", + "this_tool_helps_you_insert_figures": "This tool helps you insert figures into your project without needing to write the LaTeX code. The following information explains more about the options in the tool and how to further customize your figures.", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "This tool helps you insert simple tables into your project without writing LaTeX code. This tool is new, so please <0>give us feedback and look out for additional functionality coming soon.", + "this_was_helpful": "This was helpful", + "this_wasnt_helpful": "This wasn’t helpful", + "thousands_templates": "Thousands of templates", + "thousands_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "three_free_collab": "Three free collaborators", + "timedout": "Timed out", + "tip": "Tip", + "title": "Title", + "to_add_email_accounts_need_to_be_linked_2": "To add this email, your <0>__appName__ and <0>__institutionName__ accounts will need to be linked.", + "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", + "to_change_access_permissions": "To change access permissions, please ask the project owner", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the HajTeX account that requested the new secondary email.", + "to_confirm_transfer_enter_email_address": "To accept the invitation, enter the email address linked to your account.", + "to_confirm_unlink_all_users_enter_email": "To confirm you want to unlink all users, enter your email address:", + "to_fix_this_you_can": "To fix this, you can:", + "to_fix_this_you_can_ask_the_github_repository_owner": "To fix this, you can ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "To insert or move a caption, make sure \\begin{tabular} is directly within a table environment", + "to_keep_edit_access": "To keep edit access, ask the project owner to upgrade their plan or reduce the number of people with edit access.", + "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", + "to_modify_your_subscription_go_to": "To modify your subscription go to", + "to_pull_results_directly_from_your_reference_manager_enable_one_of_the_available_reference_manager_integrations": "To pull results directly from your reference manager, <0>enable one of the available reference manager integrations.", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>Please note: To use text wrapping in your table, make sure you include the <1>array package in your document preamble:", + "toggle_compile_options_menu": "Toggle compile options menu", + "token": "token", + "token_access_failure": "Cannot grant access; contact the project owner for help", + "token_limit_reached": "You’ve reached the 10 token limit. To generate a new authentication token, please delete an existing one.", + "token_read_only": "token read-only", + "token_read_write": "token read-write", + "too_many_attempts": "Too many attempts. Please wait for a while and try again.", + "too_many_comments_or_tracked_changes": "Too many comments or tracked changes", + "too_many_comments_or_tracked_changes_detail": "Sorry, this file has too many comments or tracked changes. Please try accepting or rejecting some existing changes, or resolving and deleting some comments.", + "too_many_confirm_code_resend_attempts": "Too many attempts. Please wait 1 minute then try again.", + "too_many_confirm_code_verification_attempts": "Too many verification attempts. Please wait 1 minute then try again.", + "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for a short period. Please wait 15 minutes and try again.", + "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", + "too_many_search_results": "There are more than 100 results. Please refine your search.", + "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", + "took_a_while": "That took a while...", + "toolbar_bullet_list": "Bullet List", + "toolbar_choose_section_heading_level": "Choose section heading level", + "toolbar_code_visual_editor_switch": "Code and visual editor switch", + "toolbar_decrease_indent": "Decrease Indent", + "toolbar_editor": "Editor tools", + "toolbar_format_bold": "Format Bold", + "toolbar_format_italic": "Format Italic", + "toolbar_increase_indent": "Increase Indent", + "toolbar_insert_citation": "Insert Citation", + "toolbar_insert_cross_reference": "Insert Cross-reference", + "toolbar_insert_display_math": "Insert Display Math", + "toolbar_insert_figure": "Insert Figure", + "toolbar_insert_inline_math": "Insert Inline Math", + "toolbar_insert_link": "Insert Link", + "toolbar_insert_math": "Insert Math", + "toolbar_insert_math_and_symbols": "Insert Math and Symbols", + "toolbar_insert_misc": "Insert Misc (links, citations, cross-references, figures, tables)", + "toolbar_insert_table": "Insert Table", + "toolbar_list_indentation": "List and Indentation", + "toolbar_numbered_list": "Numbered List", + "toolbar_redo": "Redo", + "toolbar_selected_projects": "Selected projects", + "toolbar_selected_projects_management_actions": "Selected projects management actions", + "toolbar_selected_projects_remove": "Remove selected projects", + "toolbar_selected_projects_restore": "Restore selected projects", + "toolbar_table_insert_size_table": "Insert __size__ table", + "toolbar_table_insert_table_lowercase": "Insert table", + "toolbar_text_formatting": "Text formatting", + "toolbar_text_style": "Text style", + "toolbar_toggle_symbol_palette": "Toggle Symbol Palette", + "toolbar_undo": "Undo", + "toolbar_undo_redo_actions": "Undo/Redo actions", + "toolbar_visibility": "Toolbar visibility", + "tooltip_hide_filetree": "Click to hide the file tree", + "tooltip_hide_pdf": "Click to hide the PDF", + "tooltip_show_filetree": "Click to show the file tree", + "tooltip_show_pdf": "Click to show the PDF", + "top_pick": "Top pick", + "total": "Total", + "total_per_month": "Total per month", + "total_per_year": "Total per year", + "total_per_year_for_x_users": "total per year for __licenseSize__ users", + "total_per_year_lowercase": "total per year", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ tax) per year", + "total_words": "Total Words", + "tr": "Turkish", + "track_any_change_in_real_time": "Track any change, in real-time", + "track_changes": "Track changes", + "track_changes_for_everyone": "Track changes for everyone", + "track_changes_for_x": "Track changes for __name__", + "track_changes_is_off": "Track changes is off", + "track_changes_is_on": "Track changes is on", + "tracked_change_added": "Added", + "tracked_change_deleted": "Deleted", + "transfer_management_of_your_account": "Transfer management of your HajTeX account", + "transfer_management_of_your_account_to_x": "Transfer management of your HajTeX account to __groupName__", + "transfer_management_resolve_following_issues": "To transfer the management of your account, you need to resolve the following issues:", + "transfer_this_users_projects": "Transfer this user’s projects", + "transfer_this_users_projects_description": "This user’s projects will be transferred to a new owner.", + "transferring": "Transferring", + "trash": "Trash", + "trash_projects": "Trash Projects", + "trashed": "Trashed", + "trashed_projects": "Trashed Projects", + "trashing_projects_wont_affect_collaborators": "Trashing projects won’t affect your collaborators.", + "trial_last_day": "This is the last day of your HajTeX Premium trial", + "trial_remaining_days": "__days__ more days on your HajTeX Premium trial", + "tried_to_log_in_with_email": "You’ve tried to log in with __email__.", + "tried_to_register_with_email": "You’ve tried to register with __email__, which is already registered with __appName__ as an institutional account.", + "troubleshooting_tip": "Troubleshooting tip", + "try_again": "Please try again", + "try_for_free": "Try for free", + "try_it_for_free": "Try it for free", + "try_now": "Try Now", + "try_premium_for_free": "Try Premium for free", + "try_recompile_project_or_troubleshoot": "Please try recompiling the project from scratch, and if that doesn’t help, follow our <0>troubleshooting guide.", + "try_relinking_provider": "It looks like you need to re-link your __provider__ account.", + "try_to_compile_despite_errors": "Try to compile despite errors", + "turn_off": "Turn off", + "turn_off_link_sharing": "Turn off link sharing", + "turn_on": "Turn on", + "turn_on_link_sharing": "Turn on link sharing", + "tutorials": "Tutorials", + "two_users": "2 users", + "uk": "Ukrainian", + "unable_to_extract_the_supplied_zip_file": "Opening this content on HajTeX failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", + "unarchive": "Restore", + "uncategorized": "Uncategorized", + "uncategorized_projects": "Uncategorized Projects", + "unconfirmed": "Unconfirmed", + "undelete": "Undelete", + "undeleting": "Undeleting", + "understanding_labels": "Understanding labels", + "unfold_line": "Unfold line", + "unique_identifier_attribute": "Unique identifier attribute", + "university": "University", + "university_school": "University or school name", + "unknown": "Unknown", + "unlimited": "Unlimited", + "unlimited_bold": "<0>Unlimited", + "unlimited_collaborators_in_each_project": "Unlimited collaborators in each project", + "unlimited_collaborators_per_project": "Unlimited collaborators per project", + "unlimited_collabs": "Unlimited collaborators", + "unlimited_collabs_rt": "<0>Unlimited collaborators", + "unlimited_projects": "Unlimited projects", + "unlimited_projects_info": "Your projects are private by default. This means that only you can view them, and only you can allow other people to access them.", + "unlink": "Unlink", + "unlink_all_users": "Unlink all users", + "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their HajTeX accounts with your IdP. They’ll receive an email asking them to do this.", + "unlink_dropbox_folder": "Unlink Dropbox Account", + "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?", + "unlink_github_repository": "Unlink GitHub repository", + "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", + "unlink_linked_accounts": "Unlink any linked accounts (such as ORCID ID, IEEE). <0>Remove them in Account Settings (under Linked Accounts).", + "unlink_linked_google_account": "Unlink your Google account. <0>Remove it in Account Settings (under Linked Accounts).", + "unlink_provider_account_title": "Unlink __provider__ Account", + "unlink_provider_account_warning": "Warning: When you unlink your account from __provider__ you will not be able to sign in using __provider__ anymore.", + "unlink_reference": "Unlink References Provider", + "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).", + "unlink_user": "Unlink user", + "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their HajTeX account with your IdP. They’ll receive an email asking them to do this.", + "unlink_users": "Unlink users", + "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", + "unlinking": "Unlinking", + "unmerge_cells": "Unmerge cells", + "unpublish": "Unpublish", + "unpublishing": "Unpublishing", + "unsubscribe": "Unsubscribe", + "unsubscribed": "Unsubscribed", + "unsubscribing": "Unsubscribing", + "untrash": "Restore", + "up_to": "Up to", + "update": "Update", + "update_account_info": "Update Account Info", + "update_dropbox_settings": "Update Dropbox Settings", + "update_your_billing_details": "Update Your Billing Details", + "updates_to_project_sharing": "Updates to project sharing", + "updating": "Updating", + "updating_site": "Updating Site", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade now, pay after 7 days", + "upgrade_for_12x_more_compile_time": "Upgrade to get 12x more compile time", + "upgrade_now": "Upgrade Now", + "upgrade_to_add_more_editors": "Upgrade to add more editors to your project", + "upgrade_to_add_more_editors_and_access_collaboration_features": "Upgrade to add more editors and access collaboration features like track changes and full project history.", + "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", + "upgrade_to_track_changes": "Upgrade to track changes", + "upload": "Upload", + "upload_failed": "Upload failed", + "upload_from_computer": "Upload from computer", + "upload_project": "Upload Project", + "upload_zipped_project": "Upload Zipped Project", + "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", + "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy HajTeX organizational plans. Talk to our government team.", + "usage_metrics": "Usage metrics", + "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in HajTeX.", + "use_a_different_password": "Please use a different password", + "use_saml_metadata_to_configure_sso_with_idp": "Use the HajTeX SAML metadata to configure SSO with your Identity Provider.", + "use_your_own_machine": "Use your own machine, with your own setup", + "used_latex_before": "Have you ever used LaTeX before?", + "used_latex_response_never": "No, never", + "used_latex_response_occasionally": "Yes, occasionally", + "used_latex_response_often": "Yes, very often", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Used when referring to the figure elsewhere in the document", + "user_administration": "User administration", + "user_already_added": "User already added", + "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", + "user_deletion_password_reset_tip": "If you cannot remember your password, or if you are using Single-Sign-On with another provider to sign in (such as ORCID or Google), please <0>reset your password and try again.", + "user_first_name_attribute": "User first name attribute", + "user_is_not_part_of_group": "User is not part of group", + "user_last_name_attribute": "User last name attribute", + "user_management": "User management", + "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "user_metrics": "User metrics", + "user_not_found": "User not found", + "user_sessions": "User Sessions", + "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", + "using_latex": "Using LaTeX", + "using_premium_features": "Using premium features", + "using_the_overleaf_editor": "Using the __appName__ Editor", + "valid": "Valid", + "valid_sso_configuration": "Valid SSO configuration", + "validation_issue_entry_description": "A validation issue which prevented this project from compiling", + "vat": "VAT", + "vat_number": "VAT Number", + "verify_email_address_before_enabling_managed_users": "You need to verify your email address before enabling managed users.", + "view_all": "View All", + "view_code": "View code", + "view_configuration": "View configuration", + "view_group_members": "View group members", + "view_hub": "View Admin Hub", + "view_hub_subtext": "Access and download subscription statistics and a list of users", + "view_in_template_gallery": "View it in the template gallery", + "view_invitation": "View Invitation", + "view_labs_experiments": "View Labs Experiments", + "view_less": "View less", + "view_logs": "View logs", + "view_metrics": "View metrics", + "view_metrics_commons_subtext": "Monitor and download usage metrics for your Commons subscription", + "view_metrics_group_subtext": "Monitor and download usage metrics for your group subscription", + "view_more": "View more", + "view_only_access": "View-only access", + "view_only_downgraded": "View only. Upgrade to restore edit access.", + "view_options": "View options", + "view_pdf": "View PDF", + "view_source": "View Source", + "view_your_invoices": "View Your Invoices", + "viewer": "Viewer", + "viewing_x": "Viewing <0>__endTime__", + "visual_editor": "Visual Editor", + "visual_editor_is_only_available_for_tex_files": "Visual Editor is only available for TeX files", + "want_access_to_overleaf_premium_features_through_your_university": "Want access to __appName__ premium features through your university?", + "want_change_to_apply_before_plan_end": "If you wish this change to apply before the end of your current billing period, please contact us.", + "we_are_testing_a_new_reference_search": "We are testing a new reference search.", + "we_are_unable_to_opt_you_into_this_experiment": "We are unable to opt you into this experiment at this time, please ensure your organization has allowed this feature, or try again later.", + "we_cant_confirm_this_email": "We can’t confirm this email", + "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", + "we_do_not_share_personal_information": "See our <0>Privacy Notice for details of how we treat your personal data", + "we_logged_you_in": "We have logged you in.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", + "we_sent_new_code": "We’ve sent a new code. If it doesn’t arrive, make sure to check your spam and any promotions folders.", + "webinars": "Webinars", + "website_status": "Website status", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Welcome to __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "We’re making some <0>changes to project sharing. This means, as someone with edit access, your name and email address will be visible to the project owner and other editors.", + "were_performing_maintenance": "We’re performing maintenance on HajTeX and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected this project.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected your project.", + "what_do_you_need": "What do you need?", + "what_do_you_need_help_with": "What do you need help with?", + "what_do_you_think_of_the_ai_error_assistant": "What do you think of the AI error assistant?", + "what_does_this_mean": "What does this mean?", + "what_does_this_mean_for_you": "This means:", + "what_happens_when_sso_is_enabled": "What happens when SSO is enabled?", + "what_should_we_call_you": "What should we call you?", + "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use HajTeX as normal, but you’ll see any labs features marked with this badge:", + "when_you_tick_the_include_caption_box": "When you tick the box “Include caption” the image will be inserted into your document with a placeholder caption. To edit it, you simply select the placeholder text and type to replace it with your own.", + "why_latex": "Why LaTeX?", + "wide": "Wide", + "will_lose_edit_access_on_date": "Will lose edit access on __date__", + "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", + "with_premium_subscription_you_also_get": "With an HajTeX Premium subscription you also get", + "word_count": "Word Count", + "work_offline": "Work offline", + "work_or_university_sso": "Work/university single sign-on", + "work_with_non_overleaf_users": "Work with non HajTeX users", + "would_you_like_to_see_a_university_subscription": "Would you like to see a university-wide __appName__ subscription at your university?", + "write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:", + "writefull": "Writefull", + "writefull_learn_more": "Learn more about Writefull for HajTeX", + "writefull_loading_error_body": "Try refreshing the page. If this doesn’t work, try disabling any active browser extensions to check they aren’t blocking Writefull from loading.", + "writefull_loading_error_title": "Writefull didn’t load correctly", + "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for HajTeX.", + "x_changes_in": "__count__ change in", + "x_changes_in_plural": "__count__ changes in", + "x_collaborators_per_project": "__collaboratorsCount__ collaborators per project", + "x_libraries_accessed_in_this_project": "__provider__ libraries accessed in this project", + "x_price_for_first_month": "<0>__price__ for your first month", + "x_price_for_first_year": "<0>__price__ for your first year", + "x_price_for_y_months": "<0>__price__ for your first __discountMonths__ months", + "x_price_per_user": "__price__ per user", + "x_price_per_year": "__price__ per year", + "year": "year", + "yearly": "Yearly", + "yes_im_in": "Yes, I’m in", + "yes_move_me_to_personal_plan": "Yes, move me to the Personal plan", + "yes_that_is_correct": "Yes, that’s correct", + "you": "You", + "you_already_have_a_subscription": "You already have a subscription", + "you_and_collaborators_get_access_to": "You and your project collaborators get access to", + "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other HajTeX users that you invite to your projects).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the HajTeX Commons subscription at <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "You are a <0>manager of <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_currently_logged_in_as": "You are currently logged in as __email__.", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "You’re on an __appName__ Paid plan. <0>Contact support to find out more.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "You are on our <0>__planName__ plan as a <1>confirmed member of <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are on our <0>__planName__ plan as a <1>member of the group subscription <1>__groupName__ administered by <1>__adminEmail__", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "You can also choose to <0>view anonymously (you will lose edit access) or <1>leave the project.", + "you_can_buy_this_plan_but_not_as_a_trial": "You can buy this plan but not as a trial, as you’ve completed a trial recently.", + "you_can_manage_your_reference_manager_integrations_from_your_account_settings_page": "You can manage your reference manager integrations from your <0>account settings page.", + "you_can_now_enable_sso": "You can now enable SSO on your Group settings page.", + "you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Professional features.", + "you_can_only_add_n_people_to_edit_a_project": "You can only add __count__ person to edit a project with you on your current plan. Upgrade to add more.", + "you_can_only_add_n_people_to_edit_a_project_plural": "You can only add __count__ people to edit a project with you on your current plan. Upgrade to add more.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can <0>opt in and out of the program at any time on this page", + "you_can_request_a_maximum_of_limit_fixes_per_day": "You can request a maximum of __limit__ fixes per day. Please try again tomorrow.", + "you_can_select_or_invite": "You can select or invite __count__ editor on your current plan, or upgrade to get more.", + "you_can_select_or_invite_plural": "You can select or invite __count__ editors on your current plan, or upgrade to get more.", + "you_cant_add_or_change_password_due_to_sso": "You can’t add or change your password because your group or organization uses <0>single sign-on (SSO).", + "you_cant_join_this_group_subscription": "You can’t join this group subscription", + "you_cant_reset_password_due_to_sso": "You can’t reset your password because your group or organization uses SSO. <0>Log in with SSO.", + "you_dont_have_any_repositories": "You don’t have any repositories", + "you_get_access_to": "You get access to", + "you_get_access_to_info": "These features are available only to you (the subscriber).", + "you_have_added_x_of_group_size_y": "You have added <0>__addedUsersSize__ of <1>__groupSize__ available members", + "you_have_been_invited_to_transfer_management_of_your_account": "You have been invited to transfer management of your account.", + "you_have_been_invited_to_transfer_management_of_your_account_to": "You have been invited to transfer management of your account to __groupName__.", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "You have been removed from this project, and will no longer have access to it. You will be redirected to your project dashboard momentarily.", + "you_need_to_configure_your_sso_settings": "You need to configure and test your SSO settings before enabling SSO", + "you_plus_1": "You + 1", + "you_plus_10": "You + 10", + "you_plus_6": "You + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>You will be able to contact us any time to share your feedback", + "you_will_be_able_to_reassign_subscription": "You will be able to reassign their subscription membership to another person in your organization", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "You’ll get the best results from using this tool in the <0>Visual Editor, although you can still use it to insert tables in the <1>Code Editor. Once you’ve selected the number of rows and columns you need, the table will appear in your document and you can double click in a cell to add contents to it.", + "youll_need_to_ask_the_github_repository_owner": "You’ll need to ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to HajTeX. <0>Read more about SSO.", + "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", + "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", + "your_account_is_suspended": "Your account is suspended", + "your_affiliation_is_confirmed": "Your <0>__institutionName__ affiliation is confirmed.", + "your_browser_does_not_support_this_feature": "Sorry, your browser doesn’t support this feature. Please update your browser to its latest version.", + "your_compile_timed_out": "Your compile timed out", + "your_current_project_will_revert_to_the_version_from_time": "Your current project will revert to the version from __timestamp__", + "your_git_access_info": "Your Git authentication tokens should be entered whenever you’re prompted for a password.", + "your_git_access_info_bullet_1": "You can have up to 10 tokens.", + "your_git_access_info_bullet_2": "If you reach the maximum limit, you’ll need to delete a token before you can generate a new one.", + "your_git_access_info_bullet_3": "You can generate a token using the <0>Generate token button.", + "your_git_access_info_bullet_4": "You won’t be able to view the full token after the first time you generate it. Please copy it and keep it safe", + "your_git_access_info_bullet_5": "Previously generated tokens will be shown here.", + "your_git_access_tokens": "Your Git authentication tokens", + "your_message_to_collaborators": "Send a message to your collaborators", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "Your name and email address will be visible to the project owner and other editors.", + "your_new_plan": "Your new plan", + "your_password_has_been_successfully_changed": "Your password has been successfully changed", + "your_password_was_detected": "Your password is on a <0>public list of known compromised passwords. Keep your account safe by changing your password now.", + "your_plan": "Your plan", + "your_plan_is_changing_at_term_end": "Your plan is changing to <0>__pendingPlanName__ at the end of the current billing period.", + "your_plan_is_limited_to_n_editors": "Your plan allows __count__ collaborator with edit access and unlimited viewers.", + "your_plan_is_limited_to_n_editors_plural": "Your plan allows __count__ collaborators with edit access and unlimited viewers.", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Your project exceeded the compile timeout limit on our free plan.", + "your_project_exceeded_editor_limit": "Your project exceeded the editor limit and access levels were changed. Select a new access level for your collaborators, or upgrade to add more editors.", + "your_project_near_compile_timeout_limit": "Your project is near the compile timeout limit for our free plan.", + "your_projects": "Your Projects", + "your_questions_answered": "Your questions answered", + "your_role": "Your role", + "your_sessions": "Your Sessions", + "your_subscription": "Your Subscription", + "your_subscription_has_expired": "Your subscription has expired.", + "youre_a_member_of_overleaf_labs": "You’re a member of HajTeX Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", + "youre_about_to_disable_single_sign_on": "You’re about to disable single sign-on for all group members.", + "youre_about_to_enable_single_sign_on": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct and all your group members have managed user accounts.", + "youre_about_to_enable_single_sign_on_sso_only": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct.", + "youre_already_setup_for_sso": "You’re already set up for SSO", + "youre_joining": "You’re joining", + "youre_on_free_trial_which_ends_on": "You’re on a free trial which ends on <0>__date__.", + "youre_signed_in_as_logout": "You’re signed in as <0>__email__. <1>Log out.", + "youre_signed_up": "You’re signed up", + "youve_lost_edit_access": "You’ve lost edit access", + "youve_unlinked_all_users": "You’ve unlinked all users", + "zh-CN": "Chinese", + "zip_contents_too_large": "Zip contents too large", + "zoom_in": "Zoom in", + "zoom_out": "Zoom out", + "zoom_to": "Zoom to", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero and <0>Mendeley integrations", + "zotero_cta": "Get Zotero integration", + "zotero_groups_loading_error": "There was an error loading groups from Zotero", + "zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "zotero_integration": "Zotero Integration", + "zotero_integration_lowercase": "Zotero integration", + "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "zotero_is_premium": "Zotero integration is a premium feature", + "zotero_reference_loading_error": "Error, could not load references from Zotero", + "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", + "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", + "zotero_sync_description": "With the Zotero integration you can import your references from Zotero into your __appName__ projects." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/es.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/es.json new file mode 100644 index 0000000..4b2ced7 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/es.json @@ -0,0 +1,726 @@ +{ + "1_2_width": "½ ancho", + "1_4_width": "¼ ancho", + "3_4_width": "¾ ancho", + "About": "Quiénes somos", + "Account": "Cuenta", + "Account Settings": "Opciones de la cuenta", + "Documentation": "Documentación", + "Projects": "Proyectos", + "Security": "Seguridad", + "Subscription": "Suscripción", + "Terms": "Términos", + "Universities": "Universidades", + "a_custom_size_has_been_used_in_the_latex_code": "Se ha utilizado un tamaño personalizado en el código LaTeX.", + "a_fatal_compile_error_that_completely_blocks_compilation": "Un <0>fatal compile error bloquea completamente la compilación.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Ya existe un archivo con el mismo nombre. El contenido original será sobrescrito.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Una lista más exhaustiva de atajos de teclado puede encontrarse en <0>this __appName__ project template", + "about": "Quiénes somos", + "about_to_archive_projects": "Estás apunto de archivar los siguientes proyectos:", + "about_to_delete_cert": "Estás a punto de eliminar el siguiente certificado:", + "about_to_delete_projects": "Estás a punto de eliminar los siguientes proyectos:", + "about_to_delete_tag": "Estás a punto de eliminar las siguientes etiquetas (no se eliminarán los proyectos en las mismas):", + "about_to_delete_the_following_project": "Estás a punto de eliminar el siguiente proyecto:", + "about_to_delete_the_following_projects": "Estás a punto de eliminar los siguientes proyectos:", + "about_to_delete_user_preamble": "Estás a punto de eliminar __userName__ (__userEmail__). Hacer esto significará:", + "about_to_enable_managed_users": "Al activar la función Usuarios administrados, todos los miembros existentes de su suscripción de grupo serán invitados a convertirse en administrados. Esto te dará derechos de administrador sobre sus cuentas. También tendrás la opción de invitar a nuevos miembros a unirse a la suscripción y convertirse en administrados.", + "about_to_leave_project": "Estás a punto de abandonar este proyecto.", + "about_to_leave_projects": "Estás apunto de abandonar los siguientes proyectos:", + "about_to_trash_projects": "Estás a punto de enviar los siguientes proyectos a la papelera:", + "abstract": "Resumen", + "accept": "Aceptar", + "accept_all": "Aceptar todo", + "accept_and_continue": "Aceptar y continuar", + "accept_change": "Aceptar cambio", + "accept_invitation": "Aceptar invitación", + "accept_or_reject_each_changes_individually": "Aceptar o rechazar cada cambio individualmente", + "accept_terms_and_conditions": "Aceptar términos y condiciones", + "accepted_invite": "Invitación aceptada", + "accepting_invite_as": "Estás aceptando esta invitación como ", + "access_denied": "Acceso denegado", + "access_levels_changed": "Niveles de acceso modificados", + "account": "Cuenta", + "account_has_been_link_to_institution_account": "Tu cuenta __email__ de __appName__ ha sido vinculada con tu cuenta institucional __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Su cuenta tiene actualmente una factura vencida. No podrás cambiar de plan hasta que esto se resuelva.", + "account_linking": "Vinculación de cuentas", + "account_managed_by_group_administrator": "Su cuenta está administrada por el administrador de su grupo (__admin__)", + "account_not_linked_to_dropbox": "Tu cuenta no está conectada con Dropbox", + "account_settings": "Opciones de la cuenta", + "account_with_email_exists": "Parece que una cuenta __appName__ con el email __email__ ya existe.", + "acct_linked_to_institution_acct_2": "Puedes unirte a HajTeX a través de tu login institucional de __institutionName__", + "actions": "Acciones", + "activate": "Activar", + "activate_account": "Activar tu cuenta", + "activating": "Activando", + "activation_token_expired": "Tu token de activación ha caducado, tendrás que solicitar que enviemos otro.", + "active": "Activo", + "add": "Agregar", + "add_a_recovery_email_address": "Añadir una dirección de correo de recuperación", + "add_additional_certificate": "Añadir otro certificado", + "add_affiliation": "Añadir afiliación", + "add_another_address_line": "Añadir otra línea de dirección", + "add_another_email": "Añadir otro correo", + "add_another_token": "Añadir otro token", + "add_comma_separated_emails_help": "Separa múltiples direcciones de correo mediante la coma (,)", + "add_comment": "Añadir comentario", + "add_company_details": "Añadir detalles de la compañía", + "add_email": "Añadir correo", + "add_email_address": "Añadir dirección de correo", + "add_email_to_claim_features": "Añade tu correo institucional para reclamar funcionalidades.", + "add_files": "Añadir archivos", + "add_more_collaborators": "Añadir más colaboradores", + "add_more_editors": "Añadir más editores", + "add_more_managers": "Añadir más administradores", + "add_more_members": "Agregar más miembros", + "add_new_email": "Añadir nuevo correo", + "add_or_remove_project_from_tag": "Añadir o eliminar proyecto de la etiqueta __tagName__", + "add_people": "Añadir personas", + "add_role_and_department": "Añadir rol y departamento", + "add_to_tag": "Añadir a etiqueta", + "add_your_comment_here": "Añade tu comentario aquí", + "add_your_first_group_member_now": "Agrega tu primer grupo de miembros ahora", + "added": "agregado", + "added_by_on": "Añadido por __name__ el __date__", + "adding": "Añadiendo", + "adding_a_bibliography": "¿Añadir una bibliografía?", + "additional_certificate": "Certificado adicional", + "address": "Dirección", + "address_line_1": "Dirección", + "address_second_line_optional": "Segunda línea de dirección (opcional)", + "adjust_column_width": "Ajustar ancho de columna", + "admin": "administrador", + "admin_panel": "Panel de administrador", + "administration_and_security": "Administración y seguridad", + "advanced_reference_search": "Búsqueda avanzada de referencias", + "advanced_reference_search_mode": "Búsqueda avanzada de referencias", + "advanced_search": "Búsqueda avanzada", + "aggregate_changed": "Cambiado", + "aggregate_to": "a", + "agree_with_the_terms": "Estoy de acuerdo con los términos y condiciones de HajTeX", + "ai_can_make_mistakes": "La IA puede cometer errores. Revisa las correcciones antes de aplicarlas.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "¿Tiene alguna idea o sugerencia para mejorar esta funcionalidad?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Dinos qué falló para que podamos mejorar.", + "ai_feedback_the_answer_was_too_long": "La respuesta fue demasiado larga", + "ai_feedback_the_answer_wasnt_detailed_enough": "La respuesta no ha sido lo suficientemente detallada", + "ai_feedback_the_suggestion_didnt_fix_the_error": "La sugerencia no solucionó el error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "La sugerencia no ha sido la mejor solución disponible", + "ai_feedback_there_was_no_code_fix_suggested": "No se sugirió ninguna corrección del código", + "alignment": "Alineado", + "all": "Todos", + "all_borders": "Todos los bordes", + "all_our_group_plans_offer_educational_discount": "Todos nuestros <0>planes para grupos ofrecen un <1>descuento educativo para estudiantes y profesores.", + "all_premium_features": "Todas las características premium", + "all_premium_features_including": "Todas las características premium, incluyendo:", + "all_prices_displayed_are_in_currency": "Todos los precios mostrados son en __recommendedCurrency__.", + "all_projects": "Todos los proyectos", + "all_projects_will_be_transferred_immediately": "Todos los proyectos se transferirán inmediatamente al nuevo propietario.", + "all_templates": "Todas las plantillas", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "Todas las ventajas de nuestro plan estándar, más un número ilimitado de colaboradores por proyecto.", + "all_these_experiments_are_available_exclusively": "Todos estos experimentos están disponibles exclusivamente para los miembros del programa Labs. Si te inscribes, puedes elegir qué experimentos quieres probar.", + "already_have_an_account": "¿Ya tiene una cuenta?", + "already_have_sl_account": "¿Ya tienes una cuenta de __appName__?", + "already_subscribed_try_refreshing_the_page": "¿Ya estás suscrito? Prueba a actualizar la página.", + "also": "También", + "also_available_as_on_premises": "También disponible en las instalaciones de la empresa", + "alternatively_create_new_institution_account": "Alternativamente, puede crear una nueva cuenta con su correo institucional (__email__) haciendo click en __clickText__.", + "an_email_has_already_been_sent_to": "Ya se ha enviado un correo electrónico a <0>__email__. Espere e inténtelo de nuevo más tarde.", + "an_error_occured_while_restoring_project": "Se ha producido un error al restaurar el proyecto", + "an_error_occurred_when_verifying_the_coupon_code": "Se ha producido un error al verificar el código del cupón", + "and": "y", + "annual": "Anual", + "anonymous": "Anónimo", + "anyone_with_link_can_edit": "Cualquiera con este enlace puede editar este proyecto", + "anyone_with_link_can_view": "Cualquiera con este enlace puede ver este proyecto", + "app_on_x": "__appName__ en __social__", + "apply_educational_discount": "Aplicar descuento educacional", + "apply_educational_discount_info": "HajTeX ofrece un descuento educacional del 40% para grupos de 10 o más personas. Se aplica a estudiantes o profesores que utilicen HajTeX para impartir clases", + "apply_educational_discount_info_new": "40% de descuento para grupos de 10 o más personas que utilicen __appName__ para la enseñanza", + "apply_suggestion": "Aplicar sugerencia", + "april": "Abril", + "archive": "Archivar", + "archive_projects": "Archivar proyectos", + "archived": "Archivado", + "archived_projects": "Proyectos archivados", + "archiving_projects_wont_affect_collaborators": "Archivar proyectos no afectará a tus colaboradores.", + "are_you_affiliated_with_an_institution": "¿Está afiliado a alguna institución?", + "are_you_still_at": "¿Aún perteneces a <0>__institutionName__?", + "are_you_sure": "¿Está seguro?", + "article": "Artículo", + "articles": "Artículos", + "as_a_member_of_sso_required": "Como miembro de __institutionName__, debe unirse a __appName__ a través del portal de su institución.", + "as_email": "con __email__", + "ascending": "Ascendente", + "ask_proj_owner_to_upgrade_for_full_history": "Pida al propietario del proyecto que lo actualice para acceder al historial completo de este proyecto.", + "ask_proj_owner_to_upgrade_for_references_search": "Pide al creador del proyecto que suba de categoría para usar la característica Búsqueda de referencias.", + "august": "Agosto", + "author": "Autor", + "auto_close_brackets": "Cierre automático de corchetes", + "auto_compile": "Compilación automática", + "auto_complete": "Autocompletar", + "autocompile_disabled": "Compilación automática desactivada", + "autocompile_disabled_reason": "Debido a la elevada carga del servidor, se ha desactivado temporalmente la recompilación en segundo plano. Por favor, recompile haciendo clic en el botón de arriba.", + "autocomplete": "Autocompletado", + "automatic_user_registration": "registro automático de usuarios", + "automatic_user_registration_uppercase": "Registro automático de usuarios", + "back": "Volver", + "back_to_account_settings": "Volver a la configuración de la cuenta", + "back_to_configuration": "Volver a la configuración", + "back_to_editor": "Volver al editor", + "back_to_log_in": "Volver al inicio de sesión", + "back_to_subscription": "Volver a Suscripción", + "back_to_your_projects": "Volver a tus proyectos", + "basic": "Básico", + "basic_compile_timeout_on_fast_servers": "Tiempo de espera de compilación básico en servidores rápidos", + "become_an_advisor": "Conviértete en __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Antes de utilizar el asistente de errores basado en IA", + "beta": "Beta", + "beta_feature_badge": "Insignia de función beta", + "beta_program_already_participating": "Está inscrito en el Programa Beta", + "beta_program_badge_description": "Cuando utilices __appName__, verás las funciones beta marcadas con este distintivo:", + "beta_program_benefits": "Siempre estamos mejorando __appName__. Al unirte a este programa podrás tener <0>acceso anticipado a nuevas funciones y ayudarnos a entender mejor tus necesidades.", + "beta_program_not_participating": "No está inscrito en el Programa Beta", + "beta_program_opt_in_action": "Inscribirse en el Programa Beta", + "beta_program_opt_out_action": "Salir del Programa Beta", + "better_bibliographies": "Mejores bibliografías", + "bibliographies": "Bibliografías", + "binary_history_error": "Vista previa no disponible para este tipo de archivo", + "blank_project": "Proyecto vacío", + "blocked_filename": "Este nombre de archivo está bloqueado.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ ¡Grandes noticias! Hemos aplicado un 50% de descuento a los planes premium de esta página para nuestros usuarios en Brasil. Echa un vistazo a los nuevos precios más bajos.", + "browser": "Navegador", + "built_in": "Integrado", + "bulk_accept_confirm": "¿Está seguro de que desea aceptar los __nChanges__ cambios seleccionados?", + "bulk_reject_confirm": "¿Está seguro de que desea rechazar los __nChanges__ cambios seleccionados?", + "buy_now_no_exclamation_mark": "Comprar ahora", + "by": "por", + "by_joining_labs": "Al unirte a Labs, aceptas recibir ocasionalmente correos electrónicos y actualizaciones de HajTeX, por ejemplo, para solicitar tu opinión. También acepta nuestras <0>condiciones del servicio y nuestro <1>aviso de privacidad.", + "by_registering_you_agree_to_our_terms_of_service": "Al registrarse, acepta nuestras <0>condiciones del servicio y <1>notificación de privacidad.", + "by_subscribing_you_agree_to_our_terms_of_service": "Al suscribirse, acepta nuestras <0>condiciones del servicio.", + "can_edit": "Puede editar", + "can_link_institution_email_acct_to_institution_acct": "Ahora puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__.", + "can_link_institution_email_by_clicking": "Puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__ haciendo click en __clickText__.", + "can_link_institution_email_to_login": "Puedes vincular tu cuenta __appName__ __email__ a tu cuenta institucional __institutionName__, lo cual te permitirá entrar en __appName__ a través de tu institución y confirmará de nuevo tu cuenta de correo institucional.", + "can_now_relink_dropbox": "Ya puedes <0>vincular de nuevo tu cuenta de Dropbox.", + "can_view": "Se puede ver", + "cancel": "Cancelar", + "cancel_my_account": "Cancelar mi suscripción", + "cancel_my_subscription": "Cancelar mi suscripción", + "cancel_personal_subscription_first": "Ya tienes una suscripción personal, ¿quieres que cancelemos esta primero antes de unirte a esta licencia grupal?", + "cancel_your_subscription": "Cancelar tu suscripción", + "cannot_invite_non_user": "No se puede enviar la invitación. El destinatario ya debe tener una cuenta en __appName__.", + "cannot_invite_self": "No se puede enviar la invitación a uno mismo", + "cant_find_email": "Ese correo electrónico no está registrado, disculpa.", + "cant_find_page": "Disculpa, no podemos encontrar la página que estás buscando.", + "cant_see_what_youre_looking_for_question": "¿No encuentra lo que busca?", + "caption_above": "Pie de foto encima", + "caption_below": "Pie de foto debajo", + "card_details": "Datos de la tarjeta", + "card_details_are_not_valid": "Los datos de la tarjeta no son válidos", + "card_must_be_authenticated_by_3dsecure": "Su tarjeta debe ser autenticada con 3D Secure antes de continuar", + "card_payment": "Pago con tarjeta", + "careers": "Empleo", + "category_arrows": "Flechas", + "category_greek": "Griego", + "category_misc": "Miscelánea", + "category_operators": "Operadores", + "category_relations": "Relaciones", + "center": "Centro", + "certificate": "Certificado", + "change": "Cambiar", + "change_currency": "Cambiar divisa", + "change_password": "Cambiar contraseña", + "change_plan": "Cambiar plan", + "change_to_this_plan": "Cambiar a este plan", + "chat": "Chat", + "checking_dropbox_status": "Revisando estado de Dropbox", + "checking_project_github_status": "Revisando estado de proyecto en GitHub", + "choose_your_plan": "Elige tu plan", + "city": "Ciudad", + "clear_cached_files": "Borrar archivos en la caché", + "clearing": "Limpiando", + "click_here_to_view_sl_in_lng": "Haga click aquí para usar __appName__ en <0>__lngName__", + "close": "Cerrar", + "clsi_maintenance": "Los servidores de compilación están fuera de servicio por mantenimiento y volverán a estar operativos muy pronto.", + "cn": "Chino (simplificado)", + "collaboration": "Colaboración", + "collaborator": "Colaborador", + "collabs_per_proj": "__collabcount__ colaboradores por proyecto", + "comment": "Comentar", + "commit": "Commit", + "common": "Común", + "compile_error_entry_description": "Un error ha impedido la compilación de este proyecto", + "compile_error_handling": "Tratamiento de errores de compilación", + "compile_larger_projects": "Compilar proyectos más grandes", + "compile_mode": "Modo de compilación", + "compile_servers": "Servidores de compilación", + "compile_timeout_short": "Tiempo límite de compilación", + "compiler": "Compilador", + "compiling": "Compilando", + "complete": "Completar", + "compliance": "Conformidad", + "compromised_password": "Contraseña comprometida", + "configure_sso": "Configurar SSO", + "confirm": "Confirmar", + "confirm_affiliation": "Confirmar afiliación", + "confirm_email": "Confirmar email", + "confirm_new_password": "Confirmar nueva contraseña", + "confirming": "Confirmando", + "connected_users": "Usuarios conectados", + "connecting": "Conectando", + "connection_lost": "Conexión perdida", + "contact": "Contacto", + "contact_group_admin": "Por favor, contacta al administrador de tu grupo", + "contact_message_label": "Mensaje", + "contact_support": "Contactar con el soporte", + "contact_us": "Contáctanos", + "contact_us_lowercase": "Contáctanos", + "contacting_the_sales_team": "Contactar con el equipo de ventas", + "continue": "Continuar", + "continue_github_merge": "He hecho el merge de forma manual. Continuar", + "continue_with_free_plan": "Continuar con el plan gratuito", + "copied": "Copiado", + "copy": "Copiar", + "copy_code": "Copiar código", + "copy_project": "Copiar proyecto", + "copy_response": "Copiar respuesta", + "copying": "Copiando", + "country": "País", + "coupon_code": "Código de cupón", + "create": "Crear", + "create_new_subscription": "Crear nueva suscripción", + "create_project_in_github": "Crear un repositorio en GitHub", + "creating": "Creando", + "credit_card": "Tarjeta de crédito", + "cs": "Checo", + "current_password": "Contraseña actual", + "currently_subscribed_to_plan": "Actualmente estás suscrito al plan <0>__planName__.", + "da": "Danés", + "de": "Alemán", + "december": "Diciembre", + "delete": "Eliminar", + "delete_account": "Eliminar cuenta", + "delete_and_leave_projects": "Eliminar y abandonar proyectos", + "delete_projects": "Eliminar proyectos", + "delete_your_account": "Elimina tu cuenta", + "deleting": "Eliminando", + "description": "Descripción", + "disable_sso": "Deshabilitar SSO", + "disconnected": "Desconectado", + "documentation": "Documentación", + "doesnt_match": "No concuerdan", + "done": "Listo", + "download": "Descargar", + "download_pdf": "Descargar PDF", + "download_zip_file": "Descargar archivo .zip", + "dropbox_sync": "Sincronización con Dropbox", + "dropbox_sync_description": "Mantén tus proyectos de __appName__ sincronizados con Dropbox. Los cambios en __appName__ son automáticamente enviados a tu Dropbox y vice versa.", + "edit_sso_configuration": "Editar configuración de SSO", + "editing": "Editando", + "editor_disconected_click_to_reconnect": "Editor desconectado, clickea en cualquier parte para volver a conectar.", + "email": "Email", + "email_already_registered": "Este correo electrónico ya está registrado", + "email_link_expired": "El link para el correo electrónico expiró, por favor solicita uno nuevo.", + "email_or_password_wrong_try_again": "Tu correo electrónico o contraseña es incorrecto.", + "en": "Inglés", + "enable_sso": "Habilitar SSO", + "es": "Español", + "every": "cada", + "example_project": "Proyecto de ejemplo", + "expiry": "Fecha de expiración", + "export_project_to_github": "Exportar proyecto a GitHub", + "fast": "Rápido", + "features": "Características", + "february": "Febrero", + "first_name": "Nombre", + "folders": "Carpetas", + "font_size": "Tamaño de la tipografía", + "forgot_your_password": "¿Olvidaste tu contraseña", + "fr": "Francés", + "free": "Gratis", + "free_dropbox_and_history": "Dropbox e historial gratis", + "full_doc_history": "Historial completo de documentos", + "generic_something_went_wrong": "Disculpa, algo falló", + "get_discounted_plan": "Consigue el plan con descuento", + "get_in_touch": "Ponte en contacto", + "github_commit_message_placeholder": "Mensaje del commit para cambios hechos en __appName__...", + "github_is_premium": "La sincronización con GitHub es una característica premium", + "github_public_description": "Cualquier persona puede ver este repositorio. Tú eliges quién puede contribuir.", + "github_successfully_linked_description": "Gracias, vinculamos exitosamente tu cuenta de GitHub con __appName__. Ahora puedes exportar tus proyectos de __appName__ a GitHub o importar proyectos desde tus repositorios en GitHub.", + "github_sync": "Sincronización con GitHub", + "github_sync_description": "Con la sincronización con GitHub puedes enlazar tus proyectos de __appName__ con repositorios GitHub. Crea nuevos commits desde __appName__ y únelos con commits hechos offline o en GitHub.", + "github_sync_error": "Disculpa, hubo un error en la conexión con nuestro servicio de GitHub. Intenta de nuevo en unos minutos más, por favor.", + "github_validation_check": "Por favor revisa que el nombre del repositorio es válido y que tienes permisos para crear el repositorio.", + "global": "global", + "go_to_code_location_in_pdf": "Ir a la ubicación del código en el PDF", + "go_to_pdf_location_in_code": "Ir a la ubicación del PDF en el código", + "group_admin": "Administrador de grupo", + "group_plans": "Planes grupales", + "groups": "Grupos", + "have_more_days_to_try": "¡Aquí tienes __days__ días más de prueba!", + "headers": "Encabezados", + "help": "Ayuda", + "hotkeys": "Teclas de acceso rápido", + "i_want_to_stay": "Quiero seguir", + "ill_take_it": "¡Sí!", + "import_from_github": "Importar desde GitHub", + "import_to_sharelatex": "Importa a __appName__", + "importing": "Importando", + "importing_and_merging_changes_in_github": "Importando y uniendo cambios en GitHub", + "indvidual_plans": "Planes individuales", + "info": "Información", + "institution": "Institución", + "it": "Italiano", + "ja": "Japonés", + "january": "Enero", + "join_sl_to_view_project": "Ingresa a __appName__ para ver este proyecto", + "july": "Julio", + "june": "Junio", + "keybindings": "Teclas asociadas", + "ko": "Coreano", + "language": "Idioma", + "last_modified": "Última modificación", + "last_name": "Apellido", + "latam_discount_modal_info": "Aprovecha todo el potencial de HajTeX con un __discount__% de descuento en suscripciones premium pagadas en __currencyName__. Consigue tiempos de compilación más largos, historial completo de documentos, seguimiento de cambios, colaboradores adicionales y más.", + "latam_discount_modal_title": "Descuento en planes premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos un descuento del __discount__ en los planes premium de esta página para nuestros usuarios de __country__. Consulta los nuevos precios con descuento (en __currency__)", + "latex_templates": "Plantillas LaTeX", + "learn_more": "Más detalles", + "leave_group": "Abandonar grupo", + "leave_now": "Abandonar ya", + "leave_projects": "Abandonar proyectos", + "link_to_github": "Enlace a tu cuenta de GitHub", + "link_to_github_description": "Necesitas autorizar a __appName__ para acceder a tu cuenta de GitHub para permitirnos sincronizar tus proyectos.", + "link_to_mendeley": "Vincular a Mendeley", + "link_to_zotero": "Vincular a Zotero", + "links": "Enlaces", + "loading": "Cargando", + "loading_github_repositories": "Cargando tus repositorios de GitHub", + "loading_recent_github_commits": "Cargando commits recientes", + "log_in": "Entrar", + "log_in_with_sso": "Unirse mediante SSO", + "log_in_with_sso_email": "Dirección de correo de trabajo o universitaria", + "log_out": "Cerrar sesión", + "logging_in": "Ingresando", + "login": "Ingresar", + "login_here": "Ingresa aquí", + "logs_and_output_files": "Logs y archivos de salida", + "lost_connection": "Conexión perdida", + "main_document": "Documento principal", + "maintenance": "Mantenimiento", + "make_private": "Hacer privado", + "manage_group_settings_subtext": "Configurar y gestionar SSO y usuarios gestionados", + "manage_group_settings_subtext_group_sso": "Configurar y gestionar SSO", + "manage_subscription": "Gestionar suscripción", + "march": "Marzo", + "math_display": "Fórmulas mostradas", + "math_inline": "Fórmulas en texto", + "maximum_files_uploaded_together": "Máximo de archivos que se pueden subir a la vez: __max__", + "may": "Mayo", + "maybe_later": "Tal vez más tarde", + "mendeley": "Mendeley", + "mendeley_integration": "Integración de Mendeley", + "mendeley_is_premium": "La integración de Mendeley es una característica premium", + "mendeley_reference_loading_error": "Error, no se han podido cargar las referencias de Mendeley", + "mendeley_reference_loading_error_expired": "Tu token de Mendeley ha caducado, vuelve a vincular tu cuenta", + "mendeley_reference_loading_error_forbidden": "No se han podido cargar las referencias de Mendeley, vuelve a vincular tu cuenta y prueba de nuevo", + "mendeley_sync_description": "Con la integración de Mendeley puedes importar tus referencias de mendeley a tus proyectos de __appName__", + "menu": "Menú", + "merge": "Merge", + "merging": "Merging", + "month": "mes", + "monthly": "Mensualmente", + "more": "Más", + "must_be_email_address": "Debe ser una dirección de correo electrónico", + "name": "Nombre", + "native": "Nativo", + "navigation": "Navegación", + "nearly_activated": "¡Estás a un solo de paso de activar tu cuenta de __appName__!", + "need_anything_contact_us_at": "Si hay algo que necesitas, no dudes en contactarnos directamente en", + "need_to_leave": "¿Necesitas dejarnos?", + "need_to_upgrade_for_more_collabs": "Necesitas subir de categoría tu cuenta para añadir más colaboradores", + "new_file": "Nuevo archivo", + "new_folder": "Nueva carpeta", + "new_name": "Nuevo nombre", + "new_password": "Nueva contraseña", + "new_project": "Nuevo proyecto", + "next_payment_of_x_collectected_on_y": "El próximo pago de <0>__paymentAmmount__ será cobrado el <1>__collectionDate__", + "nl": "Neerlandés", + "no": "Noruego", + "no_members": "Sin miembros", + "no_messages": "Sin mensajes", + "no_new_commits_in_github": "No hay nuevos commits en GitHub desde el último merge.", + "no_planned_maintenance": "No hay mantenimiento programado actualmente", + "no_preview_available": "Disculpa, no hay previsualización.", + "no_projects": "Sin proyectos", + "no_search_results": "No hay resultados de búsqueda", + "no_thanks_cancel_now": "No, gracias. Sigo queriendo cancelar", + "normal": "Normal", + "not_now": "Ahora no", + "november": "Noviembre", + "october": "Octubre", + "off": "Apagado", + "ok": "Aceptar", + "one_collaborator": "Solo un colaborador", + "one_free_collab": "Un colaborador gratis", + "online_latex_editor": "Editor de LaTeX online", + "open_a_file_on_the_left": "Abrir un archivo a la izquierda", + "optional": "Opcional", + "or": "o", + "other_logs_and_files": "Otros logs y archivos", + "other_ways_to_log_in": "Otras formas de unirse", + "over": "más", + "owner": "Propietario", + "page_not_found": "Página no encontrada", + "password": "Contraseña", + "password_reset": "Restablecer contraseña", + "password_reset_email_sent": "Se ha enviado un correo electrónico con tu contraseña restablecida.", + "password_reset_token_expired": "Tu token de reinicio de contraseña ha expirado. Por favor solicita un nuevo correo electrónico para reinicio de contraseña y sigue el enlace ahí.", + "pdf_rendering_error": "Error al renderizar PDF", + "pdf_viewer": "Visor de PDF", + "personal": "Personal", + "pl": "Polaco", + "planned_maintenance": "Mantenimiento programado", + "plans_amper_pricing": "Planes y precios", + "plans_and_pricing": "Planes y precios", + "please_compile_pdf_before_download": "Por favor compila tu proyecto antes de descargar el PDF", + "please_compile_pdf_before_word_count": "Por favor compila tu proyecto antes de realizar un conteo de palabras", + "please_enter_email": "Ingresa tu dirección de correo electrónico, por favor ", + "please_refresh": "Por favor actualiza la página para continuar.", + "please_set_a_password": "Establece una contraseña", + "position": "Cargo", + "presentation": "Presentación", + "price": "Precio", + "privacy": "Privacidad", + "privacy_policy": "Política de privacidad", + "private": "Privado", + "problem_changing_email_address": "Hubo un problema cambiando tu dirección de correo electrónico. Por favor intenta de nuevo en unos minutos. Si tu problema persiste, contáctanos por favor.", + "problem_talking_to_publishing_service": "Hay un problema con nuestro servicio de publicación, por favor intenta en unos minutos más", + "problem_with_subscription_contact_us": "Hay un problema con tu suscripción. Por favor toma contacto con nosotros para mayor infor\u001bmación.", + "processing": "procesando", + "professional": "Profesional", + "project_last_published_at": "Tu proyecto fue publicado en", + "project_name": "Nombre del proyecto", + "project_not_linked_to_github": "Este proyecto no está enlazado a un repositorio de GitHub. Puedes crear un repositorio para él en GitHub:", + "project_synced_with_git_repo_at": "Este proyecto está sincronizado con el repositorio de GitHub en", + "project_too_large": "Proyecto demasiado grande", + "project_too_large_please_reduce": "Este proyecto tiene mucho texto, por favor intenta reducirlo.", + "project_url": "URL del proyecto afectado", + "projects": "Proyectos", + "provide_details_of_your_sso_configuration": "Añada, edite o elimine los metadatos SAML de su proveedor de identidades.", + "pt": "Portugués", + "public": "Público", + "publish": "Publicar", + "publish_as_template": "Gestionar plantilla", + "publishing": "Publicando", + "pull_github_changes_into_sharelatex": "Actualiza cambios de GitHub en __appName__", + "push_sharelatex_changes_to_github": "Envía cambios de __appName__ a GitHub", + "read_only": "Solo leer", + "recent_commits_in_github": "Commits recientes en GitHub", + "recompile": "Recompilar", + "reconnecting": "Volviendo a conectar", + "reconnecting_in_x_secs": "Volviendo a conectar en __seconds__ segundos", + "reference_error_relink_hint": "Si el error persiste, prueba a volver a vincular la cuenta aquí:", + "refresh_page_after_starting_free_trial": "Por favor actualiza esta página para empezar tu prueba gratuita.", + "regards": "Atentamente", + "register": "Registrarse", + "register_to_edit_template": "Por favor regístrate para editar la plantilla __templateName__", + "registered": "Registrado", + "registering": "Registrando", + "remove_collaborator": "Eliminar colaborador(a)", + "remove_from_group": "Eliminar del grupo", + "remove_secondary_email_addresses": "Elimine cualquier dirección de correo electrónico secundaria asociada a su cuenta. <0>Elimínelas en la configuración de la cuenta.", + "removed": "eliminado", + "removing": "Eliminando", + "rename": "Renombrar", + "rename_project": "Renombrar proyecto", + "renaming": "Renombrando", + "repository_name": "Nombre del repositorio", + "republish": "Volver a publicar", + "request_password_reset": "Pedir restablecimiento de contraseña", + "request_sent_thank_you": "Solicitud enviada, gracias.", + "required": "obligatorio", + "resend_link_sso": "Re-enviar invitación de SSO", + "reset_password": "Restablecer contraseña", + "reset_your_password": "Restablecer tu contraseña", + "restore": "Restablecer", + "restoring": "Restableciendo", + "restricted": "Restringido", + "restricted_no_permission": "Restringido. Disculpa, no tienes permiso para cargar esta página.", + "ro": "Rumano", + "role": "Rol", + "ru": "Ruso", + "saml_auth_error": "Lo sentimos, su proveedor de identidad respondió con un error. Póngase en contacto con su administrador para obtener más información.", + "saml_email_not_recognized_error": "Esta dirección de correo electrónico no está configurada para SSO. Por favor, compruébelo e inténtelo de nuevo o póngase en contacto con su administrador.", + "saml_identity_exists_error": "Lo sentimos, la identidad devuelta por su proveedor de identidad ya está vinculada con una cuenta HajTeX diferente. Póngase en contacto con su administrador para obtener más información.", + "saml_invalid_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad tiene una firma no válida. Póngase en contacto con su administrador para obtener más información.", + "saml_login_disabled_error": "Lo sentimos, el inicio de sesión único (SSO) se ha desactivado para __email__. Póngase en contacto con su administrador para obtener más información.", + "saml_login_failure": "Lo sentimos, ha habido un problema al iniciar sesión. Póngase en contacto con su administrador para obtener más información.", + "saml_login_identity_mismatch_error": "Lo sentimos, estás intentando iniciar sesión en HajTeX como __email__ pero la identidad devuelta por tu proveedor de identidad no es la correcta para esta cuenta de HajTeX.", + "saml_login_identity_not_found_error": "Lo sentimos, no hemos podido encontrar una cuenta de HajTeX configurada para el inicio de sesión único con este proveedor de identidad.", + "saml_missing_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad no está firmada (se requieren las firmas de respuesta y de aserción). Póngase en contacto con su administrador para obtener más información.", + "saving": "Guardando", + "saving_notification_with_seconds": "Guardando __docname__... (__seconds__ segundos de cambios no guardados)", + "search_bib_files": "Buscar por autor, título, año", + "search_projects": "Buscar proyectos", + "search_references": "Buscar los archivos .bib de este proyecto", + "security": "Seguridad", + "select_github_repository": "Selecciona un repositorio de GitHub para importarlo en __appName__", + "send_first_message": "Envía tu primer mensaje", + "september": "Septiembre", + "server_error": "Error del servidor", + "services": "Servicios", + "session_expired_redirecting_to_login": "La sesión ha caducado. Se te redirigirá a la página de inicio de sesión en __seconds__ segundos", + "set_new_password": "Establece una nueva contraseña", + "set_password": "Establecer contraseña", + "settings": "Opciones", + "share": "Compartir", + "share_project": "Compartir proyecto", + "share_with_your_collabs": "Compartir con tus colaboradores", + "shared_with_you": "Compartidos contigo", + "show_hotkeys": "Mostrar teclas de acceso rápido", + "single_sign_on_sso": "Single Sign-On (SSO)", + "something_went_wrong_rendering_pdf": "Algo ha fallado al renderizar este PDF.", + "somthing_went_wrong_compiling": "Disculpa, algo anduvo mal y tu proyecto no se pudo compilar. Por favor, intenta de nuevo en unos minutos más.", + "source": "Fuente", + "spell_check": "Revisión ortográfica", + "sso": "SSO", + "sso_active": "SSO activo", + "sso_config_prop_help_certificate": "Certificado codificado en Base64 sin espacios en blanco", + "sso_config_prop_help_first_name": "Atributo SAML que especifica el nombre de pila del usuario", + "sso_config_prop_help_last_name": "El atributo SAML que especifica el apellido del usuario", + "sso_config_prop_help_user_id": "El atributo SAML proporcionado por su proveedor de internet que identifica a cada usuario", + "sso_configuration": "Configuración de SSO", + "sso_explanation": "Configure el inicio de sesión único (SSO) para su grupo. Este método de inicio de sesión será opcional para los miembros del grupo a menos que la opción de Usuarios Administrados esté habilitada. <0>Más información sobre HajTeX Group SSO.", + "sso_integration": "Integración de SSO", + "sso_integration_info": "HajTeX ofrece una integración estándar de inicio de sesión único (SSO) basada en SAML", + "sso_is_disabled": "El SSO está deshabilitado", + "sso_is_disabled_explanation_1": "Los miembros del grupo no podrán iniciar sesión a través de SSO", + "sso_is_disabled_explanation_2": "Todos los miembros del grupo necesitarán un nombre de usuario y una contraseña para iniciar sesión en __appName__", + "sso_is_enabled": "El SSO está habilitado", + "sso_is_enabled_explanation_1": "Los miembros del grupo <0>sólo podrán iniciar sesión a través de SSO después de vincular sus cuentas con su proveedor de identidad.", + "sso_is_enabled_explanation_2": "Si hay algún problema con la configuración, sólo usted (como administrador del grupo) podrá desactivar el SSO.", + "sso_link_error": "Error al vincular la cuenta", + "sso_link_invite_has_been_sent_to_email": "Se ha enviado un recordatorio de invitación SSO a <0>__email__", + "sso_logs": "Logs de SSO", + "sso_not_active": "El SSO no está activo", + "sso_title": "Inicio de sesión único (SSO)", + "start_free_trial": "¡Empieza la prueba gratuita!", + "state": "Estado", + "student": "Estudiante", + "subject": "Asunto", + "subscribe": "Suscríbete", + "subscription": "Suscripción", + "subscription_canceled_and_terminate_on_x": " Tu suscripción ha sido cancelada y terminará el <0>__terminateDate__. No se realizarán futuros pagos.", + "suggestion": "Sugerencia", + "sure_you_want_to_change_plan": "¿Estás seguro que quieres cambiar al plan <0>__planName___?", + "sure_you_want_to_delete": "¿Seguro que quieres borrar permanentemente los siguientes archivos?", + "sure_you_want_to_leave_group": "¿Seguro que quieres abandonar este grupo?", + "sv": "Sueco", + "sync": "Sincronizar", + "sync_project_to_github_explanation": "Cualquier cambio que hagas en __appName__ será guardado como un commit y merge con cualquier actualización en GitHub.", + "sync_to_dropbox": "Sincronización con Dropbox", + "sync_to_github": "Sincronizar con GitHub", + "take_me_home": "¡Llévame al incio!", + "template_description": "Descripción de plantilla", + "templates": "Plantillas", + "terms": "Términos", + "thank_you": "Gracias", + "thanks": "¡Gracias", + "thanks_for_subscribing": "¡Gracias por suscribirte!", + "thanks_for_subscribing_you_help_sl": "Gracias por suscribirte al plan __planName__. Es por personas como tú que permite que __appName__ siga creciendo y mejorando.", + "thanks_settings_updated": "Gracias, tus opciones han sido actualizadas.", + "theme": "Tema", + "thesis": "Tesis", + "this_is_your_template": "Esta es la plantilla de tu proyecto", + "this_project_is_public": "Este proyecto es público y puede ser editado por cualquiera que tenga la URL.", + "this_project_is_public_read_only": "Este proyecto es público y puede ser visto (pero no editado) por cualquiera que tenga la dirección URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Este proyecto aparecerá en tu carpeta de Dropbox en ", + "three_free_collab": "Tres colaboradores gratis", + "timedout": "Expiró el tiempo de espera", + "title": "Título", + "to_many_login_requests_2_mins": "Esta cuenta ha tenido muchas peticiones de identificación. Por favor espera 2 minutos antes de intentar identificarte de nuevo", + "to_modify_your_subscription_go_to": "Para modificar tu suscripción ve a", + "too_many_files_uploaded_throttled_short_period": "Estás intentando subir demasiados archivos. Se te han limitado las subidas por un corto período de tiempo.", + "too_recently_compiled": "Este proyecto se ha compilado hace muy poco, por lo que se ha omitido esta complicación.", + "total_words": "Palabras totales", + "tr": "Turco", + "try_now": "Intenta ahora", + "uk": "Ucraniano", + "university": "Universidad", + "unlimited_collabs": "Colaboradores ilimitados", + "unlimited_projects": "Proyectos ilimitados", + "unlink": "Desvincular", + "unlink_github_warning": "Cualquier proyecto que hayas sincronizado con GitHub será desconectado y no se mantendrá sincronizado con GitHub. ¿Estás seguro que quieres desvincular tu cuenta de GitHub?", + "unlink_reference": "Desvincular proveedor de referencias", + "unlink_warning_reference": "Aviso: al desvincular tu cuenta de este proveedor no podrás importar referencias en tus proyectos.", + "unpublish": "Anular publicación", + "unpublishing": "Anular publicación", + "unsubscribe": "Anular suscripción", + "unsubscribed": "Suscripción anulada", + "unsubscribing": "Anulando la suscripción", + "update": "Actualizar", + "update_account_info": "Actualizar información de la cuenta", + "update_dropbox_settings": "Actualizar opciones de Dropbox", + "update_your_billing_details": "Actualiza tus detalles para cobro", + "updating_site": "Actualizando sitio", + "upgrade": "Sube de categoría", + "upgrade_now": "Sube de categoría ahora", + "upgrade_to_get_feature": "Sube de categoría para conseguir __feature__, además de:", + "upload": "Subir", + "upload_project": "Subir proyecto", + "upload_zipped_project": "Subir proyecto en Zip", + "user_wants_you_to_see_project": "__username__ quiere que veas __projectname__", + "vat_number": "Número VAT", + "view_all": "Ver todas", + "view_in_template_gallery": "Verlo en la galería de plantillas", + "welcome_to_sl": "¡Bienvenido a __appName__", + "what_happens_when_sso_is_enabled": "¿Qué ocurre cuando se activa el SSO?", + "word_count": "Conteo de palabras", + "work_or_university_sso": "Inicio de sesión único (SSO) del trabajo/universidad", + "year": "año", + "you_have_added_x_of_group_size_y": "Has agregado <0>__addedUsersSize__ de <1>__groupSize__ miembros disponibles", + "you_need_to_configure_your_sso_settings": "Debe configurar y probar sus ajustes de SSO antes de activar el SSO", + "youll_no_longer_need_to_remember_credentials": "Ya no tendrás que recordar una dirección de correo electrónico y una contraseña distintas. En su lugar, utilizarás el inicio de sesión único para iniciar sesión en HajTeX. <0>Más información sobre SSO.", + "your_account_is_suspended": "Tu cuenta está suspendida", + "your_compile_timed_out": "Su tiempo de compilación se ha agotado", + "your_git_access_info_bullet_1": "Puede tener hasta 10 tokens", + "your_git_access_info_bullet_2": "Si alcanzas el límite máximo, tendrás que borrar un token antes de poder generar uno nuevo.", + "your_git_access_info_bullet_3": "Puede generar un token utilizando el botón <0>Generar token.", + "your_git_access_info_bullet_5": "Los tokens generados previamente se mostrarán aquí.", + "your_git_access_tokens": "Sus tokens de autenticación Git", + "your_message_to_collaborators": "Mande un mensaje a todos sus colaboradores", + "your_new_plan": "Su nuevo plan", + "your_password_has_been_successfully_changed": "Su contraseña ha sido modificada correctamente", + "your_plan": "Tu plan", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Tu proyecto ha superado el límite de tiempo de compilación de nuestro plan gratuito.", + "your_project_near_compile_timeout_limit": "Tu proyecto está cerca del límite de tiempo de compilación para nuestro plan gratuito.", + "your_projects": "Tus proyectos", + "your_questions_answered": "Sus preguntas respondidas", + "your_role": "Su rol", + "your_sessions": "Sus sesiones", + "your_subscription": "Tu suscripción", + "your_subscription_has_expired": "Tu suscripción expiró.", + "youre_a_member_of_overleaf_labs": "Ya eres miembro de HajTeX Labs. No olvides visitarnos regularmente para ver a qué experimentos puedes apuntarte.", + "youre_about_to_disable_single_sign_on": "Está a punto de desactivar el inicio de sesión único para todos los miembros del grupo.", + "youre_about_to_enable_single_sign_on": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta y de que todos los miembros de su grupo tienen cuentas de usuario gestionadas.", + "youre_about_to_enable_single_sign_on_sso_only": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta.", + "youre_already_setup_for_sso": "Ya está configurado para SSO", + "youre_on_free_trial_which_ends_on": "Estás en una prueba gratuita que termina en <0>__date__.", + "youre_signed_up": "Estás inscrito", + "youve_lost_edit_access": "Has perdido el acceso de edición", + "youve_unlinked_all_users": "Has desvinculado a todos los usuarios", + "zh-CN": "Chino", + "zoom_in": "Ampliar", + "zoom_out": "Alejar", + "zotero": "Zotero", + "zotero_cta": "Obtener integración con Zotero", + "zotero_groups_loading_error": "Hubo un error cargando los grupos desde Zotero", + "zotero_integration": "Integración de Zotero.", + "zotero_integration_lowercase": "Integración con Zotero", + "zotero_is_premium": "La integración de Zotero es una característica premium", + "zotero_reference_loading_error": "Error, no se han podido cargar las referencias de Zotero", + "zotero_reference_loading_error_expired": "Tu token de Zotero ha caducado, vuelve a vincular tu cuenta", + "zotero_reference_loading_error_forbidden": "No se han podido cargar las referencias de Zotero, vuelve a vincular tu cuenta y prueba de nuevo", + "zotero_sync_description": "Con la integración de Zotero puedes importar tus referencias de zotero a tus proyectos de __appName__." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fi.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fi.json new file mode 100644 index 0000000..1061f3f --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fi.json @@ -0,0 +1,355 @@ +{ + "about": "Tietoa", + "about_to_delete_projects": "Olet poistamassa seuraavia projekteja:", + "about_to_leave_projects": "Olet jättämässä seuraavat projektit:", + "account": "Tili", + "account_not_linked_to_dropbox": "Tilisi ei ole yhdistetty Dropboxiin", + "account_settings": "Tilin asetukset", + "actions": "Toiminnot", + "add": "Lisää", + "add_more_members": "Lisää jäseniä", + "add_your_first_group_member_now": "Lisää ensimmäiset ryhmäsi jäsenet nyt", + "added": "lisätty", + "address": "Osoite", + "admin": "ylläpitäjä", + "all_projects": "Kaikki projektit", + "all_templates": "Kaikki mallipohjat", + "already_have_sl_account": "Onko sinulla jo __appName__-tili?", + "and": "ja", + "annual": "Vuosittainen", + "anonymous": "Anonyymi", + "april": "Huhtikuu", + "august": "Elokuu", + "auto_complete": "Automaattinen täydennys", + "back_to_your_projects": "Takaisin projekteihisi", + "beta": "Beta", + "bibliographies": "Lähdeluettelot", + "blank_project": "Tyhjä projekti", + "blog": "Blogi", + "built_in": "Sisäänrakennettu", + "can_edit": "Voi muokata", + "cancel": "Peru", + "cant_find_email": "Tämä sähköposti ei ole rekisteröity, pahoittelut.", + "cant_find_page": "Anteeksi, emme löydä hakemaasi sivua.", + "change": "Muuta", + "change_password": "Vaihda salasana", + "change_plan": "Muuta sopimusta", + "change_to_this_plan": "Muutos tähän sopimukseen", + "chat": "Keskustelu", + "checking_dropbox_status": "tarkistetaan Dropboxin tilaa", + "checking_project_github_status": "Tarkistetaan projektin tilaa GitHubissa", + "choose_your_plan": "Valitse sopimustyyppi", + "city": "Postitoimipaikka", + "clear_cached_files": "Tyhjennä väliaikaistiedostot", + "clearing": "Tyhjennetään", + "click_here_to_view_sl_in_lng": "Klikkaa tästä käyttääksesi sovellusta __appName__ kielellä <0>__lngName__", + "close": "Sulje", + "cn": "Kiina (Yksinkertainen)", + "collaboration": "Yhteistyö", + "collaborator": "Työtoveri", + "collabs_per_proj": "__collabcount__ työtoveria per projekti", + "comment": "Kommentoi", + "commit": "Muuta", + "common": "Yleisiä", + "compiler": "Kääntäjä", + "compiling": "Käännetään", + "complete": "Valmis", + "confirm_new_password": "Vahvista uusi salasana", + "connecting": "Yhdistetään", + "contact": "Ota yhteyttä", + "contact_us": "Ota yhteyttä", + "continue_github_merge": "Olen yhdistänyt manuaalisesti. Jatka", + "copy": "Kopioi", + "copy_project": "Kopioi projekti", + "copying": "kopioidaan", + "country": "Maa", + "coupon_code": "Kuponkikoodi", + "create": "Luo", + "create_new_subscription": "Luo uusi tilaus", + "create_project_in_github": "Luo GitHub-repository", + "creating": "Luodaan", + "credit_card": "Luottokortti", + "cs": "Tsekki", + "current_password": "Nykyinen salasana", + "currently_subscribed_to_plan": "Sinula on tällä hetkellä <0>__planName__-sopimus", + "da": "Tanska", + "de": "Saksa", + "december": "Joulukuu", + "delete": "Poista", + "delete_account": "Poista tili", + "delete_your_account": "Poista tilisi", + "deleting": "Poistetaan", + "disconnected": "Yhteys katkaistu", + "documentation": "Dokumentaatio", + "doesnt_match": "Eivät vastaa toisiaan", + "done": "Valmis", + "download": "Lataa", + "download_pdf": "Lataa PDF", + "download_zip_file": "Lataa .zip-tiedosto", + "dropbox_sync": "Dropbox-synkronointi", + "dropbox_sync_description": "Pidä __appName__-projektisi synkronoituna Dropboxiisi. Sovelluksessa __appName__ tehdyt muutokset lähetetään automaattisesti Dropboxiin ja toisin päin.", + "editing": "Muokkaaminen", + "email": "Sähköposti", + "email_link_expired": "Sähköpostilinkki on vanhentunut, ole hyvä ja pyydä uusi.", + "email_or_password_wrong_try_again": "Sähköpostiosoitteesi tai salasanasi oli väärä. Ole hyvä ja yritä uudelleen", + "en": "Englanti", + "es": "Espanja", + "every": "joka", + "example_project": "Esimerkkiprojekti", + "expiry": "Voimassa", + "export_project_to_github": "Vie Projekti GitHubiin", + "features": "Ominaisuudet", + "february": "Helmikuu", + "first_name": "Etunimi", + "folders": "Kansiot", + "font_size": "Kirjasimen koko", + "forgot_your_password": "Unohditko salasanasi", + "fr": "Ranska", + "free": "Ilmainen", + "free_dropbox_and_history": "Ilmainen Dropbox ja historia", + "full_doc_history": "Täysi dokumentin historia", + "generic_something_went_wrong": "Anteeksi, jokin meni pieleen :(", + "get_in_touch": "Ota yhteyttä", + "github_commit_message_placeholder": "Tehdyt muutokset-viesti sovelluksessa __appName__ tehdyille muutoksille", + "github_is_premium": "GitHub-synkronointi on premium-ominaisuus", + "github_public_description": "Kuka tahansa voi nähdä tämän repositoryn. Voit valita kuka voi tehdä muutoksia.", + "github_successfully_linked_description": "Kiitos, olemme linkittäneet GitHub-tilisi sovellukseen __appName__ onnistuneesti. Voit nyt viedä __appName__-projektejasi GitHubiin tai tuoda projekteja omista GitHub-repositoryistasi.", + "github_sync": "GitHub Synkronointi", + "github_sync_description": "Voit linkittää __appName__-projektisi GitHub-repositoryihin GitHub Syncin avulla. Tee uusia muutoksia sovelluksesta __appName__ ja yhdistä GitHubissa tai offline-tilassa tehtyihin muutoksiin.", + "github_sync_error": "Tapahtui virhe puhuessa GitHub-palvelullemme. Yritä uudelleen pienen hetken päästä.", + "github_validation_check": "Tarkista, että repositoryn nimi on kelvollinen ja että sinulla on oikeudet luoda repository.", + "go_to_code_location_in_pdf": "Mene koodin sijaintiin PDF:ssä", + "go_to_pdf_location_in_code": "Mene PDF-sijaintiin koodissa", + "group_admin": "Ryhmän ylläpitäjä", + "help": "Apua", + "hotkeys": "Pikanäppäimet", + "import_from_github": "Tuo GitHubista", + "import_to_sharelatex": "Tuo sovellukseen __appName__", + "importing": "Tuodaan", + "importing_and_merging_changes_in_github": "Tuodaan ja yhdistetään muutoksia GitHubissa", + "indvidual_plans": "Yksilöllinen sopimus", + "info": "Tietoa", + "institution": "Instituutio", + "it": "Italia", + "ja": "Japani", + "january": "Tammikuu", + "join_sl_to_view_project": "Liity sovellukseen __appName__ nähdäksesti tämän projektin", + "july": "Heinäkuu", + "june": "Kesäkuu", + "keybindings": "Näppäinasetukset", + "ko": "Korea", + "language": "Kieli", + "last_modified": "Viimeksi muokattu", + "last_name": "Sukunimi", + "latex_templates": "LaTeX-mallit", + "learn_more": "Lue lisää", + "link_to_github": "Linkitä GitHub-tiliisi", + "link_to_github_description": "Sinun tulee antaa sovellukselle __appName__ pääsy GitHub-tilillesi, joka sallii meidän synkronoida projektisi.", + "loading": "Ladataan", + "loading_github_repositories": "Ladataan sinun GitHub-repositoryja", + "loading_recent_github_commits": "Ladataan viimeisiä muutoksia", + "log_in": "Kirjaudu sisään", + "log_out": "Kirjaudu ulos", + "logging_in": "Kirjaudutaan sisään", + "login": "Kirjaudu", + "login_here": "Kirjaudu tästä", + "logs_and_output_files": "Loki- ja tulostetiedostot", + "lost_connection": "Yhteys menetettiin.", + "main_document": "Päädokumentti", + "maintenance": "Huolto", + "make_private": "Tee yksityiseksi", + "march": "Maaliskuu", + "may": "Toukokuu", + "menu": "Valikko", + "merge": "Yhdistä", + "merging": "Yhdistetään", + "month": "kuukausi", + "monthly": "Kuukausittainen", + "more": "Lisää", + "must_be_email_address": "Täytyy olla sähköpostiosoite", + "name": "Nimi", + "native": "natiivi", + "navigation": "Navigointi", + "need_anything_contact_us_at": "Jos ikinä tarvitset mitään, ota suoraan yhteyttä osoitteeseen", + "need_to_leave": "Haluatko lähteä?", + "need_to_upgrade_for_more_collabs": "Sinun täytyy päivittää tilisi lisätäksesi työtovereta", + "new_file": "Uusi tiedosto", + "new_folder": "Uusi kansio", + "new_name": "Uusi nimi", + "new_password": "Uusi salasana", + "new_project": "Uusi projekti", + "next_payment_of_x_collectected_on_y": "Seuraava maksu on <0>__paymentAmmount__ ja se kerätään <1>__collectionDate__", + "nl": "Hollanti", + "no": "Norja", + "no_members": "Ei jäseniä", + "no_messages": "Ei viestejä", + "no_new_commits_in_github": "Ei uusia muutoksia GitHubissa sitten viimeisen yhdistyksen.", + "no_planned_maintenance": "Tällä hetkellä ei ole suunniteltuja ylläpitoja", + "no_preview_available": "Anteeksi, esikatselua ei ole saatavilla.", + "no_projects": "Ei projekteja", + "not_now": "Ei nyt", + "november": "Marraskuu", + "october": "Lokakuu", + "off": "Pois", + "ok": "OK", + "one_collaborator": "Vain yksi työtoveri", + "one_free_collab": "Yksi ilmainen työtoveri", + "online_latex_editor": "Verkossa toimiva LaTeX-editori", + "optional": "Valinnainen", + "or": "tai", + "other_logs_and_files": "Muut lokit & tiedostot", + "over": "yli", + "owner": "Omistaja", + "page_not_found": "Sivua Ei Löydy", + "password": "Salasana", + "password_reset": "Nollaa salasana", + "password_reset_email_sent": "Sinulle on lähetetty sähköposti, jossa on ohjeet salasanan nollaamiseksi.", + "password_reset_token_expired": "Salasanan uusimislinkki on vanhentunut. Pyydä uusi salasanan uusimissähköposti ja seuraa saatua linkkiä.", + "pdf_viewer": "PDF-lukija", + "personal": "Henkilökohtainen", + "pl": "Puola", + "planned_maintenance": "Suunniteltu ylläpito", + "plans_amper_pricing": "Sopimukset & Hinnoittelu", + "plans_and_pricing": "Sopimukset ja hinnoittelu", + "please_compile_pdf_before_download": "Käännä projektisi ennen kuin lataat PDF:n", + "please_enter_email": "Syötä sähköpostiosoitteesi", + "please_refresh": "Päivitä sivu jatkaaksesi.", + "position": "Asema", + "presentation": "Esitelmä", + "price": "Hinta", + "privacy": "Tietosuoja", + "privacy_policy": "Yksityisyyskäytäntö", + "private": "Yksityinen", + "problem_changing_email_address": "Sähköpostia muutettaessa tapahtui virhe. Ole hyvä ja yritä uudelleen hetken kuluttua. Jos ongelma jatkuu, ota meihin yhteyttä.", + "problem_talking_to_publishing_service": "Julkaisupalvelussamme on ongelma, ole hyvä ja yritä uudestaan muutaman minuutin kuluttua.", + "problem_with_subscription_contact_us": "Tilauksessasi on on ongelma. Ole hyvä ja ota meihin yhteyttä saadaksesi lisätietoja.", + "processing": "käsitellään", + "professional": "Ammattilainen", + "project_last_published_at": "Projektisi julkaistiin viimeksi", + "project_name": "Projektin nimi", + "project_not_linked_to_github": "Tämä projekti ei ole linkitetty GitHub-repositoryyn. Voit luoda sille repositoryn GitHubissa:", + "project_synced_with_git_repo_at": "Tämä projekti synkronoitiin GitHub-repositoryyn kohteessa", + "project_too_large": "Projekti liian suuri", + "project_too_large_please_reduce": "Tässä projektissa on liikaa tekstiä, yritä ja vähennä sitä.", + "projects": "Projektit", + "pt": "Portugali", + "public": "Julkinen", + "publish": "Julkaise", + "publish_as_template": "Julkaise mallina", + "publishing": "Julkaistaan", + "pull_github_changes_into_sharelatex": "Tuo __appName__-muutokset GitHubista", + "push_sharelatex_changes_to_github": "Vie __appName__-muutokset GitHubiin", + "read_only": "Read Only", + "recent_commits_in_github": "Viimeiset muutokset GitHubissa", + "recompile": "Käännä uudestaan", + "reconnecting": "Yhdistetään uudelleen", + "reconnecting_in_x_secs": "Yhteys muodostetaan uudestaan __seconds__ sekunnin kuluttua", + "refresh_page_after_starting_free_trial": "Ole hyvä ja päivitä tämä sivu aloitettuasi ilmaisen kokeilusi.", + "regards": "Kiittäen", + "register": "Rekisteröidy", + "register_to_edit_template": "Ole hyvä ja rekisteröidy muokataksesi mallia __templateName__", + "registered": "Rekisteröitynyt", + "registering": "Rekisteröidään", + "remove_collaborator": "Poista työtoveri", + "remove_from_group": "Poista ryhmästä", + "removed": "poistettu", + "rename": "Nimeä uudelleen", + "rename_project": "Uudelleennimeä projekti", + "repository_name": "Repositoryn Nimi", + "republish": "Uudelleenjulkaise", + "request_password_reset": "Pyydä salasanan nollausta", + "required": "vaadittu", + "reset_password": "Nollaa salasana", + "reset_your_password": "Nollaa salasanasi", + "restore": "Palauta", + "restoring": "Palautetaan", + "restricted": "Rajoitettu pääsy", + "restricted_no_permission": "Rajoitettu, sinulla ei valitettavasti ole lupaa ladata tätä sivua", + "ro": "Romania", + "role": "Rooli", + "ru": "Venäjä", + "saving": "Tallennetaan", + "saving_notification_with_seconds": "Tallennetaan __docname__... (__seconds__ sekuntia tallentamattomia muutoksia)", + "search_projects": "Etsi projekteja", + "security": "Turvallisuus", + "select_github_repository": "Valitse GitHub-repository tuotavaksi sovellukseen __appName__.", + "send_first_message": "Lähetä ensimmäinen viestisi", + "september": "Syyskuu", + "server_error": "Palvelinvirhe", + "set_new_password": "Aseta uusi salasana", + "set_password": "Aseta salasana", + "settings": "Asetukset", + "share": "Jaa", + "share_project": "Jaa projekti", + "share_with_your_collabs": "Jaa työtovereidesi kanssa", + "shared_with_you": "Jaettu kanssasi", + "show_hotkeys": "Näytä pikanäppäimet", + "somthing_went_wrong_compiling": "Anteeksi, jokin meni pieleen ja projektiasi ei voitu kääntää. Yritä uudelleen hetken kuluttua.", + "source": "Lähde", + "spell_check": "Oikeinkirjoituksen tarkistus", + "start_free_trial": "Aloita ilmainen kokeilu!", + "state": "Tila", + "student": "Opiskelija", + "subscribe": "Tilaa", + "subscription": "Tilaus", + "subscription_canceled_and_terminate_on_x": " Tilauksesi on peruutettu ja loppuu <0>__terminateDate__. Lisämaksuja ei veloiteta.", + "sure_you_want_to_change_plan": "Oletko varma, että haluat vaihtaa sopimukseen <0>__planName__?", + "sv": "Ruotsi", + "sync": "Synkronointi", + "sync_project_to_github_explanation": "Kaikki __appName__-sovelluksessa tekemäsi muutokset viedään ja sulautetaan mihin tahansa GitHubissa oleviin päivityksiin.", + "sync_to_dropbox": "Yhdistä Dropboxiin", + "sync_to_github": "Synkronoi GitHubiin", + "take_me_home": "Vie minut kotiin!", + "template_description": "Mallin kuvaus", + "templates": "Mallit", + "terms": "Ehdot", + "thank_you": "Kiitos", + "thanks": "Kiitos", + "thanks_for_subscribing": "Kiitos tilauksesta!", + "thanks_for_subscribing_you_help_sl": "Kiitos, että tilasit __planName__-sopimuksen. Kaltaistesi ihmisten antama tuki mahdollistaa __appName__-sovelluksen kehittämisen jatkumisen.", + "thanks_settings_updated": "Kiitos, asetuksesi ovat päivitetty.", + "theme": "Teema", + "thesis": "Lopputyö", + "this_project_is_public": "Tämä projekti on julkinen ja sitä voi muokata kuka tahansa, jolla on URL.", + "this_project_is_public_read_only": "Tämä projekti on julkinen ja sitä voi katsoa mutta ei muokata URL-osoitteella", + "this_project_will_appear_in_your_dropbox_folder_at": "Tämä projekti ilmestyy Dropbox-kansioosi kohteessa ", + "three_free_collab": "Kolme ilmaista työtoveria", + "timedout": "Aikakatkaisu", + "title": "Otsikko", + "to_many_login_requests_2_mins": "Tällä tilillä on liian monta sisäänkirjautumispyyntöä. Ole hyvä ja odota 2 minuuttia ennen kuin yrität kirjautua uudestaan", + "tr": "Turkki", + "try_now": "Yritä nyt", + "uk": "Ukraina", + "university": "Yliopisto", + "unlimited_collabs": "Rajattomasti työtovereita", + "unlimited_projects": "Rajattomasti projekteja", + "unlink": "Poista linkki", + "unlink_github_warning": "Kaikkien GitHubin kanssa synkronoimasi projektien yhteys katkaistaan eikä niitä pidetä enää synkronituna GitHubin kanssa. Oletko varma, että haluat poistaa linkin GitHub-tilillesi?", + "unpublish": "Lopeta julkaiseminen", + "unpublishing": "Lopetetaan julkaiseminen", + "unsubscribe": "Peruuta tilaus", + "unsubscribed": "Tilaus peruutettu", + "unsubscribing": "Tilausta peruutetaan", + "update": "Päivitä", + "update_account_info": "Päivitä tilin tiedot", + "update_dropbox_settings": "Päivitä Dropbox-asetukset", + "update_your_billing_details": "Päivitä laskutustietojasi", + "updating_site": "Päivitetään sivustoa", + "upgrade": "Päivitä", + "upgrade_now": "Päivitä Nyt", + "upload": "Siirrä", + "upload_project": "Siirrä projekti palvelimelle", + "upload_zipped_project": "Vie pakattu projekti", + "user_wants_you_to_see_project": "__username__ haluaisi katsoa projektiasi __projectname__", + "vat_number": "Alv-numero", + "view_all": "Näytä Kaikki", + "view_in_template_gallery": "Katso mallikirjastossa", + "welcome_to_sl": "Tämä on __appName__, tervetuloa", + "year": "vuosi", + "you_have_added_x_of_group_size_y": "Olet lisännyt <0>__addedUsersSize__ saatavilla olevasta <1>__groupSize__ jäsenestä", + "your_plan": "Sopimuksesi", + "your_projects": "Sinun projektisi", + "your_subscription": "Tilauksesi", + "your_subscription_has_expired": "Tilauksesi on umpeutunut.", + "zh-CN": "Kiina" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fr.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fr.json new file mode 100644 index 0000000..4003dd4 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/fr.json @@ -0,0 +1,1261 @@ +{ + "1_2_width": "½ largeur", + "1_4_width": "¼ largeur", + "3_4_width": "¾ largeur", + "About": "À propos", + "Account": "Compte", + "Account Settings": "Paramètres du compte", + "Documentation": "Documentation", + "Projects": "Projets", + "Security": "Sécurité", + "Subscription": "Abonnement", + "Terms": "Conditions", + "Universities": "Universités", + "a_custom_size_has_been_used_in_the_latex_code": "Une taille personnalisée a été définie dans le code LaTeX.", + "a_fatal_compile_error_that_completely_blocks_compilation": "Une <0>erreur de compilation fatale qui empêche la compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "Il existe déjà un fichier du même nom. Ce fichier va sera écrasé.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "Une liste de raccourcis clavier plus complète est disponible dans <0>ce modèle de projet __appName__", + "about": "À propos", + "about_to_archive_projects": "Vous êtes sur le point d’archiver les projets suivants :", + "about_to_delete_cert": "Vous allez supprimer le certificat suivant :", + "about_to_delete_projects": "Vous allez supprimer les projets suivants :", + "about_to_delete_tag": "Vous êtes sur le point de supprimer le tag suivant (tout projet sous ce tag ne sera pas supprimé):", + "about_to_delete_the_following_project": "Vous allez supprimer le projet suivant", + "about_to_delete_the_following_projects": "Vous allez supprimer les projets suivants", + "about_to_delete_user_preamble": "Vous êtes sur le point de supprimer __userName__ (__userEmail__). Ceci signifie :", + "about_to_enable_managed_users": "En activant la fonctionnalité Gestion des Utilisateur·rice·s, tous les membres existants de votre abonnement de groupe seront invités à devenir administrés. Cela vous donnera des droits d’administrateur sur leur compte. Vous aurez également la possibilité d’inviter de nouveaux membres à rejoindre l’abonnement et à devenir administrés.", + "about_to_leave_projects": "Vous allez quitter les projets suivants :", + "about_to_trash_projects": "Vous êtes sur le point de mettre à la corbeille les projets suivants :", + "abstract": "Résumé", + "accept": "Accepter", + "accept_all": "Tout accepter", + "accept_invitation": "Accepter l’invitation", + "accept_or_reject_each_changes_individually": "Acceptez ou rejetez chaque modification individuellement", + "accept_terms_and_conditions": "Accepter les termes et conditions", + "accepted_invite": "Invitation acceptée", + "accepting_invite_as": "Vous allez accepter cette invitation en tant que", + "access_denied": "Accès refusé", + "account": "Compte", + "account_has_been_link_to_institution_account": "Votre compte __appName__ en __email__ a été lié à votre compte institutionnel __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Votre compte présente un arriéré de paiement. Vous ne pourrez pas changer d’offre tant que votre situation ne sera pas régularisée.", + "account_linking": "Liaison des comptes", + "account_managed_by_group_administrator": "Votre compte est géré par l’administrateur de votre groupe (__admin__)", + "account_not_linked_to_dropbox": "Votre compte n’est pas lié à Dropbox", + "account_settings": "Paramètres du compte", + "account_with_email_exists": "Il semble qu’un compte __appName__ avec l’adresse courriel __email__ existe déjà.", + "acct_linked_to_institution_acct_2": "Vous pouvez <0>vous connecter à HajTeX grâce à votre connexion institutionnelle <0>__institutionName__", + "actions": "Actions", + "activate": "Activer", + "activate_account": "Activer votre compte", + "activating": "Activation", + "activation_token_expired": "Votre jeton d’authentification a expiré, vous devez en obtenir un nouveau.", + "add": "Ajouter", + "add_additional_certificate": "Ajouter un autre certificat", + "add_affiliation": "Ajouter une affiliation", + "add_another_address_line": "Ajouter une autre ligne d’adresse", + "add_another_email": "Ajouter une autre adresse", + "add_another_token": "Ajouter un autre jeton", + "add_comma_separated_emails_help": "Séparez les différentes adresses courriel en utilisant des virgules (,).", + "add_comment": "Ajouter un commentaire", + "add_company_details": "Ajouter les infos de l’entreprise", + "add_email": "Ajouter une adresse", + "add_email_to_claim_features": "Ajouter votre adresse courriel institutionnelle pour obtenir ces fonctionnalités.", + "add_files": "Ajouter des fichiers", + "add_more_collaborators": "Ajouter plus de collaborateur·rice·s", + "add_more_managers": "Ajouter plus de gestionnaires", + "add_more_members": "Ajouter plus de membres", + "add_new_email": "Ajouter l’adresse", + "add_or_remove_project_from_tag": "Ajouter ou supprimer un projet du tag __tagName__", + "add_role_and_department": "Ajouter votre rôle et votre département", + "add_to_tag": "Ajouter au tag", + "add_your_comment_here": "Ajoutez votre commentaire ici", + "add_your_first_group_member_now": "Ajouter le premier membre de votre groupe maintenant", + "added": "ajouté", + "added_by_on": "Ajouté par __name__ le __date__", + "adding": "Ajout", + "additional_certificate": "Certificat supplémentaire", + "additional_licenses": "Votre abonnement inclut <0>__additionalLicenses__ licence(s) additionnelle(s), pour un total de <1>__totalLicenses__ licences.", + "address": "Adresse", + "address_line_1": "Adresse", + "address_second_line_optional": "Seconde ligne de l’adresse (optionnelle)", + "adjust_column_width": "Ajuster la largeur des colonnes", + "admin": "admin", + "admin_user_created_message": "Compte administrateur créé. Pour poursuivre, connectez-vous ici", + "advanced_reference_search": "<0>Recherche de références avancée", + "aggregate_changed": "Modification de", + "aggregate_to": "en", + "all_our_group_plans_offer_educational_discount": "Toutes nos <0>offres de groupe proposent une <1>remise éducation pour les étudiants et universités", + "all_premium_features": "Toutes les fonctionnalités premium", + "all_premium_features_including": "Toutes les fonctionnalités premium, comprenant:", + "all_prices_displayed_are_in_currency": "Tous les prix affichés sont en __recommendedCurrency__.", + "all_projects": "Tous les projets", + "all_templates": "Tous les modèles", + "already_have_sl_account": "Avez-vous déjà un compte __appName__ ?", + "also": "Aussi", + "also_available_as_on_premises": "Aussi disponible en On-Premises", + "alternatively_create_new_institution_account": "Autrement, vous pouvez créer un nouveau compte avec votre adresse courriel institutionnelle (__email__) en cliquant __clickText__.", + "an_error_occurred_when_verifying_the_coupon_code": "Une erreur est survenue lors de la vérification du code coupon", + "and": "et", + "annual": "Annuel", + "anonymous": "Anonyme", + "anyone_with_link_can_edit": "Toute personne disposant de ce lien peut éditer ce projet", + "anyone_with_link_can_view": "Toute personne disposant de ce lien peut voir ce projet", + "app_on_x": "__appName__ sur __social__", + "apply_educational_discount": "Appliquer la remise éducation", + "apply_educational_discount_info": "HajTeX offre une remise éducation de 40% pour les groupes de 10 ou plus. S’applique aux étudiants ou universités utilisant HajTeX pour l’enseignement.", + "april": "Avril", + "archive": "Archiver", + "archive_projects": "Archiver les projets", + "archived": "Archivé", + "archived_projects": "Projets archivés", + "archiving_projects_wont_affect_collaborators": "L’archivage d’un projet n’affectera pas vos collaborateur·rice·s.", + "are_you_affiliated_with_an_institution": "Êtes-vous affilié à une institution ?", + "are_you_getting_an_undefined_control_sequence_error": "Recevez-vous une erreur Undefined Control Sequence ? Si oui, assurez-vous d’avoir chargé le package graphicx—<0>\\usepackage{graphicx}—dans le préambule (première section du code) de votre document. <1>En savoir plus", + "are_you_still_at": "Êtes-vous toujours à <0>__institutionName__ ?", + "are_you_sure": "Êtes-vous sûr·e ?", + "as_a_member_of_sso_required": "En tant que membre de __institutionName__, vous devez vous connecter à __appName__ via votre portail institutionnel.", + "ascending": "Ascendant", + "ask_proj_owner_to_upgrade_for_full_history": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour accéder à l’historique complet de ce projet.", + "ask_proj_owner_to_upgrade_for_references_search": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour pouvoir utiliser la recherche de références.", + "august": "Août", + "author": "Auteur", + "auto_close_brackets": "Auto-fermeture des accolades", + "auto_compile": "Auto-compilation", + "auto_complete": "Auto-complétion", + "autocompile_disabled": "Auto-compilation désactivée", + "autocompile_disabled_reason": "En raison d’une charge serveur élevée, la compilation en arrière-plan a été temporairement désactivée. Veuillez recompiler en utilisant le bouton ci-dessus.", + "autocomplete": "Auto-complétion", + "autocomplete_references": "Auto-complétion des références (à l’intérieur d’une commande \\cite{})", + "back": "Retour", + "back_to_account_settings": "Retour aux paramètres du compte", + "back_to_configuration": "Retour à la configuration", + "back_to_editor": "Retour à l’éditeur", + "back_to_log_in": "Retour à la connexion", + "back_to_subscription": "Retour à l’abonnement", + "back_to_your_projects": "Retourner à mes projets", + "become_an_advisor": "Devenez un conseiller __appName__", + "best_choices_companies_universities_non_profits": "Le meilleur choix pour les entreprises, les universités et les associations", + "beta": "Bêta", + "beta_feature_badge": "Badge de fonctionnalité bêta", + "beta_program_already_participating": "Vous participez au programme de bêta", + "beta_program_badge_description": "Lors de votre utilisation de __appName__, vous pourrez distinguer les fonctionnalités en bêta au badge qui les accompagne :", + "beta_program_benefits": "Nous améliorons __appName__ sans cesse. En rejoignant notre programme de bêta, vous pourrez <0>accéder aux fonctionnalités à venir en avant-première et ainsi nous aider à mieux comprendre vos besoins.", + "beta_program_not_participating": "Vous ne participez pas au Programme Bêta", + "beta_program_opt_in_action": "Participer au programme de bêta", + "beta_program_opt_out_action": "Quitter le programme de bêta", + "bibliographies": "Bibliographies", + "binary_history_error": "Aperçu non disponible pour ce type de fichier", + "blank_project": "Projet vide", + "blocked_filename": "Ce nom de fichier est bloqué.", + "blog": "Blog", + "browser": "Navigateur", + "built_in": "Intégré", + "bulk_accept_confirm": "Êtes-vous sûr·e de vouloir accepter les __nChanges__ modifications sélectionnées ?", + "bulk_reject_confirm": "Êtes-vous sûr·e de vouloir rejeter les __nChanges__ modifications sélectionnées ?", + "buy_now_no_exclamation_mark": "Acheter maintenant", + "by": "par", + "by_subscribing_you_agree_to_our_terms_of_service": "En vous inscrivant, vous acceptez nos <0>conditions d’utilisation.", + "can_edit": "Édition autorisée", + "can_link_institution_email_acct_to_institution_acct": "Vous pouvez maintenant lier votre compte __appName__ en __email__ à votre compte institutionnel __institutionName__.", + "can_link_institution_email_by_clicking": "Vous pouvez lier votre compte __appName__ __email__ à votre compte __institutionName__ en cliquant __clickText__.", + "can_link_institution_email_to_login": "Vous pouvez lier votre compte __appName__ __email__ à votre compte __institutionName__, ce qui vous permettra de vous connecter à __appName__ via le portail de votre établissement.", + "can_link_your_institution_acct_2": "Vous pouvez maintenant <0>lier votre compte <0>__appName__ à votre compte instititionnel <0>__institutionName__.", + "can_now_relink_dropbox": "Vous pouvez désormais <0>reconnecter votre compte Dropbox.", + "cancel": "Annuler", + "cancel_anytime": "Nous sommes sûrs que vous allez adorer __appName__, mais dans le cas contraire vous pourrez annuler à tout moment. Nous vous rembourserons sans conditions si vous nous en faites la demande sous 30 jours.", + "cancel_my_account": "Annuler mon abonnement", + "cancel_my_subscription": "Résilier mon abonnement", + "cancel_personal_subscription_first": "Vous avez déjà un abonnement personnel, voulez-vous que nous l’annulions avant que vous ne rejoigniez la licence de groupe ?", + "cancel_your_subscription": "Arrêter votre abonnement", + "cannot_invite_non_user": "Impossible d’envoyer l’invitation. Il est nécessaire que le destinataire possède déjà un compte __appName__", + "cannot_invite_self": "Impossible de vous inviter vous-même", + "cannot_verify_user_not_robot": "Désolé, nous n’avons pas pu nous assurer que vous n’étiez pas un robot. Veuillez vérifier que Google reCAPTCHA n’est pas bloqué par un bloqueur de publicités ou un pare-feu.", + "cant_find_email": "Cette adresse électronique n’est pas connue, désolé.", + "cant_find_page": "Désolé, nous ne trouvons pas la page que vous cherchez.", + "cant_see_what_youre_looking_for_question": "Vous ne trouvez pas ce que vous cherchez ?", + "card_details": "Détails de la carte", + "card_details_are_not_valid": "Les informations de carte de paiement sont invalides", + "card_must_be_authenticated_by_3dsecure": "Vous devez authentifier votre carte avec 3D Secure avant de poursuivre", + "card_payment": "Paiement par carte", + "careers": "Carrières", + "category_arrows": "Flèches", + "category_greek": "Grec", + "category_misc": "Divers", + "category_operators": "Opérateurs", + "category_relations": "Relations", + "change": "Modifier", + "change_currency": "Changer de devise", + "change_or_cancel-cancel": "annuler", + "change_or_cancel-change": "Changer", + "change_or_cancel-or": "ou", + "change_owner": "Changer de propriétaire", + "change_password": "Changer de mot de passe", + "change_password_in_account_settings": "Changer le mot de passe dans les Paramètres du Compte", + "change_plan": "Changer d’offre", + "change_primary_email_address_instructions": "Pour changer votre email principal, veuillez dans un premier temps ajouter votre email principal (en cliquant sur <0>Ajouter un autre email) et confirmer. Ensuite, cliquez sur le bouton <0>Définir comme principal. <1>En savoir plus à propos de la gestion de vos emails __appName__.", + "change_project_owner": "Changer le propriétaire du projet", + "change_to_group_plan": "Passer à une offre collective", + "change_to_this_plan": "Changer pour cette offre", + "changing_the_position_of_your_figure": "Changer la position de votre figure", + "chat": "Discuter", + "chat_error": "Impossible de charger les messages du chat, veuillez réessayer.", + "check_your_email": "Vérifiez votre courriel", + "checking": "Vérification", + "checking_dropbox_status": "Vérification de l’état de Dropbox", + "checking_project_github_status": "Vérification de l’état du projet dans GitHub", + "choose_your_plan": "Choisir votre offre", + "city": "Ville", + "clear_cached_files": "Nettoyer le cache des fichiers", + "clear_search": "effacer la recherche", + "clear_sessions": "Effacer les sessions", + "clear_sessions_description": "Ceci est une liste des autres sessions (ou connexions) actives sur votre compte, excluant votre session actuelle. Cliquez sur le bouton « Effacer les sessions » ci-dessous pour les déconnecter.", + "clear_sessions_success": "Sessions effacées", + "clearing": "Nettoyage en cours", + "click_here_to_view_sl_in_lng": "Cliquez ici pour utiliser __appName__ en <0>__lngName__", + "click_link_to_proceed": "Cliquez sur __clickText__ ci-dessous pour poursuivre.", + "clone_with_git": "Cloner avec Git", + "close": "Fermer", + "clsi_maintenance": "Les serveurs de compilation sont inaccessibles pour cause de maintenance et seront réactivés bientôt.", + "clsi_unavailable": "Désolé, le serveur de compilation attribué à votre projet est temporairement indisponible. Veuillez réessayer dans quelques instants.", + "cn": "Chinois (simplifié)", + "code_check_failed": "Échec de la vérification du code", + "code_check_failed_explanation": "Votre code contient des erreurs qui doivent être corrigées avant que l’auto-compilation puisse avoir lieu", + "collaborate_online_and_offline": "Collaborez en ligne et hors ligne, avec votre propre organisation de travail", + "collaboration": "Collaboration", + "collaborator": "Collaborateur·rice", + "collabratec_account_not_registered": "Pas de compte IEEE Collabratec™ enregistré. Veuillez vous connecter à HajTeX via IEEE Collabratec™ ou bien vous connecter avec un compte différent.", + "collabs_per_proj": "__collabcount__ collaborateur·rice·s par projet", + "collabs_per_proj_single": "__collabcount__ collaborateurs par projet", + "collapse": "Replier", + "column_width": "Largeur de colonne", + "column_width_is_custom_click_to_resize": "La largeur des colonnes est personnalisée. Cliquez pour redimensionner", + "column_width_is_x_click_to_resize": "La largeur de la colonne est __width__. Cliquez pour redimensionner", + "comment": "Commentaire", + "comment_submit_error": "Désolé, un problème est survenu lors de l’envoi de votre commentaire", + "commit": "Commiter", + "common": "Commun", + "commons_plan_tooltip": "Vous bénéficiez de l’offre __plan__ en raison de votre affiliation avec __institution__. Cliquez pour découvrir comment profiter au mieux de vos fonctionnalités HajTeX premium.", + "compact": "Compact", + "company_name": "Nom de l’entreprise", + "comparing_from_x_to_y": "Différence entre <0>__startTime__ et <0>__endTime__", + "compile_error_entry_description": "Une erreur qui a empêché la compilation de ce projet", + "compile_error_handling": "Gestion des erreurs de compilation", + "compile_larger_projects": "Compiler des projects plus volumineux", + "compile_mode": "Mode de compilation", + "compile_terminated_by_user": "La compilation a été annulée avec le bouton « Arrêter la compilation ». Vous pouvez télécharger les fichiers journaux pour voir où la compilation s’est arrêtée.", + "compile_timeout_short": "Limite de temps de compilation", + "compiler": "Compilateur", + "compiling": "Compilation en cours", + "complete": "Compléter", + "confirm": "Confirmer", + "confirm_affiliation": "Valider l’affilation", + "confirm_affiliation_to_relink_dropbox": "Veuillez valider que vous soyez toujours dans cet établissement et que vous bénéficiez toujours de leur licence, ou bien mettez à niveau votre compte pour reconnecter votre compte Dropbox.", + "confirm_delete_user_type_email_address": "Pour confirmer que vous souhaitez supprimer __userName__, veuillez saisir l’adresse e-mail associée à ce compte.", + "confirm_email": "Confirmer l’adresse", + "confirm_new_password": "Confirmer le mot de passe", + "confirm_primary_email_change": "Confirmer le changement d’adresse e-mail principale", + "confirm_your_email": "Confirmez votre adresse email", + "confirmation_link_broken": "Désolé, il y a un problème avec votre lien de confirmation. Veuillez essayer de copier et coller le lien en bas de votre courriel de confirmation.", + "confirmation_token_invalid": "Désolé, votre jeton de confirmation est invalide ou a expiré. Veuillez en demander un nouveau.", + "confirming": "Confirmation", + "conflicting_paths_found": "Chemins conflictuels détectés", + "connected_users": "Utilisateurs connectés", + "connecting": "Connexion en cours", + "contact": "Contact", + "contact_message_label": "Message", + "contact_sales": "Contacter nos commerciaux", + "contact_support_to_change_group_subscription": "Merci de <0>contacter le support si vous souhaitez modifier votre abonnement de groupe.", + "contact_us": "Contactez-nous", + "contact_us_lowercase": "Nous contacter", + "continue": "Continuer", + "continue_github_merge": "J’ai fusionné manuellement. Continuer", + "continue_to": "Poursuivre vers __appName__", + "continue_with_free_plan": "Continuer avec l’offre gratuite", + "copied": "Copié", + "copy": "Copier", + "copy_project": "Copier le projet", + "copying": "Copie en cours", + "country": "Pays", + "country_flag": "Drapeau du pays __country__", + "coupon_code": "Code de promotion", + "coupon_code_is_not_valid_for_selected_plan": "Le code coupon n’est pas valide pour l’offre sélectionnée", + "coupons_not_included": "Ceci n’inclut pas vos réductions actuelles, qui seront appliquées automatiquement avant votre prochain paiement", + "create": "Créer", + "create_a_new_password_for_your_account": "Définir un nouveau mot de passe pour votre compte", + "create_a_new_project": "Créer un nouveau projet", + "create_account": "Créer un compte", + "create_an_account": "Créer un compte", + "create_first_admin_account": "Créer le compte administrateur initial", + "create_new_account": "Créer un nouveau compte", + "create_new_subscription": "Créer un nouvel abonnement", + "create_project_in_github": "Créer un dépôt GitHub", + "created_at": "Créé le", + "creating": "Création en cours", + "credit_card": "Carte bleue", + "cs": "Tchéque", + "currency": "Devise", + "current_file": "Fichier actuel", + "current_password": "Mot de passe actuel", + "current_session": "Session courante", + "currently_seeing_only_24_hrs_history": "Vous ne pouvez actuellement voir que les modifications des 24 dernières heures dans ce projet.", + "currently_subscribed_to_plan": "Vous bénéficiez actuellement de l’offre <0>__planName__.", + "custom_resource_portal": "Portail des ressources personnalisé", + "custom_resource_portal_info": "Pour pouvez avoir votre propre page de portail personnalisée sur HajTeX. C’est l’endroit idéal pour que vos utilisateurs en apprennent plus sur HajTeX, accèdent à des modèles, une FAQ et des resources d’aide, et s’inscrivent sur HajTeX.", + "customize": "Personnaliser", + "customize_your_group_subscription": "Personnaliser votre abonnement de groupe", + "customize_your_plan": "Personnaliser votre offre", + "customizing_figures": "Personnalisation des figures", + "da": "Danois", + "date": "Date", + "date_and_owner": "Date et propriétaire", + "de": "Allemand", + "dealing_with_errors": "Gérer les erreurs", + "december": "Décembre", + "dedicated_account_manager": "Gestionnaire de compte dédié", + "dedicated_account_manager_info": "Toute notre équipe de gestion de compte pourra répondre à vos requêtes ou vos questions et vous aider à faire connaître HajTeX grâce à du contenu promotionel, des resources de formation et des séminaires en ligne.", + "default": "Par défaut", + "delete": "Supprimer", + "delete_account": "Supprimer un compte", + "delete_account_confirmation_label": "Je comprends que cette action va supprimer tous les projets de mon compte __appName__ avec l’adresse email <0>__userDefaultEmail__", + "delete_account_warning_message_3": "Vous êtes sur le point de supprimer définitivement toutes les données de votre compte, y compris vos projets et vos paramètres. Veuillez saisir l’adresse courriel associée à votre compte ainsi que votre mot de passe ci-dessous pour poursuivre.", + "delete_acct_no_existing_pw": "Avant de supprimer votre compte, veuillez définir un mot de passe en utilisant le formulaire de réinitialisation de mot de passe", + "delete_and_leave": "Supprimer / Quitter", + "delete_and_leave_projects": "Supprimer et quitter les projets", + "delete_authentication_token": "Supprimer le jeton d’authentification", + "delete_authentication_token_info": "Vous vous apprêtez à supprimer un jeton d’authentification Git. Si vous le faites, vous ne pourrez plus l’utiliser pour vous identifier en réalisant des opérations avec Git.", + "delete_certificate": "Supprimer le certificat", + "delete_figure": "Supprimer la figure", + "delete_projects": "Supprimer les projets", + "delete_tag": "Supprimer le tag", + "delete_token": "Supprimer le jeton", + "delete_your_account": "Supprimer votre compte", + "deleted_at": "Supprimé le", + "deleted_by_on": "Supprimé par __name__ le __date__", + "deleting": "Suppression en cours", + "demonstrating_git_integration": "Démonstration de l’intégration Git", + "department": "Département", + "descending": "Descendant", + "description": "Description", + "dictionary": "Dictionnaire", + "did_you_know_institution_providing_professional": "Saviez-vous que __institutionName__ fournit des <0>fonctionnalités professionnelles __appName__ gratuites à tous les membres de __institutionName__ ?", + "disable_stop_on_first_error": "Désactiver “Arrêter à la première erreur”", + "disconnected": "Déconnecté", + "discount_of": "Remise de __amount__", + "dismiss_error_popup": "Ignorer l’alerte de première erreur", + "do_not_have_acct_or_do_not_want_to_link": "Si vous n’avez pas de compte __appName__ ou si vous ne souhaitez pas le lier à votre compte __institutionName__, veuillez cliquer __clickText__.", + "do_not_link_accounts": "Ne pas lier les comptes", + "do_you_want_to_change_your_primary_email_address_to": "Voulez-vous définir __email__ comme votre adresse email principale ?", + "do_you_want_to_overwrite_them": "Voulez-vous les écraser ?", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "ne contient ou ne ressemble pas significativement à votre email", + "doesnt_match": "Ne correspond pas", + "doing_this_allow_log_in_through_institution": "Faire ceci vous permettra de vous connecter à __appName__ via le portail de votre institution.", + "doing_this_allow_log_in_through_institution_2": "Faire ceci vous permettra de vous connecter à <0>__appName__ via votre institution et reconfirmera votre adresse email institutionnelle.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Faire ceci vérifiera votre affiliation avec <0>__institutionName__ et vous permettra de vous connecter à <0>__appName__ via votre institution.", + "done": "Terminé", + "dont_have_account": "Vous n’avez pas de compte ?", + "download": "Télécharger", + "download_pdf": "Télécharger le PDF", + "download_zip_file": "Télécharger le fichier Zip", + "drag_here": "glissez ici", + "drag_here_paste_an_image_or": "Glissez ici, collez une image, ou ", + "drop_files_here_to_upload": "Déposez des fichiers ici pour les téléverser", + "dropbox_already_linked_error": "Votre compte Dropbox ne peut pas être lié à ce compte car il l’est déjà à un autre compte HajTeX.", + "dropbox_already_linked_error_with_email": "Votre compte Dropbox ne peut pas être lié car il est déjà lié avec un autre compte HajTeX utilisant l’adresse email __otherUsersEmail__.", + "dropbox_checking_sync_status": "Vérification de l’état de l’intégration Dropbox", + "dropbox_duplicate_names_error": "Votre compte Dropbox ne peut pas être lié, car vous avez plus d’un projet avec le même nom: ", + "dropbox_duplicate_project_names": "Votre compte Dropbox a été dissocié, car vous avez plus d’un projet portant le nom <0>« __projectName__ ».", + "dropbox_duplicate_project_names_suggestion": "Veuillez vous assurer de l’unicité des noms de tous vos projets <0>actifs, archivés ou à la corbeille puis réassociez votre compte Dropbox.", + "dropbox_email_not_verified": "Nous ne parvenons pas à joindre votre compte Dropbox. Le service rapporte que votre adresse courriel n’est pas vérifiée. Veuillez vérifier votre adresse depuis votre compte Dropbox pour résoudre ce problème.", + "dropbox_for_link_share_projs": "Vous avez accédé à ce projet par un partage de lien : celui-ci ne sera pas synchronisé à votre Dropbox tant que vous n’aurez pas été invité par courriel par le propriétaire du projet.", + "dropbox_integration_info": "Travaillez avec ou sans connexion sans problème avec la synchronisation bidirectionnelle Dropbox. Les modifications apportées sur votre machine seront automatiquement envoyées à la version HajTeX, et vice versa.", + "dropbox_integration_lowercase": "Intégration avec Dropbox", + "dropbox_successfully_linked_description": "Merci, nous avons associé votre compte Dropbox à __appName__.", + "dropbox_sync": "Synchronisation Dropbox", + "dropbox_sync_both": "Mise à jour d’HajTeX et de Dropbox", + "dropbox_sync_description": "Maintenez vos projets __appName__ synchronisés avec votre Dropbox. Les modifications dans __appName__ sont automatiquement envoyés vers votre Dropbox, et vice versa.", + "dropbox_sync_error": "Erreur de synchronisation Dropbox", + "dropbox_sync_in": "Mise à jour sur HajTeX", + "dropbox_sync_now_rate_limited": "La synchronisation manuelle est limitée à une fois par minute. Veuillez attendre quelques instants avant de réessayer.", + "dropbox_sync_now_running": "Une synchronisation manuelle de ce projet a été démarrée en arrière-plan. Veuillez lui accorder quelques minutes pour procéder.", + "dropbox_sync_out": "Mise à jour vers Dropbox", + "dropbox_sync_troubleshoot": "Des changements n’apparaissent pas dans Dropbox ? Veuillez attendre quelques minutes. Si les changements n’apparaissent toujours pas, vous pouvez <0>synchroniser ce projet maintenant.", + "dropbox_synced": "HajTeX et Dropbox sont à jour", + "dropbox_unlinked_because_access_denied": "La liaison avec votre compte Dropbox a été supprimée car le service Dropbox a rejeté vos identifiants. Veuillez restaurer cette liaison pour continuer à utiliser Dropbox avec HajTeX.", + "dropbox_unlinked_because_full": "La liaison avec votre compte Dropbox a été supprimée car le quota de celui-ci a été atteint et nous ne sommes plus en mesure d’y envoyer les mises à jour. Veuillez libérer de l’espace puis restaurer cette liaison pour continuer à utiliser Dropbox avec HajTeX.", + "dropbox_unlinked_premium_feature": "<0>Votre compte Dropbox a été déconnecté car la synchronisation avec Dropbox est une fonctionnalité premium à laquelle vous aviez accès via votre licence institutionnelle.", + "duplicate_file": "Dupliquer le fichier", + "duplicate_projects": "Cet utilisateur a des projets avec des noms identiques", + "each_user_will_have_access_to": "Chaque utilisateur aura accès à", + "easily_manage_your_project_files_everywhere": "Gérez facilement vos fichiers de projets, depuis partout", + "edit": "Modifier", + "edit_dictionary": "Modifier le dictionnaire", + "edit_dictionary_empty": "Votre dictionnaire personnalisé est vide.", + "edit_dictionary_remove": "Supprimer du dictionnaire", + "edit_figure": "Modifier la figure", + "edit_tag": "Modifier le tag", + "editing": "Édition", + "editing_captions": "Modification des légendes", + "editor_and_pdf": "Éditeur <0> PDF", + "editor_disconected_click_to_reconnect": "L’éditeur a été déconnecté. Cliquez n’importe où pour vous reconnecter", + "editor_only_hide_pdf": "Éditeur uniquement <0>(cacher le PDF)", + "editor_theme": "Apparence de l’éditeur", + "educational_discount_for_groups_of_x_or_more": "La remise éducation est disponible pour les groupes de __size__ ou plus", + "educational_percent_discount_applied": "La remise éducation de __percent__% a été appliquée !", + "email": "Courriel", + "email_address": "Adresse e-mail", + "email_address_is_invalid": "Adresse email invalide", + "email_already_associated_with": "L’adresse courriel __email1__ est déjà associée avec le compte __appName__ __email2__.", + "email_already_registered": "Cette adresse courriel est déjà utilisée", + "email_already_registered_secondary": "Cette adresse courriel est déjà utilisée en tant qu’adresse secondaire", + "email_already_registered_sso": "Cet email est déjà enregistré. Veuillez vous connecter à votre compte d’une autre manière et lier votre compte au nouveau fournisseur via vos paramètres de compte.", + "email_does_not_belong_to_university": "Nous n’avons pas connaissance de l’affiliation de ce domaine à votre université. Veuillez nous contacter pour faire valoir cette affiliation.", + "email_limit_reached": "Vous pouvez avoir un maximum de <0>__emailAddressLimit__ adresses email sur ce compte. Pour ajouter une adresse email supplémentaire, veuillez en supprimer une existante.", + "email_link_expired": "Le lien a expiré, veuillez en demander un nouveau.", + "email_or_password_wrong_try_again": "Votre adresse courriel ou votre mot de passe est incorrect. Veuillez essayer à nouveau", + "email_or_password_wrong_try_again_or_reset": "Votre email ou mot de passe est erroné. Veuillez réessayer, ou <0>définir ou réinitialiser votre mot de passe.", + "email_required": "Adresse courriel requise", + "email_sent": "Email envoyé", + "emails": "Courriels", + "emails_and_affiliations_explanation": "Ajoutez des adresses courriel supplémentaires à votre compte pour accéder aux éventuels avantages fournis par votre université ou votre établissement, pour vous rendre plus facilement trouvable par vos collaborateur·rice·s et pour être certain de pouvoir récupérer l’accès à votre compte.", + "emails_and_affiliations_title": "Adresses courriel et affiliations", + "empty_zip_file": "L’archive ne contient aucun fichier", + "en": "Anglais", + "end_of_document": "Fin du document", + "enter_6_digit_code": "Saisissez le code à 6 chiffres", + "enter_image_url": "Entrez l’URL de l’image", + "enter_your_email_address": "Entrez votre adresse email", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Entrez votre adresse email ci-dessous, et nous vous enverrons un lien pour réinitialiser votre mot de passe", + "enter_your_new_password": "Entrez votre nouveau mot de passe", + "error": "Erreur", + "error_performing_request": "Une erreur s’est produite pendant l’exécution de votre requête.", + "es": "Espagnol", + "every": "chaque", + "example_project": "Un exemple de projet", + "existing_plan_active_until_term_end": "Votre offre actuelle et ses avantages resteront actifs jusqu’à la prochaine échéance de paiement.", + "expand": "Déplier", + "expires": "Expire", + "expiry": "Date d’expiration", + "export_csv": "Exporter en CSV", + "export_project_to_github": "Exporter le projet vers GitHub", + "faq_change_plans_or_cancel_answer": "Oui, vous pouvez le faire à n’importe quel moment via votre paramètres d’abonnement. Vous pouvez changer d’offre, changer entre des options de facturation mensuelle ou annuelle, ou résilier pour revenir à l’abonnement gratuit. En résiliant, votre abonnement continuera jusqu’à la fin de la période de facturation en cours. Si votre compte n’a temporairement pas d’abonnement, le seul changement sera les fonctionnalités auxquelles vous avez accès. Vos projets seront toujours accessibles sur votre compte.", + "faq_change_plans_or_cancel_question": "Puis-je changer d’offre ou résilier plus tard ?", + "faq_do_collab_need_on_paid_plan_answer": "Non, vos collaborateurs peuvent être sur n’importe quelle offre, y compris l’offre gratuite. Si vous disposez de l’offre premium, certaines fonctionnalités premium seront disponibles pour vos collaborateurs dans les projets que vous avez créés, même pour les collaborateurs sur l’offre gratuite. Pour plus d’informations, consultez les informations relatives aux <0>account and subscriptions et <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Mes collaborateurs doivent-ils aussi être sur une offre payante ?", + "faq_how_does_a_group_plan_work_answer": "Les abonnements de groupe sont une manière de mettre à niveau plus d’un compte HajTeX. Ils sont faciles à gérer, aident à réduire les formalités, et diminuent le prix d’achat de plusieurs abonnements séparés. Pour en savoir plus, lisez sur <0>rejoindre un abonnement de group et <1>gérer un abonnement de groupe. Vous pouvez acheter des abonnements de groupe ci-dessus ou en <2>nous contactant.", + "faq_how_does_a_group_plan_work_question": "Comment fonctionne une offre de groupe ? Comment puis-je ajouter des personnes à l’offre ?", + "faq_how_does_free_trial_works_answer": "Vous obtenez un accès complet à l’offre __appName__ de votre choix pendant votre essai gratuit de __len__ jours. Il n’y a aucun engagement à poursuivre au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai de __len__ jours à moins que vous n’annuliez votre essai auparavant. Vous pouvez annuler depuis les paramètres de votre abonnement.", + "faq_how_free_trial_works_answer_v2": "Vous bénéficiez d’un accès complet à l’offre de votre choix durant les __len__ jours de l’essai gratuit, et il n’y a aucune obligatoire de continuer au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai gratuit à moins que vous résiliez avant. Pour résilier, rendez-vous dans les paramètres d’abonnement de votre compte (l’essai continuera jusqu’au bout des __len__ jours).", + "faq_how_free_trial_works_question": "Comment fonctionne l’essai gratuit ?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "Sur HajTeX, chaque utilisateur crée et gère son propre compte HajTeX. La plupart des utilisateurs commencent sur l’offre gratuite mais peuvent mettre à niveau leur abonnement et profiter des fonctionnalités premium en s’abonnant à une offre, en rejoignant un abonnement de groupe ou en rejoignant un <0>abonnement Commons. Lorsque vous achetez, rejoignez ou quittez un abonnement, vous pouvez tout de même conserver le même compte HajTeX.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Pour en savoir plus, lisez-en plus sur <0>comment les comptes et abonnements fonctionnent sur HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "J’ai un compte gratuit et veux rejoindre un abonnement, comment faire ?", + "faq_pay_by_invoice_answer_v2": "Oui, si vous voulez souscrire un abonnement de groupe pour cinq personnes ou plus, ou une licence de site. Pour les abonnements individuels nous ne pouvons accepter que les paiments en ligne par carte de crédit, de débit ou Paypal.", + "faq_pay_by_invoice_question": "Puis-je payer par facture/bon de commande ?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Non. Seulement le compte de l’abonné sera mis à niveau. Un abonnement individuel Standard vous permet d’inviter jusqu’à 10 collaborateurs à chaque projet dont vous êtes le propriétaire.", + "faq_the_individual_standard_plan_10_collab_question": "L’offre individuelle Standard a 10 collaborateurs par projet, est-ce que cela veut dire que 10 personnes vont être mises à niveau ?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "En travaillant sur un projet que vous, en tant qu’abonné, partagez avec eux, vos collaborateurs auront accès à certaines fonctionnalités premium telles que l’historique complet du document et un temps de compilation étendu pour ce projet spécifique. Les inviter à un projet en particulier ne met pas à niveau leurs comptes, cependant. Lisez-en plus à propos de <0>quelles fonctionnalités sont par projet, et lesquelles sont par compte.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "Sur HajTeX, chaque utilisateur crée son propre compte. Vous pouvez créer des projets sur lesquels vous travaillez seul, et vous pouvez aussi inviter d’autres personnes à consulter ou travailler avec vous sur les projets que vous possédez. Les utilisateurs avec qui vous partagez votre projet sont appelés des <0>collaborateurs. Nous y faisons parfois référence en tant que “collaborateurs de projet”.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "En d’autres mots, les collaborateurs sont juste d’autres utilisateurs d’HajTeX avec qui vous travaillez sur un de vos projets.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Quelle est la différence entre des utilisateurs et des collaborateurs ?", + "fast": "Rapide", + "feature_included": "Fonctionnalité incluse", + "feature_not_included": "Fonctionnalité non incluse", + "featured_latex_templates": "Modèles LaTeX mis en avant", + "features": "Caractéristiques", + "february": "Février", + "file_action_created": "Création de", + "file_action_deleted": "Suppression de", + "file_action_edited": "Édition de", + "file_action_renamed": "Renommage de", + "file_already_exists": "Un fichier ou un dossier avec ce nom existe déjà", + "file_already_exists_in_this_location": "Un élément porte déjà le nom <0>__fileName__ à cet emplacement. Si vous souhaitez déplacer ce fichier, renommez ou supprimez l’élément et essayez à nouveau.", + "file_name": "Nom de fichier", + "file_name_figure_modal": "Nom du fichier", + "file_name_in_this_project": "Nom du fichier dans ce projet", + "file_name_in_this_project_figure_modal": "Nom du fichier dans ce projet", + "file_outline": "Structure du fichier", + "file_size": "Taille du fichier", + "file_too_large": "Fichier trop volumineux", + "files_cannot_include_invalid_characters": "Le nom du fichier est vide ou contient des caractères invalides", + "files_selected": "fichiers sélectionnés.", + "find_out_more": "En savoir plus", + "find_out_more_about_institution_login": "En savoir plus sur la connexion institutionnelle", + "find_out_more_about_the_file_outline": "En savoir plus sur la structure du fichier", + "find_out_more_nt": "En savoir plus.", + "first_name": "Prénom", + "fold_line": "Replier la ligne", + "folder_location": "Emplacement du dossier", + "folders": "Dossiers", + "following_paths_conflict": "Les fichiers et dossiers suivants sont en conflit avec le même chemin", + "font_family": "Police", + "font_size": "Taille de la police", + "footer_about_us": "À propos de nous", + "footer_contact_us": "Nous contacter", + "footer_plans_and_pricing": "Offres & prix", + "for_business": "Pour les entreprises", + "for_enterprise": "Pour l’entreprise", + "for_groups_or_site_wide": "Pour les groupes ou à l’échelle du site", + "for_individuals_and_groups": "Pour les particuliers et groupes", + "for_publishers": "Pour les éditeurs", + "for_students": "Pour les étudiants", + "for_students_only": "Pour les étudiants uniquement", + "for_teaching": "Pour l’enseignement", + "for_universities": "Pour les universités", + "forgot_your_password": "Mot de passe oublié ", + "fr": "Français", + "free": "Gratuit", + "free_dropbox_and_history": "Dropbox et historique", + "free_plan_label": "Vous êtes sur l’offre gratuite", + "free_plan_tooltip": "Cliquez pour découvrir comment vous pouvez bénéficiez des fonctionnalités HajTeX premium", + "from_another_project": "À partir d’un autre projet", + "from_external_url": "À partir d’une URL externe", + "from_provider": "De __provider__", + "full_doc_history": "Historique complet des documents", + "full_doc_history_info_v2": "Vous pouvez voir toutes les modifications de votre projet et l’auteur de chaque changement. Ajoutez des étiquettes pour rapidement accéder à des versions spécifiques.", + "full_document_history": "<0>Historique complet du document", + "full_width": "Pleine largeur", + "generate_token": "Générer un jeton", + "generic_if_problem_continues_contact_us": "Si ce problème persiste, veuillez nous contacter", + "generic_linked_file_compile_error": "Les fichiers de sortie de ce projet ne sont pas disponibles car la compilation a échoué. Veuillez ouvrir le projet pour obtenir des détails sur l’erreur de compilation.", + "generic_something_went_wrong": "Désolé, quelque chose s’est mal passé :(", + "get_collaborative_benefits": "Bénéficiez des avantages de la collaboration sur __appName__, même si vous préférez travailler hors ligne", + "get_discounted_plan": "Bénéficier d’une remise", + "get_in_touch": "Contactez-nous", + "get_in_touch_having_problems": "Contactez l’équipe du support si vous rencontrez des problèmes", + "get_involved": "Participer", + "get_most_subscription_by_checking_features": "Tirez le meilleur parti de votre abonnement __appName__ en consultant les fonctionnalités d’<0>HajTeX.", + "get_the_most_out_headline": "Tirez le meilleur parti d’__appName__ avec des fonctionnalités telles que :", + "git": "Git", + "git_authentication_token": "Jeton d’authentification Git", + "git_authentication_token_create_modal_info_1": "Ceci est votre jeton d’authentification Git. Vous devrez l’entrer lorsqu’un mot de passe vous sera demandé.", + "git_authentication_token_create_modal_info_2": "<0>Vous ne verrez ce jeton d’authentification qu’une seule fois, veuillez le copier et le garder en sécurité. Pour des instructions complètes sur l’utilisation des jetons, consultez notre <1>page d’aide.", + "git_bridge_modal_click_generate": "Cliquez sur Générer un jeton pour générez votre jeton d’authentification maintenant. Vous pouvez aussi faire cela plus tard dans vos Paramètres de Compte.", + "git_bridge_modal_enter_authentication_token": "Lorsqu’un mot de passe vous sera demandé, entrez votre nouveau jeton d’authentification :", + "git_integration_lowercase": "Intégration avec Git", + "github_commit_message_placeholder": "Message de commit pour les changements effectués dans __appName__…", + "github_credentials_expired": "Vos identifiants GitHub ont expiré", + "github_git_folder_error": "Ce projet contient un répertoire .git à sa racine, ce qui indique qu’il s’agit déjà d’un dépôt Git. Le service de synchronisation GitHub d’HajTeX n’est pas en mesure de synchroniser les historiques Git. Veuillez supprimer le répertoire .git et réessayer.", + "github_integration_lowercase": "Intégration avec Git et GitHub", + "github_is_premium": "La synchronisation GitHub est une fonctionnalité premium", + "github_large_files_error": "Échec de fusion : votre dépôt GitHub contient des fichiers dépassant la taille limite de 50 Mo ", + "github_no_master_branch_error": "Ce dépôt ne peut pas être importé car il n’a pas de branche master. Veuillez vous assurer qu’une branche master existe dans le projet.", + "github_private_description": "Vous choisissez qui peut voir et commiter dans ce dépôt.", + "github_public_description": "Tout le monde peut voir ce dépôt. Vous choisissez qui peut commiter.", + "github_repository_diverged": "La branche master du dépôt lié a été poussée de force. La récupération des modifications faites sur GitHub après un poussage forcé peut causer la désynchronisation d’HajTeX et GitHub. Vous pourriez avoir besoin de pousser les modifications après leur récupération pour restaurer la synchronisation.", + "github_successfully_linked_description": "Merci, nous avons lié votre compte GitHub avec __appName__. Vous pouvez maintenant exporter vos projets __appName__ dans GitHub ou importer des projets depuis vos dépôts GitHub.", + "github_symlink_error": "Votre dépôt GitHub contient des liens symboliques qui ne sont pas encore supportés par HajTeX. Veuillez les retirer et réessayer.", + "github_sync": "Synchronisation GitHub", + "github_sync_description": "Avec la synchronisation GitHub, vous pouvez lier vos projets __appName__ à des dépôts GitHub. Créez de nouveaux commits depuis __appName__, et fusionnez avec les commits réalisés hors ligne ou dans GitHub.", + "github_sync_error": "Désolé, une erreur s’est produite lors de la communication avec le service GitHub. Veuillez essayer à nouveau dans quelques instants.", + "github_sync_repository_not_found_description": "Le dépôt lié a été supprimé ou bien vous avez perdu accès à celui-ci. Vous pouvez configurer la synchronisation avec un nouveau dépôt en clonant le projet puis en accédant à l’option « GitHub » du menu. Vous pouvez également supprimer le lien entre ce projet et le dépôt.", + "github_timeout_error": "La synchronisation de votre projet HajTeX avec GitHub a pris trop de temps. Ceci peut être dû à un volume de données global trop grand ou à un nombre de fichiers/modifications trop important dans votre projet.", + "github_too_many_files_error": "Ce dépôt ne peut pas être importé car il contient un nombre de fichiers supérieur à la limite autorisée", + "github_validation_check": "Veuillez vérifier que le nom du dépôt est valable, et que vous avez les droits pour créer le dépôt.", + "give_feedback": "Donner votre avis", + "global": "global", + "go_back_and_link_accts": "Retournez en arrière et liez vos comptes", + "go_next_page": "Aller à la page suivante", + "go_page": "Aller à la page __page__", + "go_prev_page": "Aller à la page précédente", + "go_to_code_location_in_pdf": "Aller à l’emplacement du code dans le PDF", + "go_to_pdf_location_in_code": "Aller dans le code à l’emplacement du PDF", + "group_admin": "Administrateur du groupe", + "group_full": "Ce groupe est déjà complet", + "group_plans": "Offres de groupes", + "groups": "Groupes", + "have_an_extra_backup": "Gardez une sauvegarde supplémentaire", + "have_more_days_to_try": "Voici __days__ days d’essai en plus !", + "headers": "Titres", + "help": "Aide", + "help_articles_matching": "Fiches d’aide correspondant à votre sujet", + "hide_outline": "Masquer la structure du fichier", + "history": "Historique", + "history_add_label": "Ajouter étiquette", + "history_adding_label": "Ajout d’une étiquette", + "history_are_you_sure_delete_label": "Êtes-vous sûr·e de vouloir supprimer l’étiquette suivante ", + "history_delete_label": "Supprimer l’étiquette", + "history_deleting_label": "Suppression de l’étiquette", + "history_label_created_by": "Créé par", + "history_label_project_current_state": "État actuel", + "history_label_this_version": "Étiqueter cette version", + "history_new_label_name": "Nom de la nouvelle étiquette", + "history_view_a11y_description": "Afficher soit tout l’historique du projet soit uniquement les versions étiquetées.", + "history_view_all": "Tout l’historique", + "history_view_labels": "Étiquettes", + "hit_enter_to_reply": "Appuyez sur Entrée pour répondre", + "home": "Accueil", + "hotkey_add_a_comment": "Ajouter un commentaire", + "hotkey_autocomplete_menu": "Menu d’auto-complétion", + "hotkey_beginning_of_document": "Début du document", + "hotkey_bold_text": "Mettre en gras", + "hotkey_compile": "Compiler", + "hotkey_delete_current_line": "Supprimer la ligne actuelle", + "hotkey_end_of_document": "Fin du document", + "hotkey_find_and_replace": "Rechercher (et remplacer)", + "hotkey_go_to_line": "Aller à la ligne", + "hotkey_indent_selection": "Indenter la sélection", + "hotkey_insert_candidate": "Insérer le choix", + "hotkey_italic_text": "Mettre en italique", + "hotkey_redo": "Restaurer", + "hotkey_search_references": "Rechercher dans les références", + "hotkey_select_all": "Tout sélectionner", + "hotkey_select_candidate": "Choisir une option", + "hotkey_to_lowercase": "Mettre en minuscules", + "hotkey_to_uppercase": "Mettre en majuscules", + "hotkey_toggle_comment": "Mettre en commentaire", + "hotkey_toggle_review_panel": "Ouvrir le panneau de relecture", + "hotkey_toggle_track_changes": "Ouvrir le suivi des modifications", + "hotkey_undo": "Annuler", + "hotkeys": "Raccourcis clavier", + "hundreds_templates_info": "Créez de magnifiques documents en vous basant sur notre galerie de modèles LaTeX pour les revues, conférences, thèses, rapports, CV et bien plus encore.", + "i_want_to_stay": "Je veux rester", + "if_have_existing_can_link": "Si vous avez déjà un compte __appName__ sur une autre adresse courriel, vous pouvez le lier à votre compte __institutionName__ en cliquant __clickText__.", + "if_owner_can_link": "Si vous possédez le compte __appName__ ayant pour adresse __email__, vous serez autorisé à le lier à votre compte institutionnel __institutionName__.", + "ignore_and_continue_institution_linking": "Vous pouvez également ignorer ceci et continuer vers __appName__ avec votre compte __email__.", + "ignore_validation_errors": "Ne pas vérifier la syntaxe", + "ill_take_it": "Je le prends !", + "import_from_github": "Importer depuis GitHub", + "import_to_sharelatex": "Importer dans __appName__", + "imported_from_another_project_at_date": "Importé d’un <0>autre projet/__sourceEntityPathHTML__, le __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Importé de <0>__shortenedUrlHTML__ le __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Importé de Mendeley le __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Importé des fichiers générés d’un <0>autre projet: __sourceOutputFilePathHTML__, le __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Importé de Zotero le __formattedDate__ __relativeDate__", + "importing": "Importation", + "importing_and_merging_changes_in_github": "Import et fusion des modifications dans GitHub", + "in_good_company": "Vous êtes en bonne compagnie", + "in_order_to_match_institutional_metadata_associated": "Afin de faire correspondre vos métadonnées institutionnelles, votre compte est associé avec l’adresse courriel __email__.", + "indvidual_plans": "Offres individuelles", + "info": "Info", + "institution": "Établissement", + "institution_account": "Compte institutionnel", + "institution_account_tried_to_add_affiliated_with_another_institution": "Cette adresse courriel est déjà associée à votre compte mais est affiliée à un autre établissement.", + "institution_account_tried_to_add_already_linked": "Cet établissement est déjà lié à votre compte via une autre adresse courriel.", + "institution_account_tried_to_add_already_registered": "Le compte ou l’adresse courriel institutionnelle que vous avez essayé d’ajouter est déjà inscrite sur __appName__.", + "institution_account_tried_to_add_not_affiliated": "Cette adresse courriel est déjà associée à votre compte mais n’est pas affiliée à cet établissement.", + "institution_account_tried_to_confirm_saml": "Cette adresse courriel n’a pas pu être validée. Veuillez supprimer cette adresse de votre compte et réessayer de l’ajouter.", + "institution_and_role": "Établissement et rôle", + "institution_email_new_to_app": "Votre adresse courriel __institutionName__ (__email__) est nouvelle sur __appName__.", + "institutional": "Institutionnel", + "institutional_login_not_supported": "Votre université ne supporte pas encore la connexion institutionnelle, mais vous pouvez toujours vous inscrire avec votre adresse courriel institutionnelle.", + "institutional_login_unknown": "Désolé, nous ne connaissons pas l’établissement qui a délivré cette adresse courriel. Vous pouvez consulter notre liste d’établissements pour trouver le vôtre, ou vous pouvez simplement vous inscrire en utilisant votre adresse courriel ici.", + "invalid_email": "Une adresse courriel est invalide", + "invalid_file_name": "Nom de fichier invalide", + "invalid_filename": "Échec de l’envoi : assurez-vous que le nom du fichier ne contienne pas de caractères spéciaux, de blancs au début ou à la fin ou plus de __nameLimit__ caractères", + "invalid_institutional_email": "Le service d’authentification central de votre établissement a indiqué que votre adresse courriel était __email__, mais le domaine de cette adresse n’appartient pas à ceux que nous reconnaissons pour cet établissement. Il est peut-être possible de modifier votre adresse courriel principale depuis le profil utilisateur de votre établissement pour qu’elle soit dans un domaine reconnu. Veuillez contacter votre département informatique si vous avez des questions.", + "invalid_password": "Mot de passe invalide", + "invalid_request": "Requête invalide. Veuillez corriger les données et réessayer.", + "invalid_zip_file": "Archive invalide", + "invite_not_accepted": "Invitation en attente", + "invite_not_valid": "Cette invitation à un projet n’est pas valable", + "invite_not_valid_description": "L’invitation a peut-être expiré. Veuillez contacter le propriétaire du projet", + "invited_to_group": "<0>__inviterName__ vous a invité à rejoindre une équipe sur __appName__", + "ip_address": "Adresse IP", + "is_email_affiliated": "Votre adresse courriel est-elle affiliée à un établissement ? ", + "it": "Italien", + "ja": "Japonais", + "january": "Janvier", + "join_project": "Rejoindre le projet", + "join_sl_to_view_project": "Rejoinde __appName__ pour voir ce projet", + "join_team_explanation": "Veuillez cliquer sur le bouton ci-dessous pour rejoindre l’équipe et bénéficier des avantages d’un compte __appName__ premium", + "joined_team": "Vous avez rejoint l’équipe gérée par __inviterName__", + "joining": "Jonction", + "july": "Juillet", + "june": "Juin", + "kb_suggestions_enquiry": "Avez-vous consulté notre <0>__kbLink__ ?", + "keep_current_plan": "Garder mon offre actuelle", + "keybindings": "Raccourcis clavier", + "knowledge_base": "Base de connaissances", + "ko": "Koréen", + "language": "Langue", + "last_modified": "Dernière modification", + "last_name": "Nom", + "latex_templates": "Modèles LaTeX", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choisissez une adresse courriel pour le compte __appName__ initial. Celle-ci doit correspondre à un compte dans la base LDAP. Vous serez ensuite invité à vous connecter avec ce compte.", + "learn_more": "En savoir plus", + "learn_more_about_link_sharing": "En savoir plus sur le partage par lien", + "leave": "Quitter", + "leave_group": "Quitter le groupe", + "leave_now": "Quitter maintenant", + "leave_projects": "Quitter les projets", + "let_us_know": "Faites-le nous savoir", + "line_height": "Hauteur de ligne", + "link_account": "Lier un compte", + "link_accounts": "Lier les comptes", + "link_accounts_and_add_email": "Lier les comptes et ajouter un courriel", + "link_institutional_email_get_started": "Liez une adresse courriel institutionnelle pour commencer.", + "link_sharing": "Partage par lien", + "link_sharing_is_off": "Le partage par lien est désactivé, seuls les utilisateur·rice·s invité·e·s peuvent voir ce projet.", + "link_sharing_is_on": "Le partage par lien est activé", + "link_to_github": "Lier à votre compte GitHub", + "link_to_github_description": "Vous devez autoriser __appName__ à accéder à votre compte GitHub afin de nous permettre de synchroniser vos projets.", + "link_to_mendeley": "Lier à Mendeley", + "link_to_zotero": "Lier à Zotero", + "link_your_accounts": "Lier vos comptes", + "linked_accounts": "comptes liés", + "linked_accounts_explained": "Vous pouvez lier votre compte __appName__ avec d’autres services pour bénéficier des fonctionnalités ci-dessous", + "linked_collabratec_description": "Utilisez Collabratec pour gérer vos projets __appName__.", + "linked_file": "Fichier importé", + "links": "Liens", + "loading": "Chargement en cours", + "loading_content": "Création du projet", + "loading_github_repositories": "Chargement de vos dépôts GitHub", + "loading_recent_github_commits": "Chargement des commits récents", + "log_entry_description": "Entrée du journal de niveau : __level__", + "log_hint_extra_info": "En savoir plus", + "log_in": "Se connecter", + "log_in_and_link": "Se connecter et lier", + "log_in_and_link_accounts": "Se connecter et lier les comptes", + "log_in_first_to_proceed": "Vous aurez besoin de vous connecter avant de poursuivre.", + "log_in_with": "Se connecter avec __provider__", + "log_in_with_email": "Se connecter avec __email__", + "log_in_with_existing_institution_email": "Veuillez vous connecter sur votre compte __appName__ existant afin de lier vos comptes institutionnels __appName__ et __institutionName__.", + "log_out": "Déconnexion", + "log_out_from": "Se déconnecter de __email__", + "logged_in_with_email": "Vous êtes actuellement connecté à __appName__ avec l’adresse __email__.", + "logging_in": "Connexion en cours", + "login": "Identifiant", + "login_error": "Erreur de connexion", + "login_failed": "Échec de connexion", + "login_here": "Se connecter ici", + "login_or_password_wrong_try_again": "Votre identifiant ou votre mot de passe est incorrect. Veuillez essayer à nouveau", + "login_register_or": "ou bien", + "login_to_overleaf": "Se connecter à HajTeX", + "login_with_service": "Se connecter avec __service__", + "logs_and_output_files": "Journaux et fichiers de sortie", + "looking_multiple_licenses": "Vous cherchez des licences groupées ?", + "looks_like_logged_in_with_email": "Il semble que vous soyez déjà connecté à __appName__ avec l’adresse __email__.", + "looks_like_youre_at": "Il semblerait que vous soyez à <0>__institutionName__ !", + "lost_connection": "Connexion perdue", + "main_document": "Document principal", + "main_file_not_found": "Document principal inconnu", + "maintenance": "Maintenance", + "make_email_primary_description": "Faire de cette adresse courriel l’adresse principale, utilisée pour la connexion", + "make_primary": "Utiliser en principale", + "make_private": "Rendre privé", + "manage_beta_program_membership": "Gérer votre participation au programme de bêta", + "manage_files_from_your_dropbox_folder": "Gérez les fichiers de votre Dropbox", + "manage_sessions": "Gérer vos sessions", + "manage_subscription": "gérer l’abonnement", + "managers_cannot_remove_admin": "Les administrateurs ne peuvent être supprimés", + "managers_cannot_remove_self": "Les gestionnaires ne peuvent pas s’auto-supprimer", + "managers_management": "Gestion des gestionnaires", + "march": "Mars", + "mark_as_resolved": "Marquer comme résolu", + "math_display": "Formules centrées", + "math_inline": "Formules en ligne", + "maximum_files_uploaded_together": "__max__ fichiers téléversés simultanément. Valeur maximale atteinte.", + "may": "Mai", + "members_management": "Gestion des membres", + "mendeley": "Mendeley", + "mendeley_groups_loading_error": "Le chargement des groupes Mendeley a échoué", + "mendeley_integration": "Intégration Mendeley", + "mendeley_is_premium": "L’intégration Mendeley est une fonctionnalité premium", + "mendeley_reference_loading_error": "Erreur, impossible de charger les références depuis Mendeley", + "mendeley_reference_loading_error_expired": "Le jeton Mendeley est expiré, veuillez lier à nouveau votre compte", + "mendeley_reference_loading_error_forbidden": "Impossible de charger les références de Mendeley, veuillez lier à nouveau votre compte et réessayer.", + "mendeley_sync_description": "Avec l’intégration Mendeley, vous pouvez importer vos références à partir de Mendeley dans vos projets __appName__.", + "menu": "Menu", + "merge": "Fusion", + "merging": "Fusion", + "month": "mois", + "monthly": "Mensuel", + "more": "Plus", + "more_info": "Plus d’infos", + "more_than_one_kind_of_snippet_was_requested": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "must_be_email_address": "Adresse électronique attendue", + "n_items": "__count__ élément", + "n_items_plural": "__count__ éléments", + "name": "Nom", + "native": "Native", + "navigate_log_source": "Aller à la position du journal dans le code source : __location__", + "navigation": "Navigation", + "nearly_activated": "Il ne vous reste plus qu’une étape pour activer votre compte __appName__ !", + "need_anything_contact_us_at": "Si vous avez besoin de quelque chose, n’hésitez pas à nous contacter directement à", + "need_to_add_new_primary_before_remove": "Vous devrez ajouter une nouvelle adresse courriel principale avant de pouvoir supprimer celle-ci.", + "need_to_leave": "Besoin de partir ?", + "need_to_upgrade_for_more_collabs": "Vous devez mettre à niveau votre compte pour ajouter plus de collaborateur·rice·s", + "new_file": "Nouveau fichier", + "new_folder": "Nouveau dossier", + "new_name": "Nouveau nom", + "new_password": "Nouveau mot de passe", + "new_project": "Nouveau projet", + "new_snippet_project": "Sans titre", + "next_payment_of_x_collectected_on_y": "Le prochain paiement de <0>__paymentAmmount__ sera débité le <1>__collectionDate__.", + "nl": "Hollandais", + "no": "Norvégien", + "no_comments": "Aucun commentaire", + "no_existing_password": "Veuillez utiliser le formulaire de réinitialisation de mot de passe pour définir votre mot de passe", + "no_featured_templates": "Aucun modèle mis en avant", + "no_members": "Aucun membre", + "no_messages": "Pas de message", + "no_new_commits_in_github": "Aucun nouveau commit dans GitHub depuis la dernière fusion.", + "no_other_projects_found": "Aucun autre projet trouvé, veuillez d’abord créer un autre projet", + "no_other_sessions": "Aucune autre session n’est active", + "no_pdf_error_explanation": "Cette compilation n’a pas généré de PDF. Cela peut se produire lorsque :", + "no_pdf_error_reason_no_content": "L’environnement document n’a pas de contenu. S’il est vide, veuillez y ajouter du contenu et relancer la compilation.", + "no_pdf_error_reason_output_pdf_already_exists": "Un des fichiers de ce projet porte le nom output.pdf. Si un tel fichier existe, veuillez le renommer et relancer la compilation.", + "no_pdf_error_reason_unrecoverable_error": "Une erreur LaTeX fatale s’est produite. Si des erreurs LaTeX sont affichées ci-dessous ou dans les journaux bruts, veuillez essayer de les corriger puis de relancer la compilation.", + "no_pdf_error_title": "Pas de PDF", + "no_planned_maintenance": "Il n’y a pas de maintenance prévue pour le moment", + "no_preview_available": "Désolé, aucune prévisualisation possible.", + "no_projects": "Aucun projet", + "no_resolved_threads": "Aucun fil de discussion résolu", + "no_search_results": "Aucun résultat pour la recherche", + "no_selection_select_file": "Aucun fichier sélectionné. Veuillez sélectionner un fichier depuis l’arborescence.", + "no_symbols_found": "Aucun symbole toruvé", + "no_thanks_cancel_now": "Non merci, je veux toujours annuler", + "normal": "Normal", + "normally_x_price_per_month": "__price__ par mois en temps normal", + "normally_x_price_per_year": "__price__ par an en temps normal", + "not_found_error_from_the_supplied_url": "Le lien pour ouvrir ce contenu sur HajTeX pointe vers un fichier introuvable. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "not_now": "pas maintenant", + "not_registered": "Pas inscrit·e", + "notification_features_upgraded_by_affiliation": "Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec HajTeX, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’HajTeX.", + "notification_personal_subscription_not_required_due_to_affiliation": " Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec HajTeX, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’HajTeX. Vous pouvez ainsi annuler votre abonnement personnel en conservant l’accès à tous vos avantages.", + "notification_project_invite": "__userName__ souhaiterait que vous rejoigniez __projectName__ Rejoindre le projet", + "notification_project_invite_accepted_message": "Vous avez rejoint __projectName__", + "notification_project_invite_message": "__userName__ souhaiterait que vous rejoigniez __projectName__", + "november": "Novembre", + "number_collab": "Nombre de collaborateur·rice·s", + "oauth_orcid_description": " Justifiez de votre identité de façon sécurisée en liant votre ORCID iD à votre compte __appName__. Vos soumissions aux éditeurs participants incluront automatiquement votre ORCID iD, permettant ainsi d’accroître votre productivité et votre visibilité. ", + "october": "Octobre", + "off": "Désactivé", + "ok": "Ok", + "on": "Activé", + "one_collaborator": "Un·e seul·e collaborateur·rice", + "one_free_collab": "Un collaborateur offert", + "online_latex_editor": "Éditeur LaTeX en ligne", + "open_a_file_on_the_left": "Ouvrir un fichier sur la gauche", + "open_project": "Ouvrir le projet", + "opted_out_linking": "Vous avez choisi de ne pas lier votre compte __appName__ __email__ à votre compte institutionnel.", + "optional": "Optionnel", + "or": "ou", + "organize_projects": "Organiser les projets", + "other_actions": "Autres actions", + "other_logs_and_files": "Autres journaux et fichiers", + "other_output_files": "Télécharger les autres fichiers générés", + "over": "Plus de", + "overall_theme": "Apparence générale", + "overview": "Vue d’ensemble", + "owner": "Propriétaire", + "page_current": "Page __page__, page actuelle", + "page_not_found": "Page introuvable", + "pagination_navigation": "Navigation pagination", + "password": "Mot de passe", + "password_change_passwords_do_not_match": "Les mots de passe ne correspondent pas", + "password_change_successful": "Mot de passe modifié", + "password_reset": "Réinitialisation du mot de passe", + "password_reset_email_sent": "Un courriel vous a été envoyé afin de finaliser la réinitialisation de votre mot de passe.", + "password_reset_token_expired": "Votre demande de réinitialisation de mot de passe a expiré. Veuillez refaire une demande de réinitialisation et suivre le lien qui figure dans le nouveau courriel.", + "password_too_long_please_reset": "La longueur maximale autorisée pour le mot de passe a été dépassée. Merci de réinitialiser votre mot de passe.", + "payment_provider_unreachable_error": "Désolé, une erreur s’est produite lors de la communication avec notre fournisseur de paiements. Veuillez réessayer dans quelques instants.\n\nSi vous utilisez une extension dans votre navigateur pour bloquer les publicités ou les scripts, il peut être nécessaire de les désactiver temporairement.", + "pdf_compile_in_progress_error": "Une compilation précédente est toujours en cours. Veuillez attendre un instant puis réessayer de compiler.", + "pdf_compile_rate_limit_hit": "Limite de fréquence de compilation atteinte", + "pdf_compile_try_again": "Veuillez attendre que votre compilation précédente se termine avant de réessayer.", + "pdf_rendering_error": "Erreur de rendu PDF", + "pdf_viewer": "Visionneuse de PDF", + "pending": "En attente", + "pending_additional_licenses": "Votre abonnement va changer pour inclure <0>__pendingAdditionalLicenses__ licence(s) additionnelle(s), pour un total de <1>__pendingTotalLicenses__ licences.", + "personal": "Personnel", + "pl": "Polonais", + "planned_maintenance": "Maintenance prévue", + "plans_amper_pricing": "Offres et tarifs", + "plans_and_pricing": "Offres et prix", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Veuillez demander au propriétaire du projet de mettre à niveau son compte pour pouvoir suivre les modifications", + "please_change_primary_to_remove": "Veuillez changer votre adresse courriel principale pour pouvoir la retirer", + "please_check_your_inbox": "Veuillez relever votre courriel", + "please_check_your_inbox_to_confirm": "Veuillez vérifier votre boîte de réception de courriel pour valider votre affiliation à <0>__institutionName__.", + "please_compile_pdf_before_download": "Veuillez compiler votre projet avant de pouvoir télécharger le PDF", + "please_compile_pdf_before_word_count": "Veuillez d’abord compiler votre projet afin de compter les mots", + "please_confirm_email": "Veuillez confirmer votre adresse courriel __emailAddress__ en cliquant sur le lien contenu dans le courriel de confirmation ", + "please_confirm_your_email_before_making_it_default": "Veuillez confirmer cette adresse courriel avant de pouvoir la rendre principale.", + "please_enter_email": "Veuillez indiquer votre adresse électronique", + "please_link_before_making_primary": "Veuillez confirmer votre adresse courriel en la liant à votre compte institutionnel avant de pouvoir la rendre principale.", + "please_reconfirm_institutional_email": "Veuillez prendre un instant pour valider votre adresse courriel institutionnelle ou bien <0>supprimez-la de votre compte.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Veuillez confirmer votre affiliation avant de pouvoir la rendre principale.", + "please_refresh": "Veuillez actualiser la page pour continuer.", + "please_select_a_file": "Veuillez choisir un fichier", + "please_select_a_project": "Veuillez choisir un projet", + "please_select_an_output_file": "Veuillez choisir un fichier généré", + "please_set_a_password": "Veuillez choisir un mot de passe", + "please_set_main_file": "Veuillez choisir le fichier principal pour ce projet depuis le menu du projet. ", + "portal_add_affiliation_to_join": "Il semblerait que vous soyez déjà connecté à __appName__ ! Si vous avez une adresse courriel __portalTitle__, vous pouvez l’ajouter maintenant.", + "position": "Grade", + "postal_code": "Code postal", + "premium_features": "Fonctionnalités premium", + "presentation": "Présentation", + "price": "Prix", + "priority_support": "Support prioritaire", + "privacy": "Politique de confidentialité", + "privacy_policy": "Règles de confidentialité", + "private": "Privé", + "problem_changing_email_address": "Il y a eu un problème lors de votre changement d’adresse courriel. Veuillez recommencer dans quelques instants. Si le problème persiste, veuillez nous contacter.", + "problem_talking_to_publishing_service": "Il y a un problème avec notre service d’édition, veuillez réessayer dans quelques minutes", + "problem_with_subscription_contact_us": "Il y a un problème avec votre abonnement. Veuillez nous contacter pour davantage d’informations.", + "processing": "En traitement", + "processing_your_request": "Veuillez patienter pendant que nous traitons votre demande.", + "professional": "Professionnel·le", + "project_approaching_file_limit": "Ce projet approche la limite de fichiers", + "project_flagged_too_many_compiles": "Ce projet a été compilé trop fréquemment. Cette limite sera levée sous peu.", + "project_has_too_many_files": "La limite des 2 000 fichiers a été atteinte pour ce projet", + "project_last_published_at": "Votre projet a été édité pour la dernière fois le", + "project_name": "Nom du projet", + "project_not_linked_to_github": "Ce projet n’est pas lié à un dépôt GitHub. Vous pouvez lui créer un dépôt dans GitHub :", + "project_ownership_transfer_confirmation_1": "Êtes-vous sûr de vouloir faire de <0>__user__ le propriétaire de <1>__project__ ?", + "project_ownership_transfer_confirmation_2": "Cette action est irréversible. Le nouveau propriétaire sera notifié et sera en mesure de modifier les paramètres d’accès au projet (y compris de vous ôter le droit d’accès).", + "project_synced_with_git_repo_at": "Ce projet est synchronisé avec le dépôt GitHub", + "project_too_large": "Projet trop volumineux", + "project_too_large_please_reduce": "Ce projet contient trop de texte, veuillez essayer de le réduire. Les fichiers les plus volumineux sont :", + "project_too_much_editable_text": "Ce projet contient trop de texte, veuillez essayer de le réduire.", + "project_url": "URL du projet concerné", + "projects": "Projets", + "pt": "Portugais", + "public": "Public", + "publish": "Publier", + "publish_as_template": "Gérer le modèle", + "publishing": "Publication en cours", + "pull_github_changes_into_sharelatex": "Récupérer les modifications GitHub (pull) dans __appName__", + "push_sharelatex_changes_to_github": "Pousser les modifications __appName__ vers GitHub", + "quoted_text_in": "Texte cité dans", + "raw_logs": "Journaux bruts", + "raw_logs_description": "Journaux bruts issus du compilateur LaTeX", + "read_only": "Lecture seule", + "realtime_track_changes": "Suivi des modifications en temps réel", + "reauthorize_github_account": "Autorisez votre compte GitHub à nouveau", + "recent_commits_in_github": "Commits récents dans GitHub", + "recompile": "Recompiler", + "recompile_from_scratch": "Recompiler entièrement", + "recompile_pdf": "Recompiler le PDF", + "reconfirm": "confirmez à nouveau", + "reconfirm_explained": "Nous devons confirmer votre compte à nouveau. Veuillez demander une réinitialisation de votre mot de passe en utilisant le formulaire ci-dessous pour réaliser cette action. Si vous rencontrez des problèmes pour confirmer votre compte, contactez-nous à", + "reconnect": "Réessayer", + "reconnecting": "Reconnexion", + "reconnecting_in_x_secs": "Reconnexion dans __seconds__ s", + "recurly_email_update_needed": "Votre adresse courriel de facturation est actuellement <0>__recurlyEmail__. Si besoin, vous pouvez modifier votre adresse de facturation pour <1>__userEmail__.", + "recurly_email_updated": "Votre adresse courriel de facturation a été modifiée avec succès", + "reduce_costs_group_licenses": "Vous pouvez simplifier les formalités et réaliser des économies grâce à nos réductions pour les licences groupées.", + "reference_error_relink_hint": "Si cette erreur persiste, essayez de lier à nouveau votre compte ici :", + "reference_search": "Recherche de références avancée", + "reference_sync": "Synchro. avec gestionnaire de références", + "refresh": "Rafraîchir", + "refresh_page_after_linking_dropbox": "Veuillez rafraîchir cette page après avoir lié votre compte à Dropbox.", + "refresh_page_after_starting_free_trial": "Veuillez actualiser cette page avant de commencer votre essai gratuit.", + "refreshing": "Actualisation", + "regards": "Merci", + "register": "S’inscrire", + "register_error": "Erreur d’inscription", + "register_intercept_sso": "Vous pourrez lier votre compte __authProviderName__ depuis la page « Paramètres du compte » une fois que vous vous serez connecté.", + "register_to_edit_template": "Veuillez vous inscrire pour éditer le modèle __templateName__", + "register_with_another_email": "Inscrivez-vous avec __appName__ en utilisant une autre adresse courriel.", + "registered": "Inscrit·e", + "registering": "Inscription en cours", + "registration_error": "Erreur d’inscription", + "reject": "Rejeter", + "reject_all": "Tout rejeter", + "reload_editor": "Actualiser l’éditeur", + "remote_service_error": "Le service distant a renvoyé une erreur", + "remove": "Supprimer", + "remove_collaborator": "Exclure le ou la collaborateur·rice", + "remove_from_group": "Retirer du groupe", + "remove_manager": "Supprimer un gestionnaire", + "removed": "retiré", + "removing": "Suppression", + "rename": "Renommer", + "rename_project": "Renommer le projet", + "renaming": "Renommage", + "reopen": "Rouvrir", + "reply": "Répondre", + "repository_name": "Nom du dépôt", + "republish": "Publier à nouveau", + "request_password_reset": "Réinitialiser le mot de passe", + "request_password_reset_to_reconfirm": "Faites une demande de modification du mot de passe pour revalider", + "request_reconfirmation_email": "Demander un courriel de confirmation", + "request_sent_thank_you": "Message envoyé ! Notre équipe va l’examiner et vous répondre par courriel.", + "requesting_password_reset": "Réinitialisation du mot de passe", + "required": "requis", + "resend": "Envoyer de nouveau", + "resend_confirmation_email": "Réexpédier le courriel de confirmation", + "resending_confirmation_email": "Réexpédition du courriel de confirmation", + "reset_password": "Réinitialiser le mot de passe", + "reset_your_password": "Réinitialiser votre mot de passe", + "resolve": "Résoudre", + "resolved_comments": "Commentaires résolus", + "restore": "Restaurer", + "restoring": "Restauration en cours", + "restricted": "Accès restreint", + "restricted_no_permission": "Accès restreint, désolé vous n’avez pas l’autorisation de charger cette page.", + "return_to_login_page": "Retourner à la page de connexion", + "revert_pending_plan_change": "Annuler la modification prévue d’offre", + "review": "Relire", + "review_your_peers_work": "Relisez le travail de vos pairs", + "revoke": "Révoquer", + "revoke_invite": "Retirer l’invitation", + "ro": "Roumain", + "role": "Grade", + "ru": "Russe", + "saml": "SAML", + "saml_create_admin_instructions": "Choisissez une adresse courriel pour le compte __appName__ initial. Celle-ci doit correspondre à un compte dans le système SAML. Vous serez ensuite invité à vous connecter avec ce compte.", + "save_or_cancel-cancel": "annuler", + "save_or_cancel-or": "ou", + "save_or_cancel-save": "Enregistrer", + "saving": "Sauvegarde en cours", + "saving_notification_with_seconds": "Enregistrement de __docname__ (__seconds__ s de modifications non enregistrées)", + "search": "Recherche", + "search_bib_files": "Rechercher par auteur, titre, année", + "search_projects": "Rechercher un projet", + "search_references": "Rechercher les fichiers .bib dans ce projet", + "secondary_email_password_reset": "Cette adresse courriel est une adresse secondaire. Veuillez saisir l’adresse principale associée à votre compte.", + "security": "Sécurité", + "see_changes_in_your_documents_live": "Observez les modifications dans vos documents, en direct", + "select_a_file": "Choisir un fichier", + "select_a_project": "Choisir un projet", + "select_all_projects": "Tout sélectionner", + "select_an_output_file": "Choisir un fichier généré", + "select_from_output_files": "choisir parmi les fichiers générés", + "select_from_source_files": "choisir parmi les fichiers source", + "select_github_repository": "Choisissez un dépôt GitHub à importer dans __appName__", + "send": "Envoyer", + "send_first_message": "Envoyez votre premier message à vos collaborateur·rice·s", + "send_test_email": "Envoyer un courriel de test", + "sending": "Envoi", + "september": "Septembre", + "server_error": "Erreur du serveur", + "services": "Services", + "session_created_at": "Session créée le", + "session_error": "Erreur de session. Veuillez vérifier que vous avez activé les cookies. Si le problème persiste, essayez de vider votre cache et vos cookies.", + "session_expired_redirecting_to_login": "Session expirée. Redirection vers la page de connexion dans __seconds__ s", + "sessions": "Sessions", + "set_new_password": "Changer le mot de passe", + "set_password": "Changement de mot de passe", + "settings": "Réglages", + "share": "Partager", + "share_project": "Partager le projet", + "share_with_your_collabs": "Partager avec vos collaborateur·rice·s", + "shared_with_you": "Partagé avec moi", + "sharelatex_beta_program": "Programme de bêta __appName__", + "show_all": "tout voir", + "show_hotkeys": "Montrer les raccourcis clavier", + "show_less": "voir moins", + "show_outline": "Afficher la structure du fichier", + "showing_1_result": "Affiche 1 résultat", + "showing_1_result_of_total": "Affiche 1 résultat sur __total__", + "showing_x_out_of_n_projects": "Affiche __x__ sur __n__ projets.", + "showing_x_results": "Affiche __x__ résultats", + "showing_x_results_of_total": "Affiche __x__ résultats sur __total__", + "site_description": "Un éditeur LaTeX en ligne facile à utiliser. Pas d’installation, collaboration en temps réel, gestion des versions, des centaines de modèles de documents LaTeX, et plus encore.", + "skip_to_content": "Aller au contenu", + "something_went_wrong_canceling_your_subscription": "Un problème est survenu lors de l’annulation de votre abonnement. Veuillez contacter le support.", + "something_went_wrong_rendering_pdf": "Une erreur s’est produite lors du rendu de ce PDF.", + "something_went_wrong_server": "Une erreur s’est produite pendant la communication avec le serveur :( Veuillez réessayer.", + "somthing_went_wrong_compiling": "Désolé, quelque chose ne fonctionne pas et votre projet ne peut pas être compilé. Veuillez réessayer dans quelques instants.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Désolé, une erreur s’est produite lors de l’ouverture de ce contenu sur HajTeX. Veuillez réessayer", + "source": "Code source", + "spell_check": "Correcteur orthographique", + "sso_account_already_linked": "Compte déjà lié à un·e autre utilisateur·rice __appName__", + "sso_link_error": "Erreur lors de la liaison avec le compte SSO", + "sso_not_linked": "Vous n’avez pas lié votre compte à __provider__. Veuillez vous connecter à votre compte via une autre méthode puis lier votre compte __provider__ dans les paramètres.", + "start_by_adding_your_email": "Commencez par saisir votre adresse courriel.", + "start_free_trial": "Commencer l’essai gratuit !", + "state": "État", + "status_checks": "Vérifications d’état", + "still_have_questions": "Vous avez d’autres questions ?", + "stop_compile": "Arrêter la compilation", + "stop_on_validation_error": "Vérifier la syntaxe avant la compilation", + "store_your_work": "Stockez vos travaux sur votre propre infrastructure", + "student": "Étudiant·e", + "student_disclaimer": "Cette réduction pour l’éducation s’applique à tous les étudiant·e·s des établissements du secondaire ou du supérieur (lycées et universités). Nous pouvons être amenés à vous contacter pour confirmer votre éligibilité à cette réduction.", + "subject": "Objet", + "subject_to_additional_vat": "Selon votre pays, les prix peuvent en plus être sujets à la TVA.", + "submit": "envoyer", + "submit_title": "Publier", + "subscribe": "S’abonner", + "subscription": "Abonnement", + "subscription_admins_cannot_be_deleted": "Vous ne pouvez pas supprimer votre compte car vous avez un abonnement en cours. Veuillez annuler votre abonnement et réessayer. Si vous voyez toujours ce message après lors, veuillez nous contacter.", + "subscription_canceled": "Abonnement annulé", + "subscription_canceled_and_terminate_on_x": " Votre abonnement a été annulé et se terminera le <0>__terminateDate__. Aucun paiement supplémentaire ne vous sera demandé.", + "suggestion": "Suggestion", + "sure_you_want_to_cancel_plan_change": "Êtes-vous sûr(e) de vouloir annuler votre modification prévue d’offre ? Vous resterez abonné à l’offre <0>__planName__.", + "sure_you_want_to_change_plan": "Voulez-vous vraiment changer d’offre pour <0>__planName__ ?", + "sure_you_want_to_delete": "Êtes-vous sûr(e) de vouloir supprimer définitivement les fichiers suivants ?", + "sure_you_want_to_leave_group": "Voulez-vous vraiment quitter ce groupe ?", + "sv": "Suedois", + "sync": "Synchroniser", + "sync_dropbox_github": "Synchroniser avec Dropbox et GitHub", + "sync_project_to_github_explanation": "Tous les modifications effectuées dans __appName__ seront commitées et fusionnées avec les mises à jour existant dans GitHub.", + "sync_to_dropbox": "Synchronisation avec Dropbox", + "sync_to_github": "Synchroniser avec GitHub", + "synctex_failed": "Impossible de trouver le fichier source correspondant", + "syntax_validation": "Vérification du code", + "take_me_home": "Retour à la maison !", + "tc_everyone": "Tout le monde", + "tc_guests": "Invités", + "tc_switch_everyone_tip": "Activer le suivi des modifications pour tout le monde", + "tc_switch_guests_tip": "Activer le suivi des modifications pour les invités par partage de lien", + "tc_switch_user_tip": "Activer le suivi des modifications pour cet·te utilisateur·rice", + "template_description": "Description des modèles", + "template_gallery": "Galerie de modèles", + "template_not_found_description": "Cette méthode de création de projets à partir de modèles n’est plus disponible. Merci de vous rendre sur notre galerie des modèles pour trouver d’autres modèles.", + "template_title_taken_from_project_title": "Le titre du modèle sera repris automatiquement du titre du projet", + "templates": "Modèles", + "terminated": "Compilation annulée", + "terms": "Conditions", + "tex_live_version": "Version de TeX Live", + "thank_you": "Merci", + "thank_you_exclamation": "Merci !", + "thank_you_for_being_part_of_our_beta_program": "Merci de votre participation au programme de bêta, qui vous permet d’accéder en avant-première aux nouvelles fonctionnalités et de nous aider à mieux comprendre vos besoins", + "thanks": "Merci", + "thanks_for_subscribing": "Merci de vous être abonné(e) !", + "thanks_for_subscribing_you_help_sl": "Merci de vous être abonné à l’offre __planName__. C’est grâce au support de personnes comme vous que __appName__ peut prospérer et continuer à s’améliorer.", + "thanks_settings_updated": "Merci, vos réglages ont été mis à jour.", + "the_file_supplied_is_of_an_unsupported_type ": "Le lien pour ouvrir ce contenu sur HajTeX pointe vers un type de fichier invalide. Les types autorisés sont les documents .tex et les archives .zip. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_requested_conversion_job_was_not_found": "Le lien pour ouvrir ce contenu sur HajTeX spécifie une tâche de conversion inconnue. Il est possible que cette tâche ait expiré et qu’elle doive être lancée à nouveau. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_requested_publisher_was_not_found": "Le lien pour ouvrir ce contenu sur HajTeX spécifie un éditeur inconnu. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_required_parameters_were_not_supplied": "Certains paramètres obligatoires sont manquants dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_supplied_parameters_were_invalid": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "the_supplied_uri_is_invalid": "Le lien pour ouvrir ce contenu sur HajTeX contient une URI invalide. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "their_projects_will_be_transferred_to_another_user": "Leurs projets seront tous transférés à un autre utilisateur de votre choix", + "theme": "Thème", + "then_x_price_per_month": "Puis __price__ par mois", + "then_x_price_per_year": "Puis __price__ par an", + "there_was_an_error_opening_your_content": "Une erreur s’est produite lors de la création de votre projet", + "thesis": "Thèse", + "they_lose_access_to_account": "Leur compte HajTeX sera immédiatement inaccessible", + "this_action_cannot_be_undone": "Cette action est irréversible.", + "this_field_is_required": "Ce champ est requis", + "this_is_your_template": "Ceci est le modèle provenant de votre projet", + "this_project_is_public": "Ce projet est public et peut être édité par n’importe qui disposant de son URL.", + "this_project_is_public_read_only": "Ce projet est public et peut être vu, mais non modifié, par toute personne disposant de son URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Ce projet apparaîtra dans votre dossier Dropbox à ", + "thousands_templates": "Des milliers de modèles", + "three_free_collab": "Trois collaborateurs offerts", + "timedout": "Temps expiré", + "title": "Titre", + "to_add_more_collaborators": "Pour ajouter des collaborateur·rice·s supplémentaires ou pour activer le partage par lien, veuillez vous adresser au propriétaire du projet", + "to_change_access_permissions": "Pour modifier les droits d’accès, contactez le propriétaire du projet", + "to_many_login_requests_2_mins": "Ce compte a reçu trop de demandes de connexion. Veuillez attendre deux minutes avant de tenter une nouvelle connexion", + "to_modify_your_subscription_go_to": "Pour modifier votre abonnement, allez sur", + "toggle_compile_options_menu": "Activer le menu des options de compilation", + "token_access_failure": "Accès refusé ; contactez le propriétaire du projet pour plus d’assistance", + "too_many_attempts": "Trop de tentatives. Veuillez patienter un moment puis réessayer.", + "too_many_files_uploaded_throttled_short_period": "Trop de fichiers téléversés, vos envois ont été mis en attente pour un court instant. Merci d’attendre 15 minutes avant de réessayer.", + "too_many_requests": "Trop de requêtes ont été reçues sur une courte période. Veuillez patienter quelques instants puis réessayer.", + "too_recently_compiled": "Ce projet a été compilé très récemment, cette compilation a donc été passée.", + "tooltip_hide_filetree": "Cliquez pour cacher l’arborescence des fichiers", + "tooltip_hide_pdf": "Cliquez pour cacher le PDF", + "tooltip_show_filetree": "Cliquez pour afficher l’arborescence des fichiers", + "tooltip_show_pdf": "Cliquez pour afficher le PDF", + "total_words": "Total des mots", + "tr": "Turque", + "track_any_change_in_real_time": "Suivez toute modification, en temps réel", + "track_changes": "Suivre les modifications", + "track_changes_is_off": "Le suivi des modifications est désactivé", + "track_changes_is_on": "Le suivi des modifications est activé", + "tracked_change_added": "Ajout de", + "tracked_change_deleted": "Suppression de", + "trash": "Corbeille", + "trash_projects": "Mettre à la corbeille", + "trashed_projects": "Corbeille des projets", + "trashing_projects_wont_affect_collaborators": "Mettre un projet à la corbeille n’affectera pas vos collaborateur·rice·s.", + "tried_to_log_in_with_email": "Vous avez essayé de vous connecter avec __email__.", + "tried_to_register_with_email": "Vous avez essayé de vous inscrire avec l’adresse __email__ qui est déjà inscrite sur un compte institutionnel __appName__.", + "try_again": "Veuillez réessayer", + "try_it_for_free": "Essayez gratuitement", + "try_now": "Essayer maintenant", + "turn_off_link_sharing": "Désactiver le partage par lien", + "turn_on_link_sharing": "Activer le partage par lien", + "uk": "Ukrainien", + "unable_to_extract_the_supplied_zip_file": "L’ouverture de ce contenu sur HajTeX a échoué car l’archive n’a pas pu être extraite. Veuillez vous assurer de la validité de cette archive. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "unarchive": "Restaurer", + "uncategorized": "Non-classés", + "unconfirmed": "Non confirmé", + "university": "Université", + "unlimited": "Illimité", + "unlimited_collabs": "Collaborateurs illimités", + "unlimited_projects": "Projets illimités", + "unlink": "Ne plus lier", + "unlink_github_repository": "Annuler le lien avec le dépôt GitHub", + "unlink_github_warning": "Tous les projets que vous avez synchronisés avec GitHub seront déconnectés et ne seront plus maintenu synchronisés avec GitHub. Voulez-vous vraiment ne plus lier votre compte GitHub ?", + "unlink_reference": "Ne plus lier le fournisseur de références", + "unlink_warning_reference": "Attention : si vous supprimez le lien entre votre compte et ce fournisseur, vous ne pourrez plus importer des références dans vos projets.", + "unlinking": "Annuler le lien", + "unpublish": "Dépublier", + "unpublishing": "Dépublication en cours", + "unsubscribe": "Se désabonner", + "unsubscribed": "Désabonné(e)", + "unsubscribing": "Désabonnement en cours", + "untrash": "Restaurer", + "update": "Mettre à jour", + "update_account_info": "Mettre à jour les infos du compte", + "update_dropbox_settings": "Mettre à jour vos paramètres Dropbox", + "update_your_billing_details": "Mettre à jour vos données de facturation", + "updating_site": "Mise à jour du site", + "upgrade": "Mettre à niveau", + "upgrade_cc_btn": "Mettez à niveau maintenant, payez dans 7 jours", + "upgrade_now": "Mettre à niveau maintenant", + "upgrade_to_get_feature": "Mettre à niveau pour profiter de __feature__, plus :", + "upgrade_to_track_changes": "Mettez à niveau pour suivre les modifications", + "upload": "Importer", + "upload_failed": "Échec du téléversement", + "upload_project": "Importer un projet", + "upload_zipped_project": "Importer un projet zippé", + "url_to_fetch_the_file_from": "Récupérer le fichier depuis l’URL", + "use_your_own_machine": "Utilisez votre propre machine, avec votre propre installation", + "user_already_added": "Utilisateur·rice déjà ajouté·e", + "user_deletion_error": "Désolé, quelque chose n’a pas fonctionné lors de la suppression de votre compte. Veuillez réessayer dans une minute.", + "user_not_found": "Utilisateur·rice inconnu·e", + "user_wants_you_to_see_project": "__username__ souhaiterait que vous rejoigniez __projectname__", + "validation_issue_entry_description": "Un problème de validation qui a empêché la compilation de ce projet", + "vat_number": "Numéro de TVA", + "view_all": "Tout voir", + "view_in_template_gallery": "Voir dans la galerie des modèles", + "view_logs": "Voir les journaux", + "view_pdf": "Voir le PDF", + "view_your_invoices": "Voir vos factures", + "want_change_to_apply_before_plan_end": "Si vous souhaitez que cette modification prenne effet avant la fin de l’échéance actuelle de facturation, veuillez nous contacter.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Nous n’avons trouvé aucune section ou sous-section dans ce fichier", + "we_logged_you_in": "Nous vous avons connecté.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Nous serons également amenés à vous inviter par courriel à participer à des sondages ou à d’autres initiatives de recherche utilisateur", + "wed_love_you_to_stay": "Nous aimerions beaucoup que vous restiez", + "welcome_to_sl": "Bienvenue dans __appName__", + "why_latex": "Pourquoi LaTeX?", + "wide": "Large", + "will_need_to_log_out_from_and_in_with": "Vous devrez vous déconnecter de votre compte __email1__ et vous reconnecter sur votre compte __email2__.", + "word_count": "Nombre de mots", + "work_offline": "Travaillez hors ligne", + "work_with_non_overleaf_users": "Travaillez avec des utilisateurs hors de HajTeX", + "x_price_for_first_month": "<0>__price__ pour votre premier mois", + "x_price_for_first_year": "<0>__price__ pour votre première année", + "x_price_per_year": "<0>__price__ par an", + "year": "année", + "you_can_now_log_in_sso": "Vous pouvez maintenant vous connecter via votre établissement pour potentiellement bénéficier de <0>fonctionnalités professionnelles __appName__ gratuites !", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Vous pouvez rejoindre ou quitter le programme à tout moment depuis cette page", + "you_have_added_x_of_group_size_y": "Vous avez ajouté <0>__addedUsersSize__ membres sur les <1>__groupSize__ disponibles", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Vous pourrez nous contacter à tout moment pour donner votre avis", + "you_will_be_able_to_reassign_subscription": "Vous pourrez réattribuer leur abonnement à une autre personne de votre organisation", + "your_affiliation_is_confirmed": "Votre affiliation à <0>__institutionName__ est validée.", + "your_message_to_collaborators": "Envoyez un message à vos collaborateur·rice·s", + "your_new_plan": "Votre nouvelle offre", + "your_password_has_been_successfully_changed": "Votre mot de passe a été changé avec succès", + "your_plan": "Votre offre", + "your_plan_is_changing_at_term_end": "Votre offre changera vers <0>__pendingPlanName__ à la fin de l’échéance de facturation en cours.", + "your_projects": "Mes projets", + "your_role": "Votre rôle", + "your_sessions": "Vos sessions", + "your_subscription": "Votre abonnement", + "your_subscription_has_expired": "Votre abonnement a expiré", + "zh-CN": "Chinois", + "zip_contents_too_large": "Contenu de l’archive trop volumineux", + "zoom_in": "Zoomer", + "zoom_out": "Dézoomer", + "zotero": "Zotero", + "zotero_groups_loading_error": "Le chargement des groupes Zotero a échoué", + "zotero_integration": "Intégration Zotero", + "zotero_is_premium": "L’intégration Zotero est une fonctionnalité premium", + "zotero_reference_loading_error": "Erreur, impossible de charger les références depuis Zotero", + "zotero_reference_loading_error_expired": "Le jeton Zotero est expiré, veuillez lier à nouveau votre compte", + "zotero_reference_loading_error_forbidden": "Impossible de charger les références de Zotero, veuillez lier à nouveau votre compte et réessayer.", + "zotero_sync_description": "Avec l’intégration Zotero, vous pouvez importer vos références à partir de Zotero dans vos projets __appName__." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/it.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/it.json new file mode 100644 index 0000000..cc0a628 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/it.json @@ -0,0 +1,394 @@ +{ + "About": "About", + "Account": "Account", + "Account Settings": "Impostazioni Account", + "Documentation": "Documentazione", + "Projects": "Progetti", + "Security": "Sicurezza", + "Subscription": "Abbonamento", + "Terms": "Termini", + "Universities": "Università", + "about": "About", + "about_to_delete_projects": "Stai per eliminare i seguenti progetti:", + "about_to_leave_projects": "Stai per abbandonare i seguenti progetti:", + "account": "Account", + "account_not_linked_to_dropbox": "Il tuo account non è collegato a Dropbox", + "account_settings": "Impostazioni Account", + "actions": "Azioni", + "add": "Aggiungi", + "add_more_members": "Aggiungi membri", + "add_your_first_group_member_now": "Aggiungi ora i primi membri del gruppo", + "added": "aggiunto", + "adding": "Aggiunta", + "address": "Indirizzo", + "admin": "admin", + "all_projects": "Tutti i progetti", + "all_templates": "Tutti i Modelli", + "already_have_sl_account": "Hai già un account __appName__?", + "and": "e", + "annual": "Annuale", + "anonymous": "Anonimo", + "april": "Aprile", + "august": "Agosto", + "auto_complete": "Auto-completamento", + "back_to_your_projects": "Indietro ai tuoi progetti", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Progetto Vuoto", + "blog": "Blog", + "built_in": "Built-In", + "can_edit": "Può Modificare", + "cancel": "Annulla", + "cancel_my_account": "Interrrompi il mio abbonamento", + "cancel_your_subscription": "Interrrompi il tuo abbonamento", + "cant_find_email": "Spiacenti, quell’indirizzo email non è registrato.", + "cant_find_page": "Spiacenti, non riusciamo a trovare la pagina che stai cercando.", + "change": "Cambia", + "change_password": "Cambia Password", + "change_plan": "Modifica piano", + "change_to_this_plan": "Cambia a questo piano", + "chat": "Chat", + "checking_dropbox_status": "controllando lo stato di Dropbox", + "checking_project_github_status": "Controllo dello stato del progetto GitHub", + "choose_your_plan": "Scegli il tuo piano", + "city": "Città", + "clear_cached_files": "Pulisci file in cache", + "clearing": "Pulizia in corso", + "click_here_to_view_sl_in_lng": "Clicca qui per usare __appName__ in <0>__lngName__", + "close": "Chiudi", + "cn": "Cinese (Semplificato)", + "collaboration": "Collaborazione", + "collaborator": "Collaboratore", + "collabs_per_proj": "__collabcount__ collaboratori per progetto", + "comment": "Commento", + "commit": "Commit", + "common": "Comune", + "compile_larger_projects": "Compila progetti più grandi", + "compiler": "Compilatore", + "compiling": "Compilazione", + "complete": "Completo", + "confirm_new_password": "Conferma Nuova Password", + "connected_users": "Utenti collegati", + "connecting": "Connessione", + "contact": "Contatti", + "contact_us": "Contattaci", + "continue_github_merge": "Ho eseguito l’unione manuale. Continua", + "copy": "Copia", + "copy_project": "Copia Progetto", + "copying": "copia in corso", + "country": "Nazione", + "coupon_code": "codice coupon", + "create": "Crea", + "create_new_subscription": "Crea Nuovo Abbonamento", + "create_project_in_github": "Crea un repository GitHub", + "creating": "Creazione", + "credit_card": "Carta di Credito", + "cs": "Ceco", + "current_password": "Password Attuale", + "currently_subscribed_to_plan": "Sei attualmente abbonato al piano <0>__planName__.", + "da": "Danese", + "de": "Tedesco", + "december": "Dicembre", + "delete": "Elimina", + "delete_account": "Elimina Account", + "delete_your_account": "Elimina il tuo account", + "deleting": "Eliminando", + "disconnected": "Disconnesso", + "documentation": "Documentazione", + "doesnt_match": "Non corrisponde", + "done": "Fatto", + "download": "Scarica", + "download_pdf": "Scarica PDF", + "download_zip_file": "Scarica file .zip", + "dropbox_sync": "Sincronizzazione Dropbox", + "dropbox_sync_description": "Mantieni i tuoi progetti __appName__ in sincrono con il tuo Dropbox. Le modifiche in __appName__ saranno automaticamente inviate nel tuo Dropbox, e viceversa.", + "editing": "Modifica", + "editor_disconected_click_to_reconnect": "Editor disconnesso, clicca in qualsiasi punto per riconnettere.", + "email": "Email", + "email_link_expired": "Collegamento email scaduto, per favore richiedine un altro.", + "email_or_password_wrong_try_again": "La tua email o password è errata.", + "en": "Inglese", + "es": "Spagnolo", + "every": "ogni", + "example_project": "Progetto di Esempio", + "expiry": "Data Scadenza", + "export_project_to_github": "Esporta Progetto in GitHub", + "features": "Caratteristiche", + "february": "Febbraio", + "first_name": "Nome", + "folders": "Cartelle", + "font_size": "Grandezza Font", + "forgot_your_password": "Password dimenticata", + "fr": "Francese", + "free": "Gratis", + "free_dropbox_and_history": "Dropbox e storia gratuita", + "full_doc_history": "Storia completa del documento", + "generic_something_went_wrong": "Spiacenti, qualcosa è andato storto :(", + "get_in_touch": "Contattaci", + "git": "Git", + "github_commit_message_placeholder": "Messaggio di commit per le modifiche effettuate in __appName__...", + "github_is_premium": "La sincronizzazione GitHub è una funzionalità premium", + "github_public_description": "Chiunque può visualizzare il repository. Puoi scegliere chi può eseguire commit.", + "github_successfully_linked_description": "Grazie, abbiamo collegato con successo il tuo account GitHub a __appName__ . Adesso puoi esportare i progetti __appName__ in GitHub, o importarli dai tuoi repository GitHub.", + "github_sync": "Sincronizzazione GitHub", + "github_sync_description": "Con GitHub Sync puoi collegare i tuoi progetti __appName__ a repository GitHub. Crea nuovi commit da __appName__ e unisci con commit fatti offline o su GitHub.", + "github_sync_error": "Spiacenti, c’è stato un errore con la comunicazione con GitHub. Si prega di riprovare fra poco.", + "github_validation_check": "Per favore, controlla che il nome del repository sia valido, e che tu abbia i permessi per crearlo.", + "global": "globale", + "go_to_code_location_in_pdf": "Vai a riga in PDF", + "go_to_pdf_location_in_code": "Vai a locazione PDF in codice", + "group_admin": "Amministratore Gruppo", + "groups": "Gruppi", + "have_more_days_to_try": "Hai altri __days__ giorni nel tuo Trial!", + "headers": "Intestazioni", + "help": "Aiuto", + "hotkeys": "Scorciatoie", + "i_want_to_stay": "Voglio rimanere", + "ill_take_it": "Mi va bene!", + "import_from_github": "Importa da GitHub", + "import_to_sharelatex": "Importa in __appName__", + "importing": "Importazione", + "importing_and_merging_changes_in_github": "Importazione e unione modifiche in GitHub", + "indvidual_plans": "Piani Individuali", + "info": "Info", + "institution": "Istituzione", + "it": "Italiano", + "ja": "Giapponese", + "january": "Gennaio", + "join_sl_to_view_project": "Unisciti a __appName__ per vedere questo progetto", + "july": "Luglio", + "june": "Giugno", + "keybindings": "Associazioni tasti", + "ko": "Coreano", + "language": "Lingua", + "last_modified": "Ultima Modifica", + "last_name": "Cognome", + "latex_templates": "Modelli LaTeX", + "learn_more": "Scopri di più", + "link_to_github": "Collega il tuo account GitHub", + "link_to_github_description": "Devi autorizzare __appName__ ad accedere al tuo account GitHub per permetterci di sincronizzare i tuoi progetti.", + "links": "Link", + "loading": "Caricamento", + "loading_github_repositories": "Caricamento dei tuoi repository GitHub", + "loading_recent_github_commits": "Caricamento di commit recenti", + "log_in": "Entra", + "log_out": "Log Out", + "logging_in": "Entrata in corso", + "login": "Entra", + "login_here": "Entra qui", + "logs_and_output_files": "Log e file di output", + "lost_connection": "Connessione Persa", + "main_document": "Documento principale", + "maintenance": "Manutenzione", + "make_private": "Rendi Privato", + "march": "Marzo", + "math_display": "Formule Mostrate", + "math_inline": "Formule In Linea", + "maximum_files_uploaded_together": "Massimo __max__ file caricati insieme", + "may": "Maggio", + "menu": "Menu", + "merge": "Unisci", + "merging": "Unione", + "month": "mese", + "monthly": "Mensile", + "more": "Più", + "must_be_email_address": "Deve essere un indirizzo email", + "name": "Nome", + "native": "nativo", + "navigation": "Navigazione", + "need_anything_contact_us_at": "Per qualsiasi bisogno puoi contattarci direttamente al", + "need_to_leave": "Vuoi andare via?", + "need_to_upgrade_for_more_collabs": "Devi eseguire l’upgrade dell’account per aggiungere più collaboratori", + "new_file": "Nuovo file", + "new_folder": "Nuova cartella", + "new_name": "Nuovo Nome", + "new_password": "Nuova Password", + "new_project": "Nuovo Progetto", + "next_payment_of_x_collectected_on_y": "Il prossimo pagamento di <0>__paymentAmmount__ sarà riscosso il <1>__collectionDate__", + "nl": "Olandese", + "no": "Norvegese", + "no_members": "Nessun membro", + "no_messages": "Nessun messaggio", + "no_new_commits_in_github": "Nessun nuovo commit in GitHub dall’ultima unione.", + "no_planned_maintenance": "Non c’è nessuna manutenzione correntemente pianificata", + "no_preview_available": "Spiacenti, non è disponibile nessuna anteprima.", + "no_projects": "Nessun progetto", + "no_thanks_cancel_now": "No, grazie - Voglio ancora annullare", + "not_now": "Non adesso", + "november": "Novembre", + "october": "Ottobre", + "off": "Off", + "ok": "OK", + "one_collaborator": "Solo un collaboratore", + "one_free_collab": "Un collaboratore gratuito", + "online_latex_editor": "Editor LaTeX online", + "optional": "Opzionale", + "or": "o", + "other_logs_and_files": "Altri log & file", + "over": "su", + "owner": "Proprietario", + "page_not_found": "Pagina Non Trovata", + "password": "Password", + "password_reset": "Reimposta la Password", + "password_reset_email_sent": "Ti abbiamo inviato una email per completare il reset della password.", + "password_reset_token_expired": "Il tuo codice di password reset è scaduto. Per favore, richiedi una nuova password per email e segui il link che ti verrà fornito.", + "pdf_viewer": "Visualizzatore PDF", + "personal": "Personale", + "pl": "Polacco", + "planned_maintenance": "Manutenzione Pianificata", + "plans_amper_pricing": "Piani & Costi", + "plans_and_pricing": "Piani e Costi", + "please_compile_pdf_before_download": "Per favore, compila il progetto prima di scariare il PDF", + "please_compile_pdf_before_word_count": "Per favore, compila il tuo progetto prima di eseguire il conteggio parole", + "please_enter_email": "Per favore inserisci il tuo indirizzo email", + "please_refresh": "Per favore, aggiorna la pagina per continuare.", + "position": "Posizione", + "presentation": "Presentazione", + "price": "Costo", + "privacy": "Privacy", + "privacy_policy": "Privacy Policy", + "private": "Privato", + "problem_changing_email_address": "C’è stato un problema durante la modifica del tuo indirizzo email. Per favore, riprova fra qualche momento. Se il problema persiste non esitare a contattarci.", + "problem_talking_to_publishing_service": "C’è un problema con il nostro servizio di pubblicazione, si prega di riprovare fra qualche minuto", + "problem_with_subscription_contact_us": "C’è un problema con il tuo abbonamento. Ti preghiamo di contattarci per altre informazioni.", + "processing": "processamento", + "professional": "Professionale", + "project_last_published_at": "Il tuo progetto è stato pubblicato l’ultima volta alle", + "project_name": "Nome Progetto", + "project_not_linked_to_github": "Questo progetto non è collegato ad un repository GitHub. Puoi creare un repository apposito in GitHub:", + "project_synced_with_git_repo_at": "Questo progetto è sincronizzato con il repository GitHub a", + "project_too_large": "Progetto troppo grande", + "project_too_large_please_reduce": "Questo progetto contiene troppo testo, per favore prova a ridurlo.", + "projects": "Progetti", + "pt": "Portoghese", + "public": "Pubblico", + "publish": "Pubblica", + "publish_as_template": "Pubblica come Modello", + "publishing": "Pubblicazione", + "pull_github_changes_into_sharelatex": "Aggiorna da modifiche in GitHub verso __appName__", + "push_sharelatex_changes_to_github": "Invia le modifiche __appName__ a GitHub", + "read_only": "Sola Lettura", + "recent_commits_in_github": "Commit recenti in GitHub", + "recompile": "Ricompila", + "reconnecting": "Riconnessione", + "reconnecting_in_x_secs": "Riconnessione fra __seconds__ secondi", + "refresh_page_after_starting_free_trial": "Per favore aggiorna questa pagina dopo l’inizio del tuo trial gratuito.", + "regards": "Saluti", + "register": "Registrati", + "register_to_edit_template": "Per favore registrati per modificare il modello __templateName__", + "registered": "Registrato", + "registering": "Registrazione in corso", + "remove_collaborator": "Rimuovi collaboratore", + "remove_from_group": "Rimuovi da gruppo", + "removed": "rimosso", + "removing": "Rimozione", + "rename": "Rinomina", + "rename_project": "Rinomina Progetto", + "renaming": "Ridenominazione", + "repository_name": "Nome Repository", + "republish": "Ri-pubblica", + "request_password_reset": "Richiedi reset della password", + "required": "richiesto", + "reset_password": "Ripristino Password", + "reset_your_password": "Reimposta la tua password", + "restore": "Ripristina", + "restoring": "Ripristinando", + "restricted": "Limitato", + "restricted_no_permission": "Vietato, ci dispiace ma non hai i permessi per caricare questa pagina.", + "ro": "Rumeno", + "role": "Ruolo", + "ru": "Russo", + "saving": "Salvataggio", + "saving_notification_with_seconds": "Salvataggio in corso di __docname__... (__seconds__ secondi di modifiche non salvate)", + "search_projects": "Cerca progetti", + "security": "Sicurezza", + "select_github_repository": "Seleziona un repository GitHub da importare in __appName__.", + "send_first_message": "Invia il tuo primo messaggio", + "september": "Settembre", + "server_error": "Errore Server", + "services": "Servizi", + "session_expired_redirecting_to_login": "Sessione scaduta. Redirezione alla pagina di login fra __seconds__ secondi", + "set_new_password": "Imposta nuova password", + "set_password": "Imposta Password", + "settings": "Impostazioni", + "share": "Condividi", + "share_project": "Condividi Progetto", + "share_with_your_collabs": "Condividi con i tuoi collaboratori", + "shared_with_you": "Condiviso con te", + "show_hotkeys": "Mostra Hotkeys", + "somthing_went_wrong_compiling": "Spiacenti, qualcosa è andato storto e il tuo progetto non è stato compilato. Si prega di riprovare fra qualche momento.", + "source": "Sorgente", + "spell_check": "Controllo Lingua", + "start_free_trial": "Inizia Trial Gratuito!", + "state": "Nazione", + "student": "Studente", + "subscribe": "Abbonati", + "subscription": "Abbonamento", + "subscription_canceled_and_terminate_on_x": " Il tuo abbonamento è stato annullato e terminerà il <0>__terminateDate__. Non saranno addebitati ulteriori costi.", + "sure_you_want_to_change_plan": "Sei sicuro di voler cambiare il piano a <0>__planName__?", + "sv": "Svedese", + "sync": "Sincronizza", + "sync_project_to_github_explanation": "Tutte le modifiche fatte in __appName__ saranno inviate e unite con tutti gli aggiornamenti in GitHub.", + "sync_to_dropbox": "Sincronizzazione con Dropbox", + "sync_to_github": "Sincronizza con GitHub", + "take_me_home": "Portami nella home!", + "template_description": "Descrizione del Modello", + "templates": "Modelli", + "terms": "Termini", + "thank_you": "Grazie", + "thanks": "Grazie", + "thanks_for_subscribing": "Grazie per esserti abbonato!", + "thanks_for_subscribing_you_help_sl": "Grazie per esserti abbonato al piano __planName__. E’ il supporto di persone come te che permettono a __appName__ di continuare a crescere e migliorare.", + "thanks_settings_updated": "Grazie, le tue impostazioni sono state aggiornate.", + "theme": "Tema", + "thesis": "Tesi", + "this_is_your_template": "Questo è il template del tuo progetto", + "this_project_is_public": "Questo progetto è pubblico e può essere modificato da chiunque con la URL.", + "this_project_is_public_read_only": "Questo progetto è pubblico e può essere visualizzato, ma non modificato, da chiunque abbia la URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Questo progetto apparirà nella tua cartella Dropbox in ", + "three_free_collab": "Tre collaboratori gratuiti", + "timedout": "Errore di time out", + "title": "Titolo", + "to_many_login_requests_2_mins": "Questo account ha ricevuto troppe richieste di login. Per favore, attendi 2 minuti prima di riprovare ad entrare", + "too_many_files_uploaded_throttled_short_period": "Troppi file caricati, i tuoi caricamenti sono stati limitati per un breve periodo.", + "total_words": "Parole Totali", + "tr": "Turco", + "trash": "Cestino", + "try_now": "Prova Ora", + "uk": "Ucraino", + "university": "Università", + "unlimited_collabs": "Collaboratori illimitati", + "unlimited_projects": "Progetti illimitati", + "unlink": "Scollega", + "unlink_github_warning": "Qualsiasi progetto sincronizzato con GitHub sarà disconnesso e non sarà più mantenuto sincronizzato con GitHub. Sei sicuro di voler scollegare il tuo account GitHub?", + "unpublish": "De-pubblica", + "unpublishing": "Rimozione pubblicazione", + "unsubscribe": "Cancellati", + "unsubscribed": "Cancellato", + "unsubscribing": "Cancellando", + "update": "Aggiorna", + "update_account_info": "Aggiorna Info Account", + "update_dropbox_settings": "Aggiorna Impostazioni Dropbox", + "update_your_billing_details": "Aggiorna Dettagli di Pagamento", + "updating_site": "Aggiornamento del Sito", + "upgrade": "Upgrade", + "upgrade_now": "Effettua l’Upgrade", + "upgrade_to_get_feature": "Esegui l’upgrade per avere __feature__, oltre a:", + "upload": "Carica", + "upload_project": "Carica Progetto", + "upload_zipped_project": "Carica Progetto Zip", + "user_wants_you_to_see_project": "__username__ vorrebbe che tu vedessi __projectname__", + "vat_number": "Partita IVA", + "view_all": "Visualizza Tutto", + "view_in_template_gallery": "Visualizza nella galleria modelli", + "view_your_invoices": "Visualizza le tue fatture", + "welcome_to_sl": "Benvenuto a __appName__", + "word_count": "Conteggio Parole", + "year": "anno", + "you_have_added_x_of_group_size_y": "Hai aggiunto <0>__addedUsersSize__ membri su <1>__groupSize__ disponibili.", + "your_plan": "Il tuo piano", + "your_projects": "Tuoi Progetti", + "your_subscription": "Il tuo abbonamento", + "your_subscription_has_expired": "Il tuo abbonamento è scaduto.", + "zh-CN": "Cinese" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ja.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ja.json new file mode 100644 index 0000000..b4f0d92 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ja.json @@ -0,0 +1,505 @@ +{ + "About": "概要", + "Account": "アカウント", + "Account Settings": "アカウントの設定", + "Documentation": "ドキュメンテーション", + "Projects": "プロジェクト", + "Security": "セキュリティ", + "Subscription": "購読", + "Terms": "規約", + "Universities": "大学", + "about": "概要", + "about_to_delete_projects": "次ののプロジェクトを削除します:", + "about_to_leave_projects": "次のプロジェクトから離れようとしています:", + "accepting_invite_as": "この招待を以下のメールアドレスで承認します", + "account": "アカウント", + "account_not_linked_to_dropbox": "あなたのアカウントはDropboxと接続されていません", + "account_settings": "アカウントの設定", + "actions": "操作", + "activate": "アクティベート", + "activate_account": "アカウントのアクティベート", + "activating": "アクティベート中", + "activation_token_expired": "アクティベーショントークンの期限が切れています。新しいトークンが必要となります。", + "add": "追加", + "add_more_members": "メンバーの追加", + "add_your_first_group_member_now": "最初のグループメンバーを今すぐ追加", + "added": "追加", + "adding": "追加中", + "address": "住所", + "admin": "管理", + "all_projects": "すべてのプロジェクト", + "all_templates": "テンプレート一覧", + "already_have_sl_account": "__appName__ のアカウントをすでにお持ちですか?", + "and": "と", + "annual": "年間", + "anonymous": "匿名", + "april": "4月", + "ask_proj_owner_to_upgrade_for_references_search": "アップグレードして参照検索機能を使用するには、プロジェクトオーナーにお問い合わせください。", + "august": "8月", + "auto_complete": "オートコンプリート", + "autocomplete": "オートコンプリート", + "autocomplete_references": "参照オートコンプリート(\\cite{}ブロック内)", + "back_to_your_projects": "プロジェクトに戻る", + "beta": "ベータ", + "beta_program_already_participating": "ベータプログラムに参加しています。", + "beta_program_badge_description": "__appName__の使用中は、ベータ機能にこのバッジが付いています:", + "beta_program_benefits": "当社は絶えず__appName__を改善しています。当社のベータプログラムに参加することによって、新しい機能にいち早くアクセスし、当社がお客さまのニーズをより良く理解できるようサポートすることができます。", + "beta_program_opt_in_action": "ベータプログラムにオプトイン", + "beta_program_opt_out_action": "ベータプログラムからオプトアウト", + "bibliographies": "参考文献", + "blank_project": "空のプロジェクト", + "blog": "ブログ", + "built_in": "組み込み", + "can_edit": "編集可能", + "cancel": "取消", + "cancel_my_account": "購読をキャンセル", + "cancel_personal_subscription_first": "個人購読をすでに申し込んでいます。これをキャンセルしてグループライセンスに参加しますか?", + "cancel_your_subscription": "購読を中止", + "cannot_invite_non_user": "招待を送信することができません。受信者が__appName__アカウントを所持している必要があります。", + "cant_find_email": "このメールアドレスは登録されていません。申し訳ありません。", + "cant_find_page": "申し訳ありません。お探しのページは見つかりませんでした。", + "change": "変更", + "change_password": "パスワードの変更", + "change_plan": "プランの変更", + "change_to_this_plan": "このプランに変更", + "chat": "チャット", + "checking": "確認中", + "checking_dropbox_status": "Dropboxの状態を確認中", + "checking_project_github_status": "GitHubのプロジェクトステータスを確認中", + "choose_your_plan": "プランの選択", + "city": "市町村", + "clear_cached_files": "キャッシュファイルを削除", + "clear_sessions": "セッションのクリア", + "clear_sessions_description": "これはお客さまのアカウントでアクティブなセッション(ログイン)の一覧です。現在のセッションは含まれていません。下の「セッションのクリア」ボタンをクリックしてログアウトします。", + "clear_sessions_success": "セッションがクリアされました", + "clearing": "削除中", + "click_here_to_view_sl_in_lng": "こちらをクリックして <0>__lngName__ で __appName__ を使用", + "close": "閉じる", + "clsi_maintenance": "コンパイルサーバーはメンテナンス中です。間もなく復旧します。", + "cn": "中国語(簡体字)", + "collaboration": "コラボレーション", + "collaborator": "共同編集者", + "collabs_per_proj": "プロジェクトあたりの __collabcount__ 共同編集者", + "comment": "コメント", + "commit": "コミット", + "common": "共通", + "compile_larger_projects": "大きなプロジェクトをコンパイル", + "compile_mode": "コンパイルモード", + "compile_terminated_by_user": "「コンパイルの中止」ボタンを押してコンパイルがキャンセルされました。RAWログを表示して、コンパイルが停止した場所を確認することができます。", + "compiler": "コンパイラ", + "compiling": "コンパイル中", + "complete": "完了", + "confirm": "確認", + "confirm_new_password": "新しいパスワードの再入力", + "conflicting_paths_found": "競合パスが見つかりました", + "connected_users": "接続したユーザー", + "connecting": "接続中", + "contact": "お問い合わせ", + "contact_message_label": "メッセージ", + "contact_us": "お問い合わせ", + "continue_github_merge": "手動で統合。続行", + "copy": "コピーする", + "copy_project": "プロジェクトのコピー", + "copying": "コピー中", + "country": "国", + "coupon_code": "クーポンコード", + "create": "作成", + "create_first_admin_account": "初めての管理者アカウントの作成", + "create_new_subscription": "新しい購読の作成", + "create_project_in_github": "GitHubリポジトリの作成", + "creating": "作成中", + "credit_card": "クレジットカード", + "cs": "チェコ語", + "current_password": "現在のパスワード", + "currently_subscribed_to_plan": "あなたは現在 <0>__planName__ プランを購読しています。", + "da": "デンマーク語", + "de": "ドイツ語", + "december": "12月", + "delete": "削除", + "delete_account": "アカウントの削除", + "delete_account_warning_message_3": "プロジェクトや設定などの アカウントのデータをすべて削除 しようとしています。続行するには下のボックスにお客さまのアカウントのメールアドレスとパスワードを入力してください。", + "delete_and_leave_projects": "プロジェクトを削除・退出", + "delete_projects": "プロジェクトの削除", + "delete_your_account": "アカウントの削除", + "deleting": "削除中", + "disconnected": "非接続", + "documentation": "ドキュメンテーション", + "doesnt_match": "不一致", + "done": "完了", + "download": "ダウンロード", + "download_pdf": "PDFをダウンロード", + "download_zip_file": "ZIPファイルをダウンロード", + "dropbox_sync": "Dropbox同期", + "dropbox_sync_description": "__appName__ プロジェクトをDropboxと同期しましょう。__appName__ の変更が自動的にDropboxに送信されます。その逆も同じです。", + "editing": "編集中", + "editor_disconected_click_to_reconnect": "エディターの接続が切れました。どこかをクリックして再接続。", + "email": "電子メール", + "email_already_registered": "このメールアドレスはすでに登録されています", + "email_link_expired": "メールのリンクの有効期限が切れています。新しいリンクをリクエストしてください。", + "email_or_password_wrong_try_again": "メールアドレスまたはパスワードが正しくありません。再度お試しください", + "email_sent": "メールが送信されました", + "en": "英語", + "error": "エラー", + "es": "スペイン語", + "every": "毎", + "example_project": "プロジェクト例", + "expiry": "有効期限", + "export_project_to_github": "プロジェクトをGitHubにエクスポート", + "fast": "ファスト", + "features": "機能", + "february": "2月", + "files_cannot_include_invalid_characters": "ファイルには「*」や「/」などの文字を含めることはできません", + "first_name": "名", + "folders": "フォルダ", + "following_paths_conflict": "次のファイルとフォルダーは同一のパスと競合しています", + "font_size": "フォントサイズ", + "forgot_your_password": "パスワード紛失", + "fr": "フランス語", + "free": "無料", + "free_dropbox_and_history": "無料Dropbox・履歴", + "full_doc_history": "すべてのドキュメントの履歴", + "generic_something_went_wrong": "申し訳ありません。エラーが発生しました", + "get_in_touch": "お問い合わせ", + "github_commit_message_placeholder": "__appName__ で行われた変更のコミットメッセージ…", + "github_is_premium": "GitHub統合はプレミアム機能です", + "github_public_description": "このリポジトリは全員が閲覧できます。コミットできる人を選択します。", + "github_successfully_linked_description": "ありがとうございます。GitHubアカウントと __appName__ のリンクが完了しました。これからは __appName__ プロジェクトをGitHubにエクスポート、あるいはGitHubリポジトリからプロジェクトのインポートをすることができます。", + "github_sync": "GitHub同期", + "github_sync_description": "GitHub Syncがあれば、__appName__ プロジェクトとGitHubリポジトリを接続することができます。__appName__ から新しいコミットを作成して、オフラインあるいはGitHubで作成したコミットと統合できます。", + "github_sync_error": "申し訳ありません。GitHubサービスとの接続に問題が発生しました。しばらく時間を置いて再度お試しください。", + "github_validation_check": "リポジトリ名が有効か、リポジトリを作成する権限があるか確認してください。", + "global": "グローバル", + "go_to_code_location_in_pdf": "PDFのコードロケーションに進む", + "go_to_pdf_location_in_code": "コードのPDFロケーションに進む", + "group_admin": "グループ管理", + "groups": "グループ", + "have_more_days_to_try": "トライアルがまだ__days__ 日残っています!", + "headers": "ヘッダー", + "help": "ヘルプ", + "history": "履歴", + "hotkeys": "ショートカットキー", + "i_want_to_stay": "留まります", + "ignore_validation_errors": "シンタックスをチェックしない", + "ill_take_it": "これにします!", + "import_from_github": "GitHubからインポート", + "import_to_sharelatex": "__appName__ にインポート", + "importing": "インポート中", + "importing_and_merging_changes_in_github": "GitHubの変更をインポートおよび統合中", + "indvidual_plans": "それぞれのプラン", + "info": "情報", + "institution": "組織", + "invalid_file_name": "無効なファイル名", + "invalid_password": "パスワードの入力に誤りがあります", + "invite_not_accepted": "招待はまだ承認されていません", + "invite_not_valid": "これは有効なプロジェクト招待ではありません", + "invite_not_valid_description": "招待の有効期限が切れている可能性があります。プロジェクトオーナーにお問い合わせください", + "ip_address": "IPアドレス", + "it": "イタリア語", + "ja": "日本語", + "january": "1月", + "join_project": "プロジェクトに参加", + "join_sl_to_view_project": "__appName__ に参加してこのプロジェクトを表示", + "joining": "参加中", + "july": "7月", + "june": "6月", + "kb_suggestions_enquiry": "当社の <0>__kbLink__ を確認しましたか?", + "keybindings": "キー機能設定", + "knowledge_base": "知識ベース", + "ko": "韓国語", + "language": "言語", + "last_modified": "最終変更", + "last_name": "姓", + "latex_templates": "LaTeXテンプレート", + "ldap": "LDAP", + "learn_more": "さらに詳しく", + "leave_group": "グループを退出", + "leave_now": "今すぐ退出", + "leave_projects": "プロジェクトを退出", + "link_to_github": "あなたのGitHubアカウントに接続", + "link_to_github_description": "プロジェクトを同期するには __appName__ があなたのGitHubアカウントにアクセスするのを許可する必要があります。", + "link_to_mendeley": "Mendeleyのリンク", + "link_to_zotero": "Zoteroのリンク", + "links": "リンク", + "loading": "読み込み中", + "loading_github_repositories": "あなたのGitHubリポジトリを読み込み中", + "loading_recent_github_commits": "最新コミットを読み込み中", + "log_hint_extra_info": "詳しく見る", + "log_in": "ログイン", + "log_in_with": "__provider__ でログイン", + "log_out": "ログアウト", + "logging_in": "ログイン中", + "login": "ログイン", + "login_failed": "ログイン失敗", + "login_here": "ここからログイン", + "login_or_password_wrong_try_again": "ログイン情報またはパスワードが正しくありません。再度お試しください", + "logs_and_output_files": "ログと出力ファイル", + "lost_connection": "接続がありません", + "main_document": "主要文書", + "maintenance": "メンテナンス", + "make_private": "非公開にする", + "manage_beta_program_membership": "ベータプログラムメンバーシップを管理", + "manage_sessions": "セッションの管理", + "manage_subscription": "購読管理", + "march": "3月", + "math_display": "マスディスプレイ", + "math_inline": "マスインライン", + "maximum_files_uploaded_together": "最大 __max__ファイルを一緒にアップロード", + "may": "5月", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley統合", + "mendeley_is_premium": "Mendeley統合はプレミアム機能です", + "mendeley_reference_loading_error": "エラー。Mendeleyからリファレンスを読み込むことができませんでした", + "mendeley_reference_loading_error_expired": "Mendeleyトークンの期限が切れました。アカウントを再リンク付けしてください", + "mendeley_reference_loading_error_forbidden": "Mendeleyのリファレンスを読み込むことができませんでした。アカウントを再リンクして、再度お試しください", + "mendeley_sync_description": "Mendeleyを統合すると、Mendeleyから__appName__プロジェクトにリファレンスをインポートすることができます", + "menu": "メニュー", + "merge": "統合", + "merging": "統合中", + "month": "月", + "monthly": "月額", + "more": "さらに", + "must_be_email_address": "有効なメールアドレスを入力してください", + "name": "名前", + "native": "ネイティブ", + "navigation": "ナビゲーション", + "nearly_activated": "あと一歩であなたの__appName__アカウントがアクティべートされます!", + "need_anything_contact_us_at": "必要なことがございましたら、いつでもごこちらまで連絡ください", + "need_to_leave": "アカウントを離れますか?", + "need_to_upgrade_for_more_collabs": "共同編集者をさらに追加するためにはアカウントのアップグレードが必要です。", + "new_file": "新規ファイル", + "new_folder": "新規フォルダ", + "new_name": "新しい名前", + "new_password": "新しいパスワード", + "new_project": "新規プロジェクト", + "next_payment_of_x_collectected_on_y": "<0>__paymentAmmount__ の次回の支払いは<1>__collectionDate__に集金されます", + "nl": "オランダ語", + "no": "ノルウェー語", + "no_members": "メンバーはいません", + "no_messages": "メッセージはありません", + "no_new_commits_in_github": "最終統合からGitHubに新しいコミットはありません。", + "no_other_sessions": "他にアクティブなセッションはありません", + "no_planned_maintenance": "現在予定されているメンテナンスはありません", + "no_preview_available": "申し訳ありません。プレビューは利用できません。", + "no_projects": "プロジェクトはありません", + "no_search_results": "検索結果なし", + "no_thanks_cancel_now": "結構です - 今すぐキャンセルします", + "normal": "ノーマル", + "not_now": "今はまだありません", + "notification_project_invite": "__userName____projectName__ への参加を求めていますプロジェクトに参加", + "november": "11月", + "october": "10月", + "off": "オフ", + "ok": "OK", + "one_collaborator": "共同編集者1人のみ", + "one_free_collab": "1人の無料共同編集者", + "online_latex_editor": "オンラインLaTeXエディター", + "open_a_file_on_the_left": "左のファイルを開く", + "open_project": "プロジェクトを開く", + "optional": "オプショナル", + "or": "または", + "other_actions": "その他の操作", + "other_logs_and_files": "他のログとファイル", + "over": "以上", + "owner": "管理者", + "page_not_found": "ページが見つかりません", + "password": "パスワード", + "password_reset": "パスワードの再設定", + "password_reset_email_sent": "パスワードの再設定を完了するためのメールを送信しました。", + "password_reset_token_expired": "パスワード再設定トークンの期限が切れました。新しいパスワード再設定メールをリクエストして、そこに記載されたリンクにしたがってください。", + "pdf_rendering_error": "PDFレンダリングエラー", + "pdf_viewer": "PDFビューア", + "pending": "承認待ち", + "personal": "個人", + "pl": "ポーランド語", + "planned_maintenance": "定期メンテナンス", + "plans_amper_pricing": "プランと価格", + "plans_and_pricing": "プランと料金", + "please_compile_pdf_before_download": "PDFをダウンロードする前にプロジェクトをコンパイルして下さい", + "please_compile_pdf_before_word_count": "文字数を計算する前にプロジェクトをコンパイルしてください", + "please_enter_email": "メールアドレスを入力してください", + "please_refresh": "続行するにはページの再読み込みを行ってください", + "please_set_a_password": "パスワードを設定してください", + "position": "役職", + "presentation": "プレゼンテーション", + "price": "価格", + "privacy": "プライバシー", + "privacy_policy": "プライバシーポリシー", + "private": "非公開", + "problem_changing_email_address": "メールアドレスの変更に際して問題が発生しました。しばらく時間を置いて再度お試しください。問題が解消されない場合は、当社までお問い合わせください。", + "problem_talking_to_publishing_service": "公開サービスに問題が発生しました。数分後に再度お試しください。", + "problem_with_subscription_contact_us": "定期購読に問題が発生しました。詳細については当社にお問い合わせください。", + "processing": "実行中", + "professional": "プロフェッショナル", + "project_last_published_at": "プロジェクトの最終公開日", + "project_name": "プロジェクト名", + "project_not_linked_to_github": "このプロジェクトはGitHubリポジトリと接続されていません。GitHubでリポジトリを作成できます:", + "project_synced_with_git_repo_at": "このプロジェクトはGitHubリポジトリと同期しています", + "project_too_large": "プロジェクトが大きすぎます", + "project_too_large_please_reduce": "このプロジェクトには編集可能なテキストが多すぎます。テキストを減らしてください。最大ファイルは次の通りです:", + "project_url": "影響を受けたプロジェクトURL", + "projects": "プロジェクト", + "pt": "ポルトガル語", + "public": "公開", + "publish": "公開", + "publish_as_template": "テンプレートとして公開", + "publishing": "公開中", + "pull_github_changes_into_sharelatex": "GitHubの変更を __appName__ に引き込む", + "push_sharelatex_changes_to_github": "__appName__ の変更をGitHubに押し込む", + "read_only": "読み込み専用", + "recent_commits_in_github": "GitHubの最新コミット", + "recompile": "リコンパイル", + "recompile_pdf": "PDFを再コンパイル", + "reconnecting": "再接続中", + "reconnecting_in_x_secs": "__seconds__秒後に再接続", + "reference_error_relink_hint": "エラーが継続して発生する場合は、こちらでアカウントを再リンク付けしてください:", + "refresh_page_after_starting_free_trial": "無料体験を開始したらにこのページの再読み込みを行ってください。", + "regards": "よろしくお願いいたします", + "register": "登録する", + "register_to_edit_template": "__templateName__ テンプレートを編集するには登録してください", + "registered": "登録済み", + "registering": "登録中", + "remove_collaborator": "共同編集者の削除", + "remove_from_group": "グループから削除", + "removed": "削除", + "removing": "削除中", + "rename": "名前の変更", + "rename_project": "プロジェクト名を変更", + "renaming": "名前の変更中", + "repository_name": "リポジトリ名", + "republish": "再公開", + "request_password_reset": "パスワード再設定のリクエスト", + "request_sent_thank_you": "リクエストが送信されました。ありがとうございます。", + "required": "必須", + "resend": "再送信", + "reset_password": "パスワードの再設定", + "reset_your_password": "パスワードの再設定", + "restore": "戻す", + "restoring": "復元中", + "restricted": "制限されています", + "restricted_no_permission": "制限されています。申し訳ありません。このページを読み込む許可が与えられていません。", + "return_to_login_page": "ログインページに戻る", + "revoke_invite": "招待のキャンセル", + "ro": "ルーマニア語", + "role": "役", + "ru": "ロシア語", + "saving": "保存中", + "saving_notification_with_seconds": "__docname__の保存中 (最後の保存から__seconds__秒経過)", + "search_bib_files": "作成者、タイトル、年ごとに検索", + "search_projects": "プロジェクトの検索", + "search_references": "このプロジェクトの.bibファイルを検索", + "security": "セキュリティ", + "select_github_repository": "__appName__ にインポートするGitHubリポジトリを選択。", + "send_first_message": "最初のメッセージを送信", + "september": "9月", + "server_error": "サーバーエラー", + "services": "サービス", + "session_created_at": "作成されたセッション", + "session_expired_redirecting_to_login": "セッション期限切れ。__seconds__秒後にログインぺージにリダイレクトします", + "sessions": "セッション", + "set_new_password": "新しいパスワードの設定", + "set_password": "パスワードの設定", + "settings": "設定", + "share": "共有", + "share_project": "プロジェクトの共有", + "share_with_your_collabs": "共同編集者と共有", + "shared_with_you": "シェアされたプロジェクト", + "sharelatex_beta_program": "__appName__ベータプログラム", + "show_hotkeys": "ショートカットキーの表示", + "site_description": "簡単に使用できるオンラインLaTeXエディター。インストール不要、リアルタイムコラボレーション、バージョン管理、何百種類のLaTeXテンプレートなど多数の機能。", + "something_went_wrong_rendering_pdf": "このPDFのレンダリング中にエラーが発生しました。", + "somthing_went_wrong_compiling": "申し訳ありませんが、なんらかの理由によりあなたのプロジェクトはコンパイルできませんでした。しばらく経ってから再度お試しください。", + "source": "ソース", + "spell_check": "スペルチェック", + "start_free_trial": "無料トライアルを開始!", + "state": "状態", + "status_checks": "ステータスの確認", + "stop_compile": "コンパイルの停止", + "stop_on_validation_error": "コンパイルの前にシンタックスをチェック", + "student": "学生", + "subject": "件名", + "subscribe": "定期購読", + "subscription": "購読", + "subscription_canceled_and_terminate_on_x": " あなたの購読はキャンセルされ、<0>__terminateDate__ に終了します。今後支払いが発生することはありません。", + "suggestion": "提案", + "sure_you_want_to_change_plan": "本当にプランを <0>__planName__ に変えますか?", + "sure_you_want_to_delete": "以下のファイルを完全に消去しますか?", + "sure_you_want_to_leave_group": "このグループから本当に退出しますか?", + "sv": "スェーデン語", + "sync": "同期", + "sync_project_to_github_explanation": "__appName__ で行った変更はすべてGitHubの更新と関連付けられ、統合されます。", + "sync_to_dropbox": "Dropboxとの同期", + "sync_to_github": "GitHubと同期", + "syntax_validation": "コードチェック", + "take_me_home": "元に戻る!", + "template_description": "テンプレート説明", + "templates": "テンプレート", + "terminated": "コンパイルがキャンセルされました", + "terms": "規約", + "thank_you": "ありがとうございます", + "thanks": "ありがとうございます", + "thanks_for_subscribing": "購読ありがとうございます!", + "thanks_for_subscribing_you_help_sl": "__planName__ プランの購読をありがとうございます。あなたのようなサポートが __appName__ の成長を後押ししてくれます。", + "thanks_settings_updated": "ありがとうございます。設定が更新されました。", + "theme": "テーマ", + "thesis": "学位論文", + "this_is_your_template": "これはあなたのプロジェクトのテンプレートです", + "this_project_is_public": "このプロジェクトは公開されておりURLを知っている人なら誰でも編集可能です。", + "this_project_is_public_read_only": "このプロジェクトは公開されており、URLを知っている人に表示されますが、編集はできません。", + "this_project_will_appear_in_your_dropbox_folder_at": "このプロジェクトはあなたのDropboxフォルダに表示されます ", + "three_free_collab": "3人の無料共同編集者", + "timedout": "タイムアウト", + "title": "タイトル", + "to_many_login_requests_2_mins": "このアカウントはあまりに多くのログインリクエストを行っています。2分後に再度ログインしてください", + "to_modify_your_subscription_go_to": "購読を変更するには、次に進んでください", + "too_many_files_uploaded_throttled_short_period": "あまりにも多くのファイルがアップロードされました。アップロードがしばらく調整されます。", + "too_recently_compiled": "プロジェクトは最近コンパイルされました。そのため、このコンパイルはスキップされました。", + "total_words": "合計文字数", + "tr": "トルコ語", + "try_now": "今すぐ試す", + "uk": "ウクライナ語", + "university": "大学", + "unlimited_collabs": "無制限の共同編集者", + "unlimited_projects": "プロジェクト数無制限", + "unlink": "リンク解除", + "unlink_github_warning": "GitHubと同期したプロジェクトは接続を断たれ、GitHubと同期されなくなります。本当にGitHubアカウントの接続を解除しますか?", + "unlink_reference": "リファレンスプロバイダーのリンク解除", + "unlink_warning_reference": "警告:このプロバイダーからアカウントをリンク解除すると、リファレンスをプロジェクトにインポートすることができなくなります。", + "unpublish": "未公開", + "unpublishing": "非公開", + "unsubscribe": "購読中止", + "unsubscribed": "未購読", + "unsubscribing": "購読解除処理中", + "update": "更新", + "update_account_info": "アカウント情報の更新", + "update_dropbox_settings": "Dropboxの設定を更新", + "update_your_billing_details": "支払明細の更新", + "updating_site": "サイトの更新中", + "upgrade": "アップグレード", + "upgrade_cc_btn": "今すぐアップグレード、支払いは1週間後", + "upgrade_now": "今すぐアップグレード", + "upgrade_to_get_feature": "__feature__のアップグレードを取得、プラス:", + "upload": "アップロード", + "upload_project": "プロジェクトのアップロード", + "upload_zipped_project": "ZIPプロジェクトのアップロード", + "user_wants_you_to_see_project": "__username__ が __projectname__ への参加を求めています。", + "vat_number": "VAT番号", + "view_all": "すべて表示", + "view_in_template_gallery": "テンプレートギャラリーで表示", + "welcome_to_sl": "__appName__ にようこそ", + "word_count": "文字数", + "year": "年", + "you_have_added_x_of_group_size_y": "<1>__groupSize__ メンバーの <0>__addedUsersSize__ を追加しました。", + "your_plan": "現在のプラン", + "your_projects": "あなたのプロジェクト", + "your_sessions": "あなたのセッション", + "your_subscription": "あなたの購読内容", + "your_subscription_has_expired": "あなたの購読は有効期限切れです。", + "zh-CN": "中国語", + "zotero": "Zotero", + "zotero_integration": "Zotero統合。", + "zotero_is_premium": "Zotero統合はプレミアム機能です", + "zotero_reference_loading_error": "エラー。Zoteroからリファレンスを読み込むことができませんでした", + "zotero_reference_loading_error_expired": "Zoteroトークンの期限が切れました。アカウントを再リンクしてください", + "zotero_reference_loading_error_forbidden": "Zoteroのリファレンスを読み込むことができませんでした。アカウントを再リンクして、再度お試しください", + "zotero_sync_description": "Zoteroを統合すると、Zoteroから__appName__プロジェクトにリファレンスをインポートすることができます。" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ko.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ko.json new file mode 100644 index 0000000..6247d1a --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ko.json @@ -0,0 +1,594 @@ +{ + "About": "소개", + "Account": "계정", + "Account Settings": "계정 설정", + "Documentation": "참고 문서", + "Projects": "프로젝트", + "Security": "보안", + "Subscription": "구독", + "Terms": "약관", + "Universities": "대학교", + "about": "소개", + "about_to_delete_projects": "다음과 같은 프로젝트를 삭제하려 합니다:", + "about_to_leave_projects": "다음과 같은 프로젝트를 나가려고합니다:", + "accept": "승락", + "accept_all": "모두 승락", + "accept_or_reject_each_changes_individually": "각각의 변경 사항 승락 또는 거절", + "accepting_invite_as": "다음 이메일로 온 초대를 승락합니다.", + "account": "계정", + "account_not_linked_to_dropbox": "계정이 Dropbox에 연결되지 않았습니다", + "account_settings": "계정 설정", + "actions": "실행", + "activate": "활성화하기", + "activate_account": "계정 활성화", + "activating": "활성화중", + "activation_token_expired": "활성화 토큰이 만료되었습니다. 새로 받은 토큰을 사용하셔야 합니다.", + "add": "추가", + "add_comment": "코멘트 추가", + "add_more_members": "더많은 멤버 추가", + "add_your_comment_here": "여기에 코멘트 추가", + "add_your_first_group_member_now": "지금 첫 그룹 멤버 추가", + "added": "추가완료", + "adding": "추가하기", + "address": "주소", + "admin": "관리", + "admin_user_created_message": "생성된 관리 계정으로 로그인", + "aggregate_changed": "변경:", + "aggregate_to": "-->", + "all_premium_features": "모든 프리미엄 기능", + "all_projects": "전체 프로젝트", + "all_templates": "모든 템플릿", + "already_have_sl_account": "__appName__계정을 이미 보유하고 계신가요?", + "and": "및", + "annual": "매년", + "anonymous": "익명", + "anyone_with_link_can_edit": "이 링크에 있는 사람은 프로젝트 편집 가능", + "anyone_with_link_can_view": "이 링크에 있는 사람은 프로젝트를 볼 수 있음", + "april": "4월", + "are_you_sure": "확실한가요?", + "ask_proj_owner_to_upgrade_for_references_search": "레퍼런스 탐색 기능을 사용하시려면 프로젝트 소유자에게 업그레이드를 요청하십시오.", + "august": "8월", + "auto_close_brackets": "괄호 자동완성", + "auto_compile": "자동 컴파일", + "auto_complete": "자동 완성", + "autocompile_disabled": "자동 컴파일 불가", + "autocompile_disabled_reason": "서버에 부하가 많이 걸려서 백그라운드 재컴파일이 잠시 불가능했습니다. 위의 버튼을 다시 클릭해서 재컴파일 하십시오.", + "autocomplete": "자동 완성", + "autocomplete_references": "레퍼런스 자동완성 (\\cite{} 블록 안에서)", + "back_to_your_projects": "프로젝트로 돌아가기", + "beta": "베타", + "beta_program_already_participating": "당신은 베타 프로그램에 등록되었습니다.", + "beta_program_badge_description": "__appName__을 사용하는 동안 다음과 같은 뱃지로 표시된 베타 기능을 보실 수 있습니다.", + "beta_program_benefits": "저희는 지금도 __appName__을 개선하고 있습니다. 베타 프로그램에 참여하여 새로운 기능을 먼저 사용해보시고 더 필요한 것을 알려주십시오.", + "beta_program_opt_in_action": "베타 프로그램 들어가기", + "beta_program_opt_out_action": "베타 프로그램에서 나옴", + "bibliographies": "서지(bibliography)", + "blank_project": "빈 프로젝트", + "blog": "블로그", + "built_in": "빌트인", + "bulk_accept_confirm": "선택하신 __nChanges__개의 변경 사항을 승락하시겠습니까?", + "bulk_reject_confirm": "선택하신 __nChanges__개의 변경 사항을 거절하시겠습니까?", + "can_edit": "편집가능", + "cancel": "취소", + "cancel_my_account": "구독 취소하기", + "cancel_personal_subscription_first": "이미 개인 구독을 하고 있습니다. 그룹 라이센스를 사용하기 전에 개인 구독을 취소하시겠습니까?", + "cancel_your_subscription": "구독 그만하기", + "cannot_invite_non_user": "초대할 수 없습니다. 수신자는 반드시 __appName__ 계정을 보유하고 있어야 합니다.", + "cannot_invite_self": "자신을 초대할 수는 없습니다.", + "cannot_verify_user_not_robot": "죄송합니다. 로봇이 아니라고 확신할 수 없습니다. 애드블록이나 방화벽에 의해 Google reCAPTCHA가 차단되지 않았는지 확인해주십시오.", + "cant_find_email": "해당 이메일 주소는 등록되지 않았습니다, 죄송합니다.", + "cant_find_page": "죄송합니다. 찾으시려는 페이지를 발견하지 못했습니다.", + "change": "변경", + "change_password": "암호 변경", + "change_plan": "플랜 선택하기", + "change_to_this_plan": "이 플랜으로 변경하기", + "chat": "채팅", + "checking": "확인하기", + "checking_dropbox_status": "Dropbox 상태를 확인중", + "checking_project_github_status": "GitHub에 프로젝트 상태 확인 중", + "choose_your_plan": "나만의 플랜을 선택하세요", + "city": "시/도", + "clear_cached_files": "캐시 파일 정리하기", + "clear_sessions": "세션 클리어", + "clear_sessions_description": "이 리스트는 다른 (로그인) 세션입니다. 이 세션들은 활성화되어 있지만 현재 세션에는 포함되어 있지 않습니다. 이들을 로그아웃하시려면 \"세션 클리어\" 버튼을 클릭하십시오.", + "clear_sessions_success": "세션 클리어 완료", + "clearing": "지우는 중", + "click_here_to_view_sl_in_lng": "<0>__lngName__로 __appName__을 사용하시려면 이곳을 클릭하세요", + "close": "닫기", + "clsi_maintenance": "서버 유지를 위해 컴파일 서버를 다운했습니다. 금방 돌아오겠습니다.", + "cn": "중국어(간체)", + "code_check_failed": "코드 체크 실패", + "code_check_failed_explanation": "자동 컴파일 실행 전에 에러를 수정해야합니다.", + "collaboration": "콜라보레이션", + "collaborator": "콜라보레이터", + "collabs_per_proj": "프로젝트 당 __collabcount__명까지 공유 가능", + "comment": "댓글", + "commit": "커밋", + "common": "일반", + "compile_larger_projects": "큰 프로젝트 컴파일", + "compile_mode": "컴파일 모드", + "compile_terminated_by_user": "’컴파일 중지’ 버튼을 사용하여 컴파일이 취소되었습니다. Raw log를 보시면 어디에서 중지 되었는지 확인할 수 있습니다.", + "compiler": "컴파일러", + "compiling": "컴파일링", + "complete": "완료", + "confirm": "확인", + "confirm_new_password": "새로운 암호 확인하기", + "conflicting_paths_found": "경로 충돌 발견", + "connected_users": "접속한 사용자", + "connecting": "연결중", + "contact": "문의하기", + "contact_message_label": "문의 사항", + "contact_us": "문의하기", + "continue_github_merge": "수동으로 합병했습니다. 계속하기", + "copy": "복사하기", + "copy_project": "프로젝트 복사", + "copying": "복사중", + "country": "국가", + "coupon_code": "쿠폰 코드", + "create": "만들기", + "create_first_admin_account": "첫 관리 계정 생성", + "create_new_subscription": "새로운 구독 만들기", + "create_project_in_github": "GitHub 저장소 만들기", + "creating": "만드는 중", + "credit_card": "신용카드", + "cs": "Čeština", + "current_file": "현재 파일", + "current_password": "현재 암호", + "currently_subscribed_to_plan": "현재 <0>__planName__플랜을 구독중입니다.", + "da": "Dansk", + "de": "Deutsch", + "december": "12월", + "delete": "삭제", + "delete_account": "계정 삭제", + "delete_account_warning_message_3": "프로젝트와 설정을 포함한 계정의 모든 것을 영구 삭제를 하시겠습니까. 계속 진행하시려면 계정 이메일 주소와 비밀번호를 아래 상자에 입력하십시오.", + "delete_and_leave_projects": "프로젝트를 나가면서 삭제", + "delete_projects": "프로젝트 삭제", + "delete_your_account": "나의 계정 삭제", + "deleting": "삭제중", + "disconnected": "연결끊김", + "documentation": "참고 문서", + "doesnt_match": "일치하지 않습니다", + "done": "완료", + "download": "다운로드", + "download_pdf": "PDF 다운로드", + "download_zip_file": ".zip 파일 다운로드", + "drag_here": "여기로 드래그", + "drop_files_here_to_upload": "여기에 파일 드랍 후 업로드", + "dropbox_integration_lowercase": "Dropbox 통합", + "dropbox_sync": "Dropbox 동기화", + "dropbox_sync_description": "Dropbox 동기화로 __appName__프로젝트를 저장하세요. __appName__ 변경사항들은 자동적으로 Dropbox에 전송됩니다.", + "dropbox_sync_error": "Dropbox 동기 오류", + "edit": "편집", + "editing": "편집", + "editor_disconected_click_to_reconnect": "에디터 접속 끊김. 재접속하려면 아무곳이나 클릭.", + "email": "이메일", + "email_already_registered": "이 이메일은 이미 등록되어있습니다.", + "email_link_expired": "이메일 연결이 만료되었습니다. 새로운 계정을 요청하십시오.", + "email_or_password_wrong_try_again": "이메일 또는 암호가 부정확합니다. 다시 시도해주세요", + "email_sent": "이메일 보냄", + "en": "English", + "error": "오류", + "es": "Espagnol", + "every": "매", + "example_project": "견본 프로젝트", + "expiry": "유효기간", + "export_project_to_github": "GitHub으로 프로젝트 보내기", + "fast": "고속", + "features": "기능", + "february": "2월", + "file_already_exists": "동일한 이름의 파일 혹은 폴더가 존재합니다.", + "files_cannot_include_invalid_characters": "파일에 ’*’과 ’/’은 사용할 수 없습니다.", + "find_out_more": "더 알아보기", + "first_name": "이름", + "folders": "폴더", + "following_paths_conflict": "다음 파일과 폴더의 경로가 충돌합니다.", + "font_size": "글자 크기", + "forgot_your_password": "암호를 잊어버리셨나요", + "fr": "Le français", + "free": "무료", + "free_dropbox_and_history": "무료 Dropbox 및 히스토리", + "full_doc_history": "전체 문서 히스토리", + "generic_something_went_wrong": "죄송합니다. 문제가 생겼습니다.", + "get_in_touch": "연락하기", + "github_commit_message_placeholder": "__appName__로 만들어진 변경사항에 대한 메시지 커밋...", + "github_credentials_expired": "GitHub 아이디와 비밀번호가 만료되었습니다.", + "github_integration_lowercase": "GitHub 통합", + "github_is_premium": "GitHub 동기화는 프리미엄 기능입니다", + "github_public_description": "모두가 이 저장소를 볼 수 있습니다. 커밋할 수 있는 분을 선택하실 수 있습니다.", + "github_successfully_linked_description": "감사합니다, __appName__로 GitHub 계정을 성공적으로 연결하였습니다. __appName__ 프로젝트를 GitHub으로 전송하시거나 GitHub 저장소의 프로젝트를 불러올 수 있습니다.", + "github_sync": "GitHub 동기화", + "github_sync_description": "GitHub 동기화로, __appName__ 프로젝트를 GitHub 저장소로 연결하실 수 있습니다. __appName__의 새로운 커밋을 만들고, 오프라인이나 GitHub에서 만들어진 커밋과 합치세요.", + "github_sync_error": "죄송합니다, GitHub 서비스에 대한 에러가 있었습니다. 잠시 후 다시 시도해주시기 바랍니다.", + "github_validation_check": "저장소 이름이 유효한지 확인하시기 바랍니다, 그리고 저장소를 만들기위해 허가를 가지셔야 합니다.", + "global": "글로벌", + "go_to_code_location_in_pdf": "PDF의 코드 위치로 가기", + "go_to_pdf_location_in_code": "코드에서 PDF 위치로 가세요", + "group_admin": "그룹 관리", + "groups": "그룹", + "have_more_days_to_try": "__days__ days일 더 사용해 보십시오!", + "headers": "헤더", + "help": "도움말", + "history": "히스토리", + "hit_enter_to_reply": "답을 하시려면 엔터를 누르세요.", + "hotkeys": "단축키", + "i_want_to_stay": "계속하겠습니다.", + "ignore_validation_errors": "문법 확인 안 함", + "ill_take_it": "이걸로 할게요.", + "import_from_github": "GitHub에서 불러오기", + "import_to_sharelatex": "__appName__에 불러오기", + "importing": "불러오는 중", + "importing_and_merging_changes_in_github": "GitHub의 변경사항들을 불러오고 합칩니다", + "in_good_company": "좋은 회사에 다니시네요", + "indvidual_plans": "개인 플랜", + "info": "정보", + "institution": "기관", + "invalid_email": "이메일 주소가 잘못되었습니다.", + "invalid_file_name": "파일 이름이 부적절합니다.", + "invalid_password": "비밀번호 틀림", + "invite_not_accepted": "받지 않은 초대장", + "invite_not_valid": "프로젝트 초대가 유효하지 않습니다.", + "invite_not_valid_description": "초대가 만료되었습니다. 프로젝트 소유자에게 연락하십시오.", + "ip_address": "IP 주소", + "it": "Italiano", + "ja": "日本語", + "january": "1월", + "join_project": "프로젝트 참여", + "join_sl_to_view_project": "이 프로젝트를 보시려면 __appName__에 참여하세요", + "joining": "참여하기", + "july": "7월", + "june": "6월", + "kb_suggestions_enquiry": "<0>__kbLink__를 확신하셨습니까?", + "keybindings": "키바인딩", + "knowledge_base": "지식 베이스", + "ko": "한국어", + "language": "언어", + "last_modified": "마지막 수정", + "last_name": "성", + "latex_templates": "LaTeX 템플릿", + "ldap": "LDAP", + "ldap_create_admin_instructions": "__appName__ 관리 계정으로 사용할 이메일 주소를 선택하십시오. 사용하실 이메일 주소는 LDAP 시스템에서 사용하는 계정이어야합니다. 이 계정으로의 로그인을 요청받으실 것입니다.", + "learn_more": "더 배우기", + "learn_more_about_link_sharing": "링크 공유 더 알아보기", + "leave_group": "그룹 떠나기", + "leave_now": "지금 떠나기", + "leave_projects": "프로젝트 나가기", + "link_sharing": "링크 공유", + "link_sharing_is_off": "링크 공유를 끄고 초대된 사용자만 볼 수 있습니다.", + "link_sharing_is_on": "링크 공유 중", + "link_to_github": "GitHub 계정에 연결하기", + "link_to_github_description": "프로젝트를 동기화할 수 있도록 GitHub 계정에 접속할 수 있는 __appName__ 권한이 필요합니다.", + "link_to_mendeley": "Mendeley 연결", + "links": "연결", + "loading": "로딩중", + "loading_github_repositories": "GitHub 저장소를 불러오는 중입니다", + "loading_recent_github_commits": "최근 커밋 로딩 중", + "log_hint_extra_info": "더 알아보기", + "log_in": "로그인", + "log_in_with": "__provider__(으)로 로그인", + "log_out": "로그아웃", + "logging_in": "로그인중", + "login": "로그인", + "login_failed": "로그인 실패", + "login_here": "이곳에서 로그인하세요", + "login_or_password_wrong_try_again": "계정 또는 비밀번호가 틀렸습니다. 다시 입력하세요.", + "logs_and_output_files": "로그 및 파일 출력", + "lost_connection": "연결이 끊겼습니다", + "main_document": "주 문서", + "main_file_not_found": "main 도큐멘트 알 수 없음 ", + "maintenance": "유지", + "make_private": "비공개로 만들기", + "manage_beta_program_membership": "베타 프로그램 멤버십 관리", + "manage_sessions": "나의 세션 관리", + "manage_subscription": "구독 관리", + "march": "3월", + "mark_as_resolved": "해결됨으로 표시", + "math_display": "수식 표시", + "math_inline": "수식 갯수", + "maximum_files_uploaded_together": "최대 __max__ 파일 업로드됨", + "may": "5월", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley 통합", + "mendeley_is_premium": "Mendeley 통합은 프리미엄 기능입니다.", + "mendeley_reference_loading_error": "오류. Mendeley에서 레퍼런스를 가져올 수 없습니다.", + "mendeley_reference_loading_error_expired": "Mendeley 토큰이 만료되었습니다. 계정을 다시 연결해주세요.", + "mendeley_reference_loading_error_forbidden": "Mendeley에서 레퍼런스를 가져올 수 없습니다. 계정을 다시 연결한 후 다시 시도해주세요.", + "mendeley_sync_description": "Mendeley 통합을 이용해서 __appName__ 프로젝트로 mendeley 레퍼런스를 가져올 수 있습니다.", + "menu": "메뉴", + "merge": "합치기", + "merging": "합치는중", + "month": "월", + "monthly": "매달", + "more": "더보기", + "must_be_email_address": "반드시 이메일주소여야 합니다", + "name": "이름", + "native": "기본", + "navigation": "네비게이션", + "nearly_activated": "__appName__ 계정 활성화를 거의 마쳤습니다.", + "need_anything_contact_us_at": "필요하신게 있으시다면, 언제든지 연락주시기 바랍니다:", + "need_to_leave": "떠나시나요?", + "need_to_upgrade_for_more_collabs": "더 많은 콜레보레이터를 추가하기위해 계정을 업그레이드하셔야 합니다", + "new_file": "새로운 파일", + "new_folder": "새로운 폴더", + "new_name": "새로운 이름", + "new_password": "새로운 암호", + "new_project": "신규 프로젝트", + "next_payment_of_x_collectected_on_y": "<1>__collectionDate__에 <0>__paymentAmmount__원이 지불됩니다.", + "nl": "Nederlands", + "no": "Norsk", + "no_comments": "코멘트 없음", + "no_members": "멤버없음", + "no_messages": "메시지 없음", + "no_new_commits_in_github": "지난번에 합친 이후로 GitHub에 새로운 명령이 없습니다.", + "no_other_sessions": "활성화된 세션이 없습니다.", + "no_planned_maintenance": "플랜 유지가 현재 없습니다", + "no_preview_available": "죄송합니다, 미리보기를 이용하실 수 없습니다.", + "no_projects": "프로젝트 없음", + "no_resolved_threads": "해결된 코멘트 없음", + "no_search_results": "검색 결과 없음", + "no_thanks_cancel_now": "괜찮습니다. 지금 취소합니다.", + "normal": "보통", + "not_now": "지금은 안 함", + "notification_project_invite": "__userName__님이 __projectName__에 참여하고자 합니다. Join Project", + "november": "11월", + "number_collab": "공저자 수", + "october": "10월", + "off": "끄기", + "ok": "OK", + "one_collaborator": "1명 공유 가능", + "one_free_collab": "콜레보레이터 1명 무료", + "online_latex_editor": "온라인 LaTex 편집기", + "open_a_file_on_the_left": "왼쪽에서 파일 열기", + "open_project": "프로젝트 열기", + "optional": "선택사항", + "or": "또는", + "other_actions": "다른 방법들", + "other_logs_and_files": "기타 로그 및 파일 출력", + "over": "더 많은", + "overview": "개요", + "owner": "소유자", + "page_not_found": "페이지를 찾을 수 없습니다", + "password": "암호", + "password_reset": "암호 재설정", + "password_reset_email_sent": "암호 재설정을 완료하기위해 이메일을 전송하였습니다.", + "password_reset_token_expired": "암호 재설정 토큰이 만료되었습니다. 새로운 암호 재설정 이메일을 요청하시고 그곳의 링크를 따르세요.", + "pdf_compile_in_progress_error": "다른 창에서 컴파일 중", + "pdf_compile_rate_limit_hit": "컴파일 빈도 제한 초과", + "pdf_compile_try_again": "재시도 전에 현재 진행 중인 컴파일이 끝날 때까지 기다려주세요.", + "pdf_rendering_error": "PDF 렌더링 오류", + "pdf_viewer": "PDF 뷰어", + "pending": "보류", + "personal": "개인", + "pl": "폴란드어", + "planned_maintenance": "플랜 유지", + "plans_amper_pricing": "플랜 & 가격", + "plans_and_pricing": "플랜 및 가격", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "변경 내용 추적을 사용하시려면 프로젝트 소유자에게 업그레이드를 요구하세요.", + "please_compile_pdf_before_download": "PDF를 다운로드하기 전에 프로젝트를 컴파일하세요", + "please_compile_pdf_before_word_count": "단어 수 세기를 실행하기 전에 프로젝트를 컴파일 하십시오.", + "please_enter_email": "이메일 주소를 입력해주세요", + "please_refresh": "계속하시려면 페이지를 새로고침하세요.", + "please_set_a_password": "비밀번호를 설정하세요.", + "please_set_main_file": "프로젝트 메뉴에서 이 프로젝트의 main 파일을 선택하세요. ", + "position": "직책", + "presentation": "프레젠테이션", + "price": "가격", + "priority_support": "우선권 지원", + "privacy": "개인정보", + "privacy_policy": "개인정보보호", + "private": "비공개", + "problem_changing_email_address": "이메일 주소 변경에 문제가 있었습니다. 잠시후에 다시 시도해주세요. 문제가 계속되면 저희에게 연락주시기 바랍니다.", + "problem_talking_to_publishing_service": "서비스 게시에 문제가 있습니다, 몇 분 후에 다시 시도해주세요", + "problem_with_subscription_contact_us": "구독에 문제가 있습니다. 더 많은 정보를위해 저희에게 연락해주세요.", + "processing": "처리중", + "professional": "전문가", + "project_flagged_too_many_compiles": "이 프로젝트에서 컴파일 플래그가 너무 자주 있었습니다. 곧 제한이 풀립니다.", + "project_last_published_at": "프로젝트 마지막 게시일:", + "project_name": "프로젝트 이름", + "project_not_linked_to_github": "이 프로젝트는 GitHub 저장소에 연결되어있지 않습니다. GitHub에 프로젝트를위한 저장소를 만드실 수 있습니다:", + "project_synced_with_git_repo_at": "이 프로젝트는 다음 위치에 GitHub 저장소와 동기화 됩니다:", + "project_too_large": "프로젝트가 너무 큽니다", + "project_too_large_please_reduce": "이 프로젝트는 글자가 너무 많습니다. 글자수를 줄여주세요.", + "project_url": "관련 프로젝트 URL", + "projects": "프로젝트", + "pt": "Português", + "public": "공개", + "publish": "공개", + "publish_as_template": "템플릿으로 공개", + "publishing": "공개중", + "pull_github_changes_into_sharelatex": "GitHub 변경사항들을 __appName__로 당겨주세요", + "push_sharelatex_changes_to_github": "__appName__ 변경사항을 GitHub으로 밀어주세요", + "quoted_text_in": "인용문", + "read_only": "읽기만 허용", + "realtime_track_changes": "실시간 변경 내용 추적", + "reauthorize_github_account": "GitHub 계정 재확인", + "recent_commits_in_github": "GitHub의 최근 커밋", + "recompile": "다시 컴파일하기", + "recompile_pdf": "PDF 다시 컴파일하기", + "reconnecting": "재연결중", + "reconnecting_in_x_secs": "__seconds__초에 재연결", + "reference_error_relink_hint": "이 에러가 지속되면 여기에서 계정을 다시 연결하십시오:", + "reference_search": "고급 레퍼런스 검색", + "reference_sync": "레퍼런스 매니저 동기화", + "refresh_page_after_starting_free_trial": "무료 시험 시작 후 이 페이지를 새로고침하세요.", + "regards": "감사합니다", + "register": "등록", + "register_to_edit_template": "__templateName__ 템플릿을 편집하기위해 등록해주세요", + "registered": "등록됨", + "registering": "등록중", + "reject": "거절", + "reject_all": "모두 거절", + "remove_collaborator": "공동 연구자 삭제", + "remove_from_group": "그룹에서 삭제하기", + "removed": "제거완료", + "removing": "삭제하기", + "rename": "이름 바꾸기", + "rename_project": "프로젝트 이름 바꾸기", + "renaming": "이름 재설정", + "reopen": "다시 열기", + "reply": "대답", + "repository_name": "저장소 이름", + "republish": "다시 공개하기", + "request_password_reset": "암호 재설정 요청", + "request_sent_thank_you": "요청을 보냈습니다. 감사합니다.", + "required": "필수", + "resend": "다시 보냄", + "reset_password": "암호 재설정", + "reset_your_password": "암호 재설정", + "resolve": "해결", + "resolved_comments": "해결된 코멘트", + "restore": "복원하기", + "restoring": "복원중", + "restricted": "권한 없음", + "restricted_no_permission": "이 페이지를 불러올 권한이 없습니다.", + "return_to_login_page": "로그인 페이지로 이동", + "review": "검토", + "review_your_peers_work": "동료의 작업 검토", + "revoke_invite": "초대 취소", + "ro": "로마니아어", + "role": "역할", + "ru": "Русский", + "saml": "SAML", + "saml_create_admin_instructions": "__appName__ 관리 계정으로 사용할 이메일 주소를 선택하십시오. 사용하실 이메일 주소는 LDAP 시스템에서 사용하는 계정이어야합니다. 이 계정으로의 로그인을 요청받으실 것입니다.", + "saving": "저장중", + "saving_notification_with_seconds": "__docname__문서를 저장중 입니다... (저장되지않은 변경사항 중 __seconds__초)", + "search_bib_files": "저자, 제목, 연도로 검색", + "search_projects": "프로젝트 검색", + "search_references": "이 프로젝트에서 .bib 파일 검색", + "security": "보안", + "see_changes_in_your_documents_live": "문서 변경사항 실시간으로 보기", + "select_all_projects": "전체 선택", + "select_github_repository": "__appName__에 불러올 GitHub 저장소를 선택합니다.", + "send": "발신", + "send_first_message": "첫 메시지를 전송하세요", + "send_test_email": "테스트 이메일 보내기", + "sending": "발신 중", + "september": "9월", + "server_error": "서버 오류", + "services": "서비스", + "session_created_at": "생성된 세션", + "session_expired_redirecting_to_login": "세션 종료. __seconds__ seconds 초 후 다시 로그인", + "sessions": "세션", + "set_new_password": "새로운 암호 설정", + "set_password": "암호 설정", + "settings": "설정", + "share": "공유", + "share_project": "프로젝트 공유", + "share_with_your_collabs": "콜레보레이터와 공유", + "shared_with_you": "공유받은 프로젝트", + "sharelatex_beta_program": "__appName__ 베타 프로그램", + "show_all": "모두 보기", + "show_hotkeys": "단축키보기", + "show_less": "적게 보기", + "site_description": "사용하기 쉬운 온라인 LaTex 편집기. 설치 필요없음. 실시간 협업. 버전 관리. 수백 개의 LaTex 템플릿. 그리고 그 이상.", + "something_went_wrong_rendering_pdf": "PDF 렌더링 중 무언가 잘못되었습니다.", + "somthing_went_wrong_compiling": "죄송합니다. 무언가 잘못되어 프로젝트가 컴파일되지 않았습니다. 나중에 다시 시도해주세요.", + "source": "소스", + "spell_check": "철자 확인", + "start_free_trial": "무료로 사용해보세요!", + "state": "주", + "status_checks": "상태 확인", + "still_have_questions": "궁금하신 점이 남아 있나요?", + "stop_compile": "컴파일 중지", + "stop_on_validation_error": "컴파일 전에 문법 확인", + "student": "학생", + "subject": "제목", + "subscribe": "구독", + "subscription": "구독", + "subscription_canceled_and_terminate_on_x": " 구독이 취소되고 <0>__terminateDate__에 만기될 것 입니다. 더이상 지불해야 하는 금액은 없습니다.", + "suggestion": "제안", + "sure_you_want_to_change_plan": "<0>__planName__에 계획을 변경하길 원하시나요?", + "sure_you_want_to_leave_group": "이 그룹을 떠나시겠습니까?", + "sv": "Svenska", + "sync": "동기화", + "sync_dropbox_github": "Dropbox와 GitHub 연동", + "sync_project_to_github_explanation": "__appName__에 만들어진 모든 변경사항이 GitHub의 모든 업데이트와 통합될 것 입니다.", + "sync_to_dropbox": "Dropbox 동기화", + "sync_to_github": "GitHub 동기화", + "syntax_validation": "코드 확인", + "take_me_home": "홈으로!", + "tc_everyone": "모든 사람", + "tc_guests": "게스트", + "tc_switch_everyone_tip": "모두에게 변경 사항 추적 고정", + "tc_switch_guests_tip": "링크를 공유하는 모든 게스트에게 변경 사항 추적 고정", + "tc_switch_user_tip": "이 사용자에게 변경 사항 추적 고정", + "template_description": "템플릿 설명", + "templates": "템플릿", + "terminated": "컴파일 취소됨", + "terms": "약관", + "thank_you": "감사합니다", + "thanks": "감사합니다", + "thanks_for_subscribing": "구독해주셔서 감사합니다!", + "thanks_for_subscribing_you_help_sl": "__planName__ 플랜을 구독해주셔서 감사합니다. __appName__(이)가 지속적으로 성장하고 향상될 수 있도록 사람들에게 많이 알려주세요.", + "thanks_settings_updated": "감사합니다, 당신의 설정사항이 업데이트되었습니다.", + "theme": "테마", + "thesis": "학위 논문", + "this_is_your_template": "당신의 프로젝트에서 가져온 템플릿입니다.", + "this_project_is_public": "이 프로젝트는 공개되어 있으며, URL에 접근한 모든 사람들이 편집할 수 있습니다.", + "this_project_is_public_read_only": "이 프로젝트는 공개여서 모든 사람들이 볼 수 있지만 URL로 접속한 분들은 편집할 수 없습니다.", + "this_project_will_appear_in_your_dropbox_folder_at": "이 프로젝트는 Dropbox 폴더에 나타날 것 입니다 ", + "three_free_collab": "콜레버레이터 3명 무료", + "timedout": "시간초과", + "title": "제목", + "to_many_login_requests_2_mins": "이 계정으로 너무 많은 로그인을 시도했습니다. 다시 로그인 하기 전에 2분만 기다려주세요", + "to_modify_your_subscription_go_to": "구독 변경하러 가기", + "too_many_files_uploaded_throttled_short_period": "너무 많은 파일이 업로드되어 잠시 보류되었습니다.", + "too_recently_compiled": "이 프로젝트는 방금에 컴파일 되었기 때문에 컴파일을 생략합니다.", + "tooltip_hide_filetree": "파일 트리를 숨기려면 클릭", + "tooltip_hide_pdf": "PDF를 숨기려면 클릭", + "tooltip_show_filetree": "파일 트리를 보려면 클릭", + "tooltip_show_pdf": "PDF를 보려면 클릭", + "total_words": "총 단어 수", + "tr": "Türkçe", + "track_any_change_in_real_time": "실시간으로 모든 변경 사항 추적", + "track_changes": "변경 내용 추적", + "track_changes_is_off": "변경 내용 추적 꺼짐", + "track_changes_is_on": "변경 내용 추적 사용", + "tracked_change_added": "추가됨", + "tracked_change_deleted": "삭제됨", + "try_it_for_free": "무료로 사용해보세요", + "try_now": "지금 시도하세요", + "turn_off_link_sharing": "링크 공유 끄기", + "turn_on_link_sharing": "링크 공유 켜기", + "uk": "우크라이나어", + "uncategorized": "기타", + "university": "대학교", + "unlimited": "무제한", + "unlimited_collabs": "공유 무제한", + "unlimited_projects": "무제한 프로젝트", + "unlink": "연결해제", + "unlink_github_warning": "GitHub로 동기화한 모든 프로젝트는 연결이 끊길 것이며 GitHub과 더이상 동기화되지 않을 것 입니다. GitHub 계정 연결을 정말로 해지하시겠습니까?", + "unlink_reference": "레퍼렌스 제공자 연결 해제", + "unlink_warning_reference": "경고: 이 공급자로부터의 계정을 해제하면 레퍼런스를 프로젝트로 가져올 수 없습니다.", + "unpublish": "비공개", + "unpublishing": "비공개", + "unsubscribe": "구독해제", + "unsubscribed": "구독해제", + "unsubscribing": "구독해제중", + "update": "업데이트", + "update_account_info": "계정 정보 업데이트", + "update_dropbox_settings": "Dropbox 설정 업데이트", + "update_your_billing_details": "청구서 세부사항 업데이트", + "updating_site": "사이트 업데이트", + "upgrade": "업그레이드", + "upgrade_cc_btn": "지금 업그레이드하고 7일 후 지불", + "upgrade_now": "지금 업그레이드", + "upgrade_to_get_feature": "__feature__와 다음 기능 사용을 위해 업그레이드:", + "upgrade_to_track_changes": "변경 내용 추적을 위해 업그레이드", + "upload": "업로드", + "upload_project": "프로젝트 업로드", + "upload_zipped_project": "압축된 프로젝트 업로드", + "user_wants_you_to_see_project": "__username__ 님이 __projectname__에 참여하길 원합니다", + "vat_number": "VAT 번호", + "view_all": "모두 보기", + "view_in_template_gallery": "템플릿 갤러리에서 보기", + "welcome_to_sl": "__appName__에 오신걸 환영합니다", + "word_count": "단어 수 세기", + "year": "년", + "you_have_added_x_of_group_size_y": "이용가능한<1>__groupSize__멤버 중 <0>__addedUsersSize__멤버가 추가되었습니다", + "your_plan": "나의 플랜", + "your_projects": "나의 프로젝트", + "your_sessions": "나의 세션", + "your_subscription": "나의 구독", + "your_subscription_has_expired": "구독이 만료되었습니다.", + "zh-CN": "中國語" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/nl.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/nl.json new file mode 100644 index 0000000..c923b00 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/nl.json @@ -0,0 +1,598 @@ +{ + "About": "Over", + "Account": "Account", + "Account Settings": "Accountinstellingen", + "Documentation": "Documentatie", + "Projects": "Projecten", + "Security": "Beveiliging", + "Subscription": "Abonnementen", + "Terms": "Voorwaarden", + "Universities": "Universiteiten", + "about": "Over", + "about_to_archive_projects": "Je staat op het punt de volgende projecten te achiveren:", + "about_to_delete_projects": "Je staat op het punt de volgende projecten te verwijderen:", + "about_to_leave_projects": "Je staat op het punt de volgende projecten te verlaten:", + "accept": "Accepteer", + "accept_invitation": "Accepteer de uitnodiging", + "accept_or_reject_each_changes_individually": "Accepteer of verwerp iedere wijziging individueel", + "accepted_invite": "Uitnodiging geaccepteerd", + "accepting_invite_as": "U accepteert deze uitnodiging als", + "account": "Account", + "account_not_linked_to_dropbox": "Je account is niet gekoppeld aan Dropbox", + "account_settings": "Accountinstellingen", + "actions": "Acties", + "activate": "Activeer", + "activate_account": "Activeer je account", + "activating": "Activeren", + "activation_token_expired": "Je activatie token is verlopen, je zal een nieuwe moeten laten versturen.", + "add": "Toevoegen", + "add_another_email": "Voeg nog een email toe", + "add_comment": "Voeg opmerking toe", + "add_more_members": "Meer leden toevoegen", + "add_new_email": "Voeg nieuwe email toe", + "add_role_and_department": "Voeg rol en afdeling toe", + "add_your_comment_here": "Voeg uw opmerking hier toe", + "add_your_first_group_member_now": "Voeg je eerste groepsleden nu toe", + "added": "toegevoegd", + "adding": "Toevoegen", + "address": "Straat", + "admin": "beheerder", + "admin_user_created_message": "Admin gebruiker aangemaakt, Log hier in om verder te gaan", + "all_projects": "Alle projecten", + "all_templates": "Alles Sjablonen", + "already_have_sl_account": "Heb je al een __appName__-account?", + "and": "en", + "annual": "Jaarlijks", + "anonymous": "Anoniem", + "april": "april", + "archive": "Archief", + "archive_projects": "Archiveer projecten", + "archived_projects": "Gearchiveerde Projecten", + "are_you_sure": "Weet u het zeker?", + "ask_proj_owner_to_upgrade_for_full_history": "Vraag de projecteigenaar om te upgraden om toegang te krijgen tot de volledige geschiedenis van dit project.", + "ask_proj_owner_to_upgrade_for_references_search": "Vraag alstublieft de projecteigenaar up te graden om de Zoek Referenties optie te gebruiken", + "august": "augustus", + "auto_complete": "Autocorrectie", + "autocomplete": "Autocomplete", + "autocomplete_references": "Refereer Autocomplete (in een \\cite{} blok)", + "back_to_editor": "Terug naar de editor", + "back_to_your_projects": "Terug naar je projecten", + "beta": "Beta", + "beta_program_already_participating": "U neemt al deel aan het Bèta Programma", + "beta_program_badge_description": "TIjdens het gebruik van __appName__, zullen bèta opties gemarkeerd zijn met deze badge:", + "beta_program_benefits": "We zijn altijd bezig met het verbeteren van __appName__. Door deel te nemen aan ons Bèta programma heeft u vervroegd toegang tot nieuwe opties en kan u ons helpen uw wensen beter te begrijpen.", + "beta_program_opt_in_action": "Schrijf in voor Bèta Programma", + "beta_program_opt_out_action": "Uitschrijven uit het Bèta Programma", + "bibliographies": "Bibliografieën", + "blank_project": "Blanco Project", + "blog": "Blog", + "built_in": "Ingebouwd", + "can_edit": "Kan Bewerken", + "cancel": "Annuleren", + "cancel_my_account": "Annuleer mijn abonnement", + "cancel_personal_subscription_first": "U heeft al een persoonlijke inschrijving, wilt u dat wij deze annuleren voordat u deel neemt aan de groepslicentie?", + "cancel_your_subscription": "Annuleer je abonnement", + "cannot_invite_non_user": "Kan geen uitnodiging versturen. Ontvanger moet al een __appName__ account hebben", + "cannot_invite_self": "Kan geen uitnodiging naar jezelf sturen", + "cant_find_email": "Dat e-mailadres is niet geregistreerd, sorry.", + "cant_find_page": "Sorry, we kunnen die pagina waar je naar zocht niet vinden.", + "change": "Wijzigen", + "change_password": "Wachtwoord Wijzigen", + "change_plan": "Abonnement wijzigen", + "change_to_this_plan": "Overstappen naar dit abonnement", + "chat": "Chat", + "checking": "Controleren", + "checking_dropbox_status": "Dropboxstatus aan het controleren", + "checking_project_github_status": "Bezig met controleren van de projectstatus in GitHub", + "choose_your_plan": "Kies je abonnement", + "city": "Stad", + "clear_cached_files": "Wis bestanden in tijdelijke geheugen", + "clear_sessions": "Verwijder sessies", + "clear_sessions_description": "Dit is een lijst van andere sessies (logins) die actief zijn op uw account, exclusief uw huidige sessie. Klik de \"Sessies Opschonen\" knop hieronder om ze uit te loggen", + "clear_sessions_success": "Sessies verwijderd", + "clearing": "Aan het leegmaken", + "click_here_to_view_sl_in_lng": "Klik hier om __appName__ te gebruiken in het <0>__lngName__", + "close": "Sluiten", + "clsi_maintenance": "De compilatie servers zijn momenteel in onderhoud, en zullen binnenkort weer beschikbaar zijn.", + "cn": "Chinees (vereenvoudigd)", + "collaboration": "Samenwerking", + "collaborator": "Bijdrager", + "collabs_per_proj": "__collabcount__ bijdragers per project", + "comment": "Reageren", + "commit": "Toevoegen", + "common": "Veelvoorkomend", + "compact": "Compact", + "compile_larger_projects": "Compileer grote projecten", + "compile_mode": "Compileer Mode", + "compile_terminated_by_user": "Het compileren was gestopt door de ’Stop Compilatie’ knop. U kan in de log files zien waar het compileren is gestopt", + "compiler": "Compilator", + "compiling": "Aan het compileren", + "complete": "Klaar", + "confirm": "Bevestig", + "confirm_email": "Bevestig email", + "confirm_new_password": "Bevestig Nieuwe Wachtwoord", + "conflicting_paths_found": "Conflicterende Bestandspaden Gevonden", + "connected_users": "Verbonden gebruikers", + "connecting": "Aan het verbinden", + "contact": "Contact", + "contact_message_label": "Bericht", + "contact_us": "Contact", + "continue_github_merge": "Ik heb handmatig samengevoegd. Doorgaan.", + "copy": "Kopiëren", + "copy_project": "Project Kopiëren", + "copying": "aan het kopiëren", + "country": "Land", + "coupon_code": "Coupon code", + "create": "Creëren", + "create_first_admin_account": "Creëer het eerste Admin account", + "create_new_subscription": "Nieuw Abonnement Maken", + "create_project_in_github": "Een GitHub repository maken", + "creating": "Aan het maken", + "credit_card": "Creditcard", + "cs": "Tsjechisch", + "current_file": "Huidige bestand", + "current_password": "Huidige Wachtwoord", + "currently_subscribed_to_plan": "Je bent op dit moment geabonneerd op <0>__planName__.", + "da": "Deens", + "de": "Duits", + "december": "december", + "default": "Standaard", + "delete": "Verwijderen", + "delete_account": "Account verwijderen", + "delete_account_warning_message_3": "Je staat op het punt permanent all je accountgegevens te verwijderen, inclusief je projecten en instellingen. Type uw account e-mail adres in onderstaande tekstvakken om verder te gaan", + "delete_and_leave_projects": "Verwijder en verlaat projecten", + "delete_projects": "Verwijder projecten", + "delete_your_account": "Account verwijderen", + "deleting": "Aan het verwijderen", + "description": "Beschrijving", + "disconnected": "Niet Verbonden", + "documentation": "Documentatie", + "doesnt_match": "Komt niet overeen", + "done": "Klaar", + "download": "Downloaden", + "download_pdf": "PDF Downloaden", + "download_zip_file": "Als .zip-bestand downloaden", + "dropbox_integration_lowercase": "Dropbox integratie", + "dropbox_sync": "Dropbox-synchronisatie", + "dropbox_sync_description": "Houd je __appName__-projecten gesynchroniseerd met je Dropbox veranderingen in __appName__ worden automatisch naar Dropbox verzonden en andersom.", + "dropbox_sync_error": "synchronisatiefout met Dropbox", + "edit": "Pas aan", + "editing": "Aan het bewerken", + "editor_disconected_click_to_reconnect": "Verbinding Editor verbroken, klik om opnieuw te verbinden", + "email": "E-mail", + "email_already_registered": "Dit e-mailadres is al geregistreerd", + "email_link_expired": "E-maillink is verlopen, vraag een nieuwe aan.", + "email_or_password_wrong_try_again": "Je e-mailadres of wachtwoord is incorrect. Probeer het opnieuw", + "email_sent": "E-mail verzonden", + "emails_and_affiliations_explanation": "Voeg extra e-mailadressen toe aan uw account om toegang te krijgen tot eventuele upgrades die uw universiteit of instelling heeft, om het voor bijdragers gemakkelijker te maken om u te vinden en om ervoor te zorgen dat u uw account kunt herstellen.", + "en": "Engels", + "error": "Fout", + "error_performing_request": "Er is een fout opgetreden tijdens het uitvoeren van uw verzoek.", + "es": "Spaans", + "every": "per", + "example_project": "Voorbeeldproject", + "expiry": "Vervaldatum", + "export_project_to_github": "Project exporteren naar GitHub", + "faq_how_free_trial_works_question": "Hoe werkt de gratis proefperiode?", + "fast": "Snel", + "features": "Functies", + "february": "februari", + "files_cannot_include_invalid_characters": "Bestandsnaam mag niet ’*’ of ’/’ bevatten", + "find_out_more": "Kom meer te weten", + "first_name": "Voornaam", + "folders": "Mappen", + "following_paths_conflict": "De volgende bestanden en folders hebben hetzelfde bestandspad", + "font_family": "Font familie", + "font_size": "Lettergrootte", + "forgot_your_password": "Wachtwoord vergeten", + "fr": "Frans", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox en Geschiedenis", + "full_doc_history": "Volledige documentsgeschiedenis", + "generic_something_went_wrong": "Sorry, er ging iets fout", + "get_in_touch": "Contacteer ons", + "github_commit_message_placeholder": "Bericht voor wijzigingen aangebracht in __appName__...", + "github_integration_lowercase": "Github integratie", + "github_is_premium": "GitHubsnychronisatie is een premium functie", + "github_public_description": "Iedereen kan deze repository zien. Jij kiest wie eraan kan bijdragen.", + "github_successfully_linked_description": "Bedankt, we hebben je GitHub-account kunnen koppelen aan __appName__. Je kunt nu je __appName__-projecten exporteren naar GitHub, of je projecten vanuit je GitHub repositories importeren.", + "github_sync": "GitHub-synchonisatie", + "github_sync_description": "Met GitHub Sync kun je je __appName__-projecten koppelen aan GitHub repositories. Maak nieuwe toevoegingen vanuit __appName__ en voeg deze samen met toevoegingen die offline of in GitHub gemaakt zijn.", + "github_sync_error": "Sorry, er trad een fout op tijdens het communiceren met onze GitHub-dienst. Probeer het opnieuw over een ogenblik.", + "github_validation_check": "Controleer of de naam van de repository geldig is en of je toestemming heb om de repository te maken.", + "global": "globaal", + "go_to_code_location_in_pdf": "Ga naar codelocatie in de PDF", + "go_to_pdf_location_in_code": "Ga naar de PDF-locatie in de code", + "group_admin": "Groepsbeheerder", + "group_plans": "Groepspakketten", + "groups": "Groepen", + "have_more_days_to_try": "Hier zijn __days__ dagen extra Proefperiode!", + "headers": "Koppen", + "help": "Help", + "history": "Geschiedenis", + "history_add_label": "Voeg label toe", + "history_adding_label": "Label aan het toevoegen", + "history_are_you_sure_delete_label": "Weet u zeker dat u het volgende label wilt verwijderen:", + "history_delete_label": "Verwijder label", + "history_deleting_label": "Label aan het verwijderen", + "history_label_created_by": "Aangemaakt door", + "history_label_this_version": "Label deze versie", + "history_new_label_name": "Nieuwe labelnaam", + "history_view_all": "Alle geschiedenis", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Toets Enter om te antwoorden", + "hotkeys": "Sneltoetsen", + "i_want_to_stay": "Ik wil blijven", + "ignore_validation_errors": "Check syntax niet", + "ill_take_it": "Ik neem hem!", + "import_from_github": "Uit GitHub importeren", + "import_to_sharelatex": "Naar __appName__ importeren", + "importing": "Aan het importeren", + "importing_and_merging_changes_in_github": "Veranderingen aan het importeren en toevoegen in GitHub", + "in_good_company": "Je bent in goed gezelschap", + "indvidual_plans": "Individuele Abonnementen", + "info": "Info", + "institution": "Instelling", + "institution_and_role": "Instelling en rol", + "invalid_file_name": "Ongeldige Bestandsnaam", + "invalid_password": "Onjuist Wachtwoord", + "invite_not_accepted": "Uitnodiging nog niet geaccepteerd", + "invite_not_valid": "Dit is geen valide projectuitnodiging", + "invite_not_valid_description": "De uitnodiging kan verlopen zijn. Neem contact op met de projecteigenaar", + "invited_to_group": "<0>__inviterName__ heeft je uitgenodigd om lid te worden van een team op __appName__", + "ip_address": "IP-adres", + "it": "Italiaans", + "ja": "Japans", + "january": "januari", + "join_project": "Neem deel aan Project", + "join_sl_to_view_project": "Word lid van __appName__ om dit project te bekijken", + "joined_team": "Je bent lid geworden van het team dat door __inviterName__ wordt beheerd", + "joining": "Aan het toevoegen", + "july": "juli", + "june": "juni", + "kb_suggestions_enquiry": "Heeft u onze <0>__kbLink__ al gezien?", + "keybindings": "Sneltoetsen", + "knowledge_base": "Kennisbasis", + "ko": "Koreaans", + "language": "Taal", + "last_modified": "Laatst Gewijzigd", + "last_name": "Achternaam", + "latex_templates": "LaTeX-sjablonen", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Kies een e-mail adres voor het eerste __appName__ admin account. Dit moet corresponderen met een account in het LDAP systeem. U zal daarna gevraagd worden in te loggen met dit account", + "learn_more": "Meer weten", + "leave": "Verlaten", + "leave_group": "Verlaat groep", + "leave_now": "Verlaat nu", + "leave_projects": "Verlaat projecten", + "let_us_know": "Laat het ons weten", + "line_height": "Regel afstand", + "link_to_github": "Verbinden met je GitHubaccount", + "link_to_github_description": "Je dient __appName__ te autoriseren voor toegang tot je GitHub-account om je projecten te synchroniseren.", + "link_to_mendeley": "Verbinden met Mendeley", + "link_to_zotero": "Verbinden met Zotero", + "links": "Links", + "loading": "Aan het laden", + "loading_github_repositories": "Bezig met laden van jouw GitHub repositories", + "loading_recent_github_commits": "Recente toevoegingen laden", + "log_hint_extra_info": "Meer informatie", + "log_in": "Inloggen", + "log_in_with": "Log in met __provider__", + "log_out": "Uitloggen", + "logging_in": "Aan het inloggen", + "login": "Inloggen", + "login_failed": "Login mislukt", + "login_here": "Log hier in", + "login_or_password_wrong_try_again": "Uw inlognaam of wachtwoord is incorrect. Probeer a.u.b. opnieuw", + "logs_and_output_files": "Logs en outputbestanden", + "looking_multiple_licenses": "Op zoek naar meerdere licenties?", + "lost_connection": "Verbinding Verbroken", + "main_document": "Hoofddocument", + "maintenance": "Onderhous", + "make_private": "Privé Maken", + "manage_beta_program_membership": "Manage Bèta Programma Lidmaatschap", + "manage_sessions": "Manage Uw Sessies", + "manage_subscription": "Beheer abonnementen", + "march": "maart", + "mark_as_resolved": "Markeer als opgelost", + "math_display": "Math Display", + "math_inline": "Math Inline", + "maximum_files_uploaded_together": "Maximum __max__ bestanden tegelijk geüplaod", + "may": "mei", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeley Integratie", + "mendeley_is_premium": "Mendeley Integratie is een premium functie", + "mendeley_reference_loading_error": "Error, kan referenties niet laden vanaf Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token verlopen, gelieve je account opnieuw te koppelen", + "mendeley_reference_loading_error_forbidden": "Kon referenties niet laden vanaf Mendeley, gelieve je account opnieuw te koppelen en nogmaals te proberen", + "mendeley_sync_description": "Met Mendeley integratie kan u uw referenties uit mendeley in uw __appName__ projecten importeren", + "menu": "Menu", + "merge": "Samenvoegen", + "merging": "Bezig met samenvoegen", + "month": "maand", + "monthly": "Maandelijks", + "more": "Meer", + "must_be_email_address": "Moet een e-mailadres zijn", + "name": "Naam", + "native": "Browserkeuze", + "navigation": "Navigatie", + "nearly_activated": "Je bent één stap verwijderd van het activeren van je __appName__ account", + "need_anything_contact_us_at": "Als er iets is dat je ooit nodig hebt, neem gerust direct contact met ons op via", + "need_to_leave": "Moet je weg?", + "need_to_upgrade_for_more_collabs": "Je dient je account te upgraden om meer bijdragers toe te voegen", + "new_file": "Nieuw bestand", + "new_folder": "Nieuwe map", + "new_name": "Nieuwe Naam", + "new_password": "Nieuwe Wachtwoord", + "new_project": "Nieuw Project", + "next_payment_of_x_collectected_on_y": "De volgende betaling van <0>__paymentAmmount__ zal worden geïnd op <1>__collectionDate__", + "nl": "Nederlands", + "no": "Noors", + "no_comments": "Geen opmerkingen", + "no_members": "Geen leden", + "no_messages": "Geen berichten", + "no_new_commits_in_github": "Geen nieuwe toevoegingen op GitHub sinds laatste samenvoeging.", + "no_other_sessions": "Geen andere sessies actief", + "no_planned_maintenance": "Er is op dit moment geen gepland onderhoud", + "no_preview_available": "Sorry, er is geen voorbeeld beschikbaar.", + "no_projects": "Geen projecten", + "no_resolved_threads": "Geen opgeloste onderwerpen", + "no_search_results": "Geen zoek resultaten", + "no_thanks_cancel_now": "Nee bedankt - Ik wil nog steeds annuleren.", + "normal": "Normaal", + "not_now": "Niet nu", + "notification_project_invite": "__userName__ wil dat u deelneemt aan __projectName__ Neem deel aan Project", + "november": "november", + "number_collab": "Aantal bijdragers", + "october": "oktober", + "off": "Uit", + "ok": "OK", + "one_collaborator": "Slechts één bijdrager", + "one_free_collab": "Één gratis bijdrager", + "online_latex_editor": "Online LaTeX-verwerker", + "open_a_file_on_the_left": "Open een bestand aan de linkerkant", + "open_project": "Open Project", + "optional": "Optioneel", + "or": "of", + "other_actions": "Andere acties", + "other_logs_and_files": "Andere logs en bestanden", + "over": "meer dan", + "overview": "Overzicht", + "owner": "Eigenaar", + "page_not_found": "Pagina Niet Gevonden", + "password": "Wachtwoord", + "password_reset": "Wachtwoord Herstellen", + "password_reset_email_sent": "Er is een e-mail naar je verstuur om je wachtwoordreset te voltooien.", + "password_reset_token_expired": "Je wachtwoordherstelsleutel is verlopen. Vraag een nieuwe herstel-e-mail aan en volg daarin de link.", + "pdf_rendering_error": "PDF Render Error", + "pdf_viewer": "PDF-lezer", + "pending": "In afwachting", + "personal": "Persoonlijk", + "pl": "Pools", + "planned_maintenance": "Gepland Onderhoud", + "plans_amper_pricing": "Abonnementen en Prijzen", + "plans_and_pricing": "Abonnementen en Prijzen", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Vraag alstublieft de projecteigenaar om te upgraden zodat de optie ’Wijzigingen bijhouden’ gebruikt kan worden", + "please_check_your_inbox": "Controleer uw inbox", + "please_compile_pdf_before_download": "Compileer je project alvorens de PDF te downloaden", + "please_compile_pdf_before_word_count": "Compileer je project alvorens het aantal woorden te tellen", + "please_confirm_your_email_before_making_it_default": "Bevestig uw e-mail voordat u deze als standaard gebruikt.", + "please_enter_email": "Vul je e-mailadres in", + "please_refresh": "Ververs de pagina om door te gaan.", + "please_set_a_password": "Gelieve een wachtwoord te kiezen", + "position": "Functie", + "presentation": "Presentatie", + "price": "Prijs", + "privacy": "Privacy", + "privacy_policy": "Privacybeleid", + "private": "Privé", + "problem_changing_email_address": "Er was een probleem tijdens het veranderen van je e-mailadres. Probeer het over een ogenblik opnieuw. Als het probleem blijft bestaan, neem dan a.u.b. contact met ons op.", + "problem_talking_to_publishing_service": "Er is een probleem met onze publicatiedienst, probeer het over enkele minuten opnieuw", + "problem_with_subscription_contact_us": "Er is een probleem met je abonnement. Neem contact met ons op voor meer informatie.", + "processing": "aan het verwerken", + "professional": "Professioneel", + "project_last_published_at": "Je project is voor het laatst gepubliceerd om", + "project_name": "Projectnaam", + "project_not_linked_to_github": "Dit project is niet verbonden aan het GitHub repository. Je kunt er een repository voor aanmaken in GitHub:", + "project_synced_with_git_repo_at": "Dit project is gesynchroniseerd met de GitHub repository op", + "project_too_large": "Project is te groot", + "project_too_large_please_reduce": "Dit project bevat teveel tekst, probeer dit te verminderen. De grootste bestanden zijn:", + "project_url": "Getroffen Project URL", + "projects": "Projecten", + "pt": "Portugees", + "public": "Publiek", + "publish": "Publiceren", + "publish_as_template": "Publiceren als Sjabloon", + "publishing": "Aan het publiceren", + "pull_github_changes_into_sharelatex": "Wijzigingen op GitHub naar __appName__ halen", + "push_sharelatex_changes_to_github": "Wijzigingen op __appName__ naar GitHub verplaatsen", + "quoted_text_in": "Gequote tekst in", + "read_only": "Alleen Lezen", + "recent_commits_in_github": "Recente toevoegingen in GitHub", + "recompile": "Hercompileren", + "recompile_pdf": "Hercompileer de PDF", + "reconnecting": "Opnieuw aan het verbinden", + "reconnecting_in_x_secs": "Opnieuw verbinden over __seconds__ seconden", + "reduce_costs_group_licenses": "U kunt de administratie verkleinen en de kosten verlagen met onze scherp geprijsde groeplicenties.", + "reference_error_relink_hint": "Als deze foutmelding blijft verschijnen, probeer dan uw account hier opnieuw te linken:", + "refresh_page_after_starting_free_trial": "Ververs deze pagina nadat je de gratis proefperiode hebt gestart.", + "regards": "Groeten", + "register": "Registreren", + "register_to_edit_template": "Registreet om het sjabloon __templateName__ te bewerken", + "registered": "Geregistreerd", + "registering": "Aan het registreren", + "reject": "Verwerp", + "remove": "Verwijder", + "remove_collaborator": "Bijdrager verwijderen", + "remove_from_group": "Uit groep verwijderen", + "removed": "verwijderd", + "removing": "Verwijderen", + "rename": "Hernoemen", + "rename_project": "Project Hernoemen", + "renaming": "Hernoemen", + "reopen": "Heropen", + "reply": "Beantwoord", + "repository_name": "Repository-naam", + "republish": "Herpubliceren", + "request_password_reset": "Wachtwoordherstel aanvragen", + "request_sent_thank_you": "Verzoek verzonden, bedankt.", + "required": "Vereist", + "resend": "Stuur opnieuw", + "resend_confirmation_email": "Verstuur bevestigingsmail opnieuw", + "reset_password": "Wachtwoord Herstellen", + "reset_your_password": "Herstel je wachtwoord", + "resolve": "Los op", + "resolved_comments": "Opgeloste opmerkingen", + "restore": "Herstellen", + "restoring": "Aan het herstellen", + "restricted": "Beperkt", + "restricted_no_permission": "Beperkt, sorry. Je hebt geen toegang tot deze pagina.", + "return_to_login_page": "Keer terug naar inlogpagina", + "review": "Review", + "review_your_peers_work": "Review werk van uw collega’s", + "revoke_invite": "Herroep uitnodiging", + "ro": "Roemeens", + "role": "Functie", + "ru": "Russisch", + "saml": "SAML", + "saml_create_admin_instructions": "Kies een e-mail adres voor het eerste __appName__ admin account. Dit moet corresponderen met een account in het SAML systeem. U zal daarna gevraagd worden in te loggen met dit account", + "save_or_cancel-cancel": "Anuleer", + "save_or_cancel-or": "of", + "save_or_cancel-save": "Sla op", + "saving": "Aan het opslaan", + "saving_notification_with_seconds": "__docname__ aan het opslaan... (__seconds__ seconden aan niet-opgeslagen wijzigingen)", + "search_bib_files": "Zoek op auteur, titel, jaar", + "search_projects": "Projecten zoeken", + "search_references": "Doorzoek het .bib bestand in dit project", + "security": "Veiligheid", + "see_changes_in_your_documents_live": "Zie verandering in uw documenten, live", + "select_github_repository": "Selecteer een GitHub repository om naar __appName__ te importeren.", + "send": "Verstuur", + "send_first_message": "Verzend je eerste bericht", + "send_test_email": "Stuur een test e-mail", + "sending": "Versturen", + "september": "september", + "server_error": "Serverfout", + "services": "Diensten", + "session_created_at": "Sessie gecreëerd op", + "session_expired_redirecting_to_login": "Sessie verlopen. Doorsturen naar de inlog pagina in __seconds__ seconden.", + "sessions": "Sessies", + "set_new_password": "Nieuw wachtwoord instellen", + "set_password": "Wachtwoord Instellen", + "settings": "Instellingen", + "share": "Delen", + "share_project": "Project Delen", + "share_with_your_collabs": "Delen met je bijdragers", + "shared_with_you": "Gedeeld met jou", + "sharelatex_beta_program": "__appName__ Beta Programma", + "show_all": "Laat alles zien", + "show_hotkeys": "Sneltoetsen Tonen", + "show_less": "Laat minder zien", + "site_description": "Een online LaTeX editor die makkelijk te gebruiken is. Geen installatie, real-time samenwerken, versiecontrole, honderden LaTeX templates en meer.", + "something_went_wrong_rendering_pdf": "Er is iets misgegaan tijdens het renderen van deze PDF.", + "somthing_went_wrong_compiling": "Sorry, er ging iets fout en je project kon niet gecompileerd worden. Probeer het over enkele ogenblikken opnieuw.", + "source": "Bron", + "spell_check": "Spellingscontrole", + "start_by_adding_your_email": "Begin met het toevoegen van je e-mailadres", + "start_free_trial": "Start Gratis Proefperiode!", + "state": "Provincie", + "status_checks": "Status Checks", + "still_have_questions": "Zijn er nog meer vragen?", + "stop_compile": "Stop met compileren", + "stop_on_validation_error": "Check syntax voor compileren", + "student": "Student", + "subject": "Onderwerp", + "subscribe": "Abonneren", + "subscription": "Abonnementen", + "subscription_canceled_and_terminate_on_x": " Je abonnement is geannuleerd en zal eindigen op <0>__terminateDate__. Er zullen geen betalingen meer worden vereist.", + "suggestion": "Suggestie", + "sure_you_want_to_change_plan": "Weet je zeker dat je wilt overstappen naar <0>__planName__?", + "sure_you_want_to_delete": "Weet je zeker dat je de volgende bestanden permanent wilt verwijderen?", + "sure_you_want_to_leave_group": "Weet je zeker dat je deze groep wilt verlaten?", + "sv": "Zweeds", + "sync": "Synchronisatie", + "sync_project_to_github_explanation": "Aangebrachte wijzigingen in __appName__ zullen worden toegevoegd en samengevoegd met updates in GitHub.", + "sync_to_dropbox": "Synchroniseren met Dropbox", + "sync_to_github": "Synchroniseer met GitHub", + "syntax_validation": "Code check", + "take_me_home": "Terug naar huis dan maar!", + "template_description": "Sjabloonbeschrijving", + "templates": "Sjablonen", + "terminated": "Compileren gestopt", + "terms": "Voorwaarden", + "thank_you": "Dankjewel", + "thanks": "Bedankt", + "thanks_for_subscribing": "Bedankt voor het abonneren!", + "thanks_for_subscribing_you_help_sl": "Bedankt voor het abonneren op __planName__. De ondersteuning van mensen zoals jij maakt het mogelijk dat __appName__ groeit en verbetert.", + "thanks_settings_updated": "Bedankt, je instellingen zijn bijgewerkt.", + "theme": "Thema", + "thesis": "Scriptie", + "this_is_your_template": "Dit is jouw sjabloon uit jouw project", + "this_project_is_public": "Dit project is publiek toegankelijk en kan gewijzigd worden door iedereen die de URL heeft.", + "this_project_is_public_read_only": "Dit project is publiek toegankelijk en kan bekeken, maar niet bewerkt worden door iedereen die de URL heeft", + "this_project_will_appear_in_your_dropbox_folder_at": "Dit project zal verschijnen in je Dropbox map in ", + "three_free_collab": "Drie gratis bijdragers", + "timedout": "Time-out", + "title": "Titel", + "to_many_login_requests_2_mins": "Er is te vaak geprobeerd bij dit account in te loggen. Wacht 2 minuten alvorens het opnieuw te proberen.", + "to_modify_your_subscription_go_to": "Om je abonnement aan te passen, ga naar", + "too_many_files_uploaded_throttled_short_period": "Teveel bestanden geüpload, je uploads zijn afgeknepen voor een korte periode.", + "too_recently_compiled": "Dit project is recentelijk nog gecompileerd, daarom is het nu overgeslagen.", + "total_words": "Aantal woorden", + "tr": "Turks", + "track_any_change_in_real_time": "Hou alle veranderingen bij, in realtime", + "track_changes_is_off": "Wijzigingen bijhouden staat uit", + "track_changes_is_on": "Wijzigingen bijhouden staat aan", + "tracked_change_added": "Toegevoegd", + "tracked_change_deleted": "Verwijderd", + "try_it_for_free": "Probeer het gratis", + "try_now": "Nu Proberen", + "uk": "Oekraïens", + "unconfirmed": "Niet bevestigd", + "university": "Universiteit", + "unlimited_collabs": "Onbeperkt aantal bijdragers", + "unlimited_projects": "Onbeperkt aantal projecten", + "unlink": "Ontkoppelen.", + "unlink_github_warning": "Projecten die je gesynchroniseerd hebt met GitHub zullen niet meer gekoppeld zijn en niet meer gesynchroniseerd worden met GitHub. Weet je zeker dat je je GitHub-account wilt ontkoppelen?", + "unlink_reference": "Ontkoppel Referentie Provider", + "unlink_warning_reference": "Waarschuwing: Wanneer u uw account van deze provider losmaakt kan u geen referenties meer in uw projecten importeren", + "unpublish": "Onpubliceren", + "unpublishing": "Aan het ontpubliceren", + "unsubscribe": "Uitschrijven", + "unsubscribed": "Uitgeschreven", + "unsubscribing": "Aan het uitschrijven", + "update": "Bijwerken", + "update_account_info": "Accountinfo Bijwerken", + "update_dropbox_settings": "Dropboxinstellingen Updaten", + "update_your_billing_details": "Werk Je Factuurgegevens Bij", + "updating_site": "Site Aan Het Updaten", + "upgrade": "Upgraden", + "upgrade_cc_btn": "Upgrade nu, betaal na 7 dagen", + "upgrade_now": "Upgrade Nu", + "upgrade_to_get_feature": "Upgrade om __feature__ te krijgen, plus:", + "upgrade_to_track_changes": "Upgrade naar Wijzigingen Bijhouden", + "upload": "Uploaden", + "upload_project": "Project Uploaden", + "upload_zipped_project": "Gezipt Project Uploaden", + "user_wants_you_to_see_project": "__username__ wil dat u deelneemt aan __projectname__", + "vat_number": "BTW nummer", + "view_all": "Alle Bekijken", + "view_in_template_gallery": "Bekijk het in de sjablonengalerij", + "welcome_to_sl": "Welkom bij __appName__", + "wide": "Breed", + "word_count": "Aantal woorden", + "year": "jaar", + "you_have_added_x_of_group_size_y": "Je hebt <0>__addedUsersSize__ van de <1>__groupSize__ beschikbare leden", + "your_plan": "Jouw abonnement", + "your_projects": "Jouw Projecten", + "your_sessions": "Uw Sessies", + "your_subscription": "Jouw Abonnement", + "your_subscription_has_expired": "Je abonnement is verlopen.", + "zh-CN": "Chinees", + "zotero": "Zotero", + "zotero_integration": "Zetro Integratie", + "zotero_is_premium": "Zotero Integratie is een premium functie", + "zotero_reference_loading_error": "Error, kan referenties niet laden vanaf Mendeley", + "zotero_reference_loading_error_expired": "Zotero token verlopen, gelieve je account opnieuw te koppelen", + "zotero_reference_loading_error_forbidden": "Kon referenties niet laden vanaf Zotero, gelieve je account opnieuw te koppelen en nogmaals te proberen" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/no.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/no.json new file mode 100644 index 0000000..8acc6a7 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/no.json @@ -0,0 +1,404 @@ +{ + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoinnstillinger", + "Documentation": "Dokumentasjon", + "Projects": "Prosjekter", + "Security": "Sikkerhet", + "Subscription": "Abonnement", + "Terms": "Vilkår", + "Universities": "Universiteter", + "about": "Om", + "about_to_delete_projects": "Du er i ferd med å slette følgende prosjekt:", + "about_to_leave_projects": "Du er i ferd med å forlate følgende prosjekter:", + "account": "Konto", + "account_not_linked_to_dropbox": "Din konto er ikke koblet til Dropbox", + "account_settings": "Kontoinnstillinger", + "actions": "Handlinger", + "activate_account": "Aktiver din konto", + "add": "Legg til", + "add_more_members": "Legg til flere medlemmer", + "add_your_first_group_member_now": "Legg til ditt første gruppemedlem nå", + "added": "lagt til", + "adding": "Legge til", + "address": "Adresse", + "admin": "admin", + "all_projects": "Alle prosjekter", + "all_templates": "Alle maler", + "already_have_sl_account": "Allerede __appName__-bruker?", + "and": "og", + "annual": "Årlig", + "anonymous": "Anonym", + "april": "April", + "ask_proj_owner_to_upgrade_for_references_search": "Vennligst spør prosjekteieren om å oppgradere for å bruke Referansesøk-funksjonen", + "august": "August", + "auto_complete": "Autofullfør", + "back_to_your_projects": "Tilbake til prosjektene dine", + "beta": "Beta", + "bibliographies": "Bibliografi", + "blank_project": "Tomt prosjekt", + "blog": "Blogg", + "built_in": "Innebygget", + "can_edit": "Kan redigere", + "cancel": "Avbryt", + "cancel_personal_subscription_first": "Du har allerede et personlig abonnement, vil du at vi skal kansellere det før du blir medlem av gruppelisensen?", + "cant_find_email": "Epostadressen er ikke registrert, beklager.", + "cant_find_page": "Beklager, vi kan ikke finne siden du leter etter.", + "change": "Endre", + "change_password": "Endre passord", + "change_plan": "Forandre plan", + "change_to_this_plan": "Bytt til denne planen", + "chat": "Chat", + "checking_dropbox_status": "sjekker Dropbox-status", + "checking_project_github_status": "Sjekker prosjektstatus i GitHub", + "choose_your_plan": "Velg din plan", + "city": "By", + "clear_cached_files": "Slett cache", + "clearing": "Rydder opp", + "click_here_to_view_sl_in_lng": "Trykk her for å bruke __appName__ på <0>__lngName__", + "close": "Lukk", + "clsi_maintenance": "Kompileringsserverene er nede for vedlikehold, og vil være tilbake snart.", + "cn": "Kinesisk (Forenklet)", + "collaboration": "Samarbeid", + "collaborator": "Samarbeidspartner", + "collabs_per_proj": "__collabcount__ samarbeidspartnere per prosjekt", + "comment": "Kommenter", + "commit": "Commit", + "common": "Vanilige", + "compile_larger_projects": "Kompiler Større Prosjekter", + "compile_mode": "Kompileringsmodus", + "compiler": "Kompilator", + "compiling": "Kompilerer", + "complete": "Ferdig", + "confirm": "Bekreft", + "confirm_new_password": "Bekreft nytt passord", + "connected_users": "Tilkoblede brukere", + "connecting": "Kobler til", + "contact": "Kontakt", + "contact_us": "Kontakt oss", + "continue_github_merge": "Jeg har merget manuelt. Fortsett", + "copy": "Kopier", + "copy_project": "Kopier prosjekt", + "copying": "kopierer", + "country": "Land", + "coupon_code": "kupong kode", + "create": "Opprett", + "create_new_subscription": "Lag nytt abonnement", + "create_project_in_github": "Lag et GitHub-repository", + "creating": "Oppretter", + "credit_card": "Kredittkort", + "cs": "Tsjekkisk", + "current_password": "Nåværende passord", + "currently_subscribed_to_plan": "Du har for øyeblikket et abonnement på <0>__planName__-planen.", + "da": "Dansk", + "de": "Tysk", + "december": "Desember", + "delete": "Slett", + "delete_account": "Slett konto", + "delete_and_leave_projects": "Slett of forlat prosjekter", + "delete_projects": "Slett prosjekter", + "delete_your_account": "Slett kontoen din", + "deleting": "Sletter", + "disconnected": "Frakoblet", + "documentation": "Dokumentasjon", + "doesnt_match": "Samsvarer ikke", + "done": "Ferdig", + "download": "Last ned", + "download_pdf": "Last ned PDF", + "download_zip_file": "Last ned .zip-fil", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_description": "Synkroniser __appName__-prosjektene dine med Dropbox. Endringer i __appName__ blir automatisk sendt til din Dropbox, og motsatt.", + "editing": "Redigerer", + "editor_disconected_click_to_reconnect": "Editor frakoblet, klikk hvor som helst for å koble til igjen.", + "email": "Epost", + "email_already_registered": "Denne eposten er allerede registrert", + "email_or_password_wrong_try_again": "Epostadressen eller passordet er feil. Vennligst prøv på nytt", + "en": "Engelsk", + "es": "Spansk", + "example_project": "Eksempelprosjekt", + "expiry": "Utløpsdato", + "export_project_to_github": "Eksporter prosjekt til GitHub", + "fast": "Hurtig", + "features": "Funksjoner", + "february": "Februar", + "first_name": "Fornavn", + "folders": "Mapper", + "font_size": "Skriftstørrelse", + "forgot_your_password": "Glemt passordet", + "fr": "Fransk", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox og revisjonshistorikk", + "full_doc_history": "Full dokument-historikk", + "generic_something_went_wrong": "Beklager, noe gikk feil :(", + "get_in_touch": "Ta kontakt", + "github_commit_message_placeholder": "Commit-melding for endringer gjort i __appName__...", + "github_is_premium": "Synkronisering med GitHub er en premium funksjonalitet", + "github_public_description": "Hvem som helst kan se dette repositoriet. Du velger hvem som kan gjøre commits.", + "github_successfully_linked_description": "Takk, kobling av GitHub-kontoen din til __appName__ var vellykket. Du kan nå eksportere __appName__-prosjektene dine til GitHub, eller importere prosjekter fra GitHub-repositoriene dine.", + "github_sync": "GitHub Synk.", + "github_sync_description": "Med GitHub-Sync kan du koble dine prosjekter i __appName__ til GitHub-repositories. Lag nye commits fra __appName__, og merge med commits gjort offline eller i GitHub.", + "github_sync_error": "Beklager, det oppstod en feil da vi forsøkte å snakke med vår GitHub-service. Prøv igjen om ett øyeblikk", + "github_validation_check": "Vennligst sjekk at navnet til repositoriet er gyldig, og at du har tilgang til å lage repositoriet.", + "global": "global", + "go_to_code_location_in_pdf": "Gå til kodeplassering i PDF", + "go_to_pdf_location_in_code": "Gå til PDF plassering i kode", + "group_admin": "Gruppeadministrator", + "groups": "Grupper", + "headers": "Overskrifter", + "help": "Hjelp", + "hotkeys": "Hurtigtaster", + "import_from_github": "Importer fra GitHub", + "import_to_sharelatex": "Importer til __appName__", + "importing": "Importerer", + "importing_and_merging_changes_in_github": "Importerer og merger endringer i GitHub", + "indvidual_plans": "Individuelle planer", + "info": "Info", + "institution": "Institusjon", + "it": "Italiensk", + "ja": "Japansk", + "january": "Januar", + "join_sl_to_view_project": "Bli med i __appName__ for å se dette prosjektet", + "july": "Juli", + "june": "Juni", + "keybindings": "Tastatursnarveier", + "ko": "Koreansk", + "language": "Språk", + "last_modified": "Sist endret", + "last_name": "Etternavn", + "latex_templates": "LaTex-maler", + "learn_more": "Lær mer", + "leave_group": "Forlat gruppe", + "leave_now": "Forlat nå", + "leave_projects": "Forlat prosjekter", + "link_to_github": "Koble til din GitHub-konto", + "link_to_github_description": "Du må autorisere __appName__ for å få tilgang til GitHub-kontoen din slik at vi kan synkronisere prosjektene dine.", + "loading": "Laster", + "loading_github_repositories": "Laster dine GitHub-repositories", + "loading_recent_github_commits": "Laster nylige commits.", + "log_in": "Logg inn", + "log_out": "Logg ut", + "logging_in": "Logger inn", + "login": "Innlogging", + "login_here": "Logg inn her", + "logs_and_output_files": "Logger og output-filer", + "lost_connection": "Mistet tilkobling", + "main_document": "Hoveddokument", + "maintenance": "Vedlikehold", + "make_private": "Gjør privat", + "march": "Mars", + "math_display": "Matematikk utstilt", + "math_inline": "Matematikk i linje", + "maximum_files_uploaded_together": "Maksimalt __max__ filer lastet opp samtidig", + "may": "Mai", + "menu": "Meny", + "merge": "Merge", + "merging": "Merging", + "month": "måned", + "monthly": "Månedlig", + "more": "Mer", + "must_be_email_address": "Må være en epostadresse", + "name": "Navn", + "native": "integrert", + "navigation": "Navigasjon", + "nearly_activated": "Du er ett steg unna fra å aktivere din __appName__ konto!", + "need_anything_contact_us_at": "Dersom det er noe du trenger, ikke nøl med å kontakte oss direkte på", + "need_to_leave": "Må du dra?", + "need_to_upgrade_for_more_collabs": "Du må oppgradere kontoen din for å legge til flere samarbeidspartnere", + "new_file": "Ny fil", + "new_folder": "Ny mappe", + "new_name": "Nytt navn", + "new_password": "Nytt passord", + "new_project": "Nytt prosjekt", + "next_payment_of_x_collectected_on_y": "Neste betaling av <0>__paymentAmmount__ vil bli belastet den <1>__collectionDate__", + "nl": "Nederlandsk", + "no": "Norsk", + "no_members": "Ingen medlemmer", + "no_messages": "Ingen meldinger", + "no_new_commits_in_github": "Ingen nye commits i GitHub siden siste merge.", + "no_planned_maintenance": "Det er for tiden ikke planlagt noe vedlikehold", + "no_preview_available": "Beklager, ingen forhåndsvisning er tilgjengelig", + "no_projects": "Ingen prosjekter", + "no_search_results": "Ingen søkeresultater", + "normal": "Normal", + "not_now": "Ikke nå", + "november": "November", + "october": "Oktober", + "off": "Av", + "ok": "OK", + "one_collaborator": "Kun én samarbeidspartner", + "one_free_collab": "Én gratis samarbeidspartner", + "online_latex_editor": "Online LaTeX-redigeringsprogram", + "optional": "Valgfri", + "or": "eller", + "other_logs_and_files": "Andre logger & filer", + "over": "over", + "owner": "Eier", + "page_not_found": "Fant ikke siden", + "password": "Passord", + "password_reset": "Tilbakestill passord", + "password_reset_email_sent": "Vi har sendt deg en email hvor du kan tilbakestille passordet ditt.", + "password_reset_token_expired": "Token for tilbakestilling av passord har utløpt. Vennligst be om ny email for tilbakestilling av passord og følg lenken.", + "pdf_viewer": "PDF-viser", + "personal": "Personlig", + "pl": "Polsk", + "planned_maintenance": "Planlagt vedlikehold", + "plans_amper_pricing": "Planer & Priser", + "plans_and_pricing": "Planer og priser", + "please_compile_pdf_before_download": "Vennligst kompiler prosjektet før du laster ned PDF", + "please_compile_pdf_before_word_count": "Vennligst kompiler prosjektet ditt før du utfører en ordtelling", + "please_enter_email": "Vennligst fyll inn epostadressen din", + "please_refresh": "Vennligst refresh siden for å fortsette.", + "please_set_a_password": "Vennligst velg et passord", + "position": "Stilling", + "presentation": "Presentasjon", + "price": "Pris", + "privacy": "Personvern", + "privacy_policy": "Erklæring om personvern", + "private": "Privat", + "problem_changing_email_address": "Det oppstod et problem med å endre epostadressen din. Prøv igjen om noen øyeblikk. Vennligst ta kontakt med oss dersom problemet vedvarer.", + "problem_talking_to_publishing_service": "Det er et problem med vår publiseringstjeneste, vennligst prøv igjen om noen få minutter", + "problem_with_subscription_contact_us": "Det er et problem med abonnementet ditt. Vennligst kontakt oss for mer informasjon.", + "processing": "Jobber", + "professional": "Profesjonell", + "project_last_published_at": "Ditt prosjekt ble sist publisert", + "project_name": "Prosjektnavn", + "project_not_linked_to_github": "Dette prosjektet er ikke koblet til et GitHub-repository. Du kan lage et repository for det i GitHub:", + "project_synced_with_git_repo_at": "Dette prosjektet er synkronisert med GitHub-repositoriet på", + "project_too_large": "Prosjektet er for stort", + "project_too_large_please_reduce": "Prosjektet har for mye tekst. Vennligst reduser størrelsen.", + "project_url": "Prosjekt URL", + "projects": "Prosjekter", + "pt": "Portugisisk", + "public": "Offentlig", + "publish": "Publiser", + "publish_as_template": "Publiser som mal", + "publishing": "Publiserer", + "pull_github_changes_into_sharelatex": "Pull forandringer i GitHub til __appName__", + "push_sharelatex_changes_to_github": "Push forandringer i __appName__ til GitHub", + "read_only": "Skrivebeskyttet", + "recent_commits_in_github": "Nylige commits i GitHub", + "recompile": "Rekompiler", + "reconnecting": "Kobler til", + "reconnecting_in_x_secs": "Kobler til om __seconds__ sekunder", + "refresh_page_after_starting_free_trial": "Vennligst last inn siden på nytt etter at du har startet din gratis prøveperiode.", + "regards": "Takk", + "register": "Registrer", + "register_to_edit_template": "Vennligst registrer deg for å redigere __templateName__ malen", + "registered": "Registrert", + "registering": "Registrerer", + "remove_collaborator": "Fjern samarbeidspartner", + "remove_from_group": "Fjern fra gruppe", + "removed": "fjernet", + "removing": "Fjerning", + "rename": "Gi nytt navn", + "rename_project": "Gi prosjektet nytt navn", + "repository_name": "Repository-navn", + "republish": "Re-publiser", + "request_password_reset": "Be om nytt passord", + "request_sent_thank_you": "Forespørsel sendt. Takk.", + "required": "påkrevd", + "reset_password": "Tilbakestill passord", + "reset_your_password": "Tilbakestill passordet ditt", + "restore": "Gjenopprett", + "restoring": "Gjenoppretter", + "restricted": "Begrenset", + "restricted_no_permission": "Begrenset, beklager, du har ikke tillatelse til å laste denne siden.", + "ro": "Rumensk", + "role": "Stilling", + "ru": "Russisk", + "saving": "Lagrer", + "saving_notification_with_seconds": "Lagrer __docname__... (__seconds__ sekunder med ulagrede endringer)", + "search_bib_files": "Søk etter forfatter, tittel, år", + "search_projects": "Søk prosjekter", + "search_references": "Søk i .bib-filene for dette prosjektet", + "security": "Sikkerhet", + "select_github_repository": "Velg et GitHub-repository å importere til __appName__.", + "send_first_message": "Send din første melding", + "september": "September", + "server_error": "Serverfeil", + "set_new_password": "Sett nytt passord", + "set_password": "Sett passord", + "settings": "Innstillinger", + "share": "Del", + "share_project": "Del prosjekt", + "share_with_your_collabs": "Del med dine samarbeidspartnere", + "shared_with_you": "Delt med deg", + "show_hotkeys": "Vis hurtigtaster", + "somthing_went_wrong_compiling": "Beklager, noe gikk galt og prosjektet ditt kunne ikke bli kompilert. Vennligst prøv igjen om noen få øyeblikk.", + "source": "Kilde", + "spell_check": "Stavekontroll", + "start_free_trial": "Start gratis prøveperiode!", + "state": "Fylke", + "student": "Student", + "subject": "Emne", + "subscribe": "Abonner", + "subscription": "Abonnement", + "subscription_canceled_and_terminate_on_x": " Ditt abonnement har blitt kansellert og vil avsluttes den <0>__terminateDate__. Ingen ytterligere belastninger vil bli foretatt.", + "suggestion": "Forslag", + "sure_you_want_to_change_plan": "Er du sikker på at du vil bytte plan til <0>__planName__?", + "sure_you_want_to_leave_group": "Er du sikker på at du vil forlate denne gruppen?", + "sv": "Svensk", + "sync": "Synk", + "sync_project_to_github_explanation": "Alle endringer du har gjort i __appName__ vil bli commited og merged med eventuelle oppdateringer i GitHub.", + "sync_to_dropbox": "Synkroniser til Dropbox", + "sync_to_github": "Synkroniser til GitHub", + "take_me_home": "Ta meg hjem!", + "template_description": "Mal Beskrivelse", + "templates": "Maler", + "terms": "Betingelser", + "thank_you": "Takk", + "thanks": "Takk", + "thanks_for_subscribing": "Takk for at du abonnerer!", + "thanks_for_subscribing_you_help_sl": "Takk for at du abonnerer til __planName__ planen. Støtte fra personer som deg gjør at __appName__ kan fortsette å vokse og forbedres.", + "thanks_settings_updated": "Takk, endringene dine har blitt lagret.", + "theme": "Tema", + "thesis": "Avhandling", + "this_project_is_public": "Dette prosjektet er offentlig og kan redigeres av alle med riktig URL.", + "this_project_is_public_read_only": "Dette prosjektet er offentlig og kan bli vist, men ikke redigert, av alle med URLen.", + "this_project_will_appear_in_your_dropbox_folder_at": "Dette prosjektet vil bli plassert i din Dropbox-mappe på ", + "three_free_collab": "Tre gratis samarbeidspartnere", + "timedout": "Tok for lang tid", + "title": "Tittel", + "to_many_login_requests_2_mins": "Denne kontoen har hatt for mange innloggingsforsøk. Vennligst vent 2 minutter før du prøver å logge inn igjen", + "to_modify_your_subscription_go_to": "For å endre abonnementet ditt gå til", + "too_many_files_uploaded_throttled_short_period": "For mange filer lastet opp, dine opplastninger har blitt begrenset i en kort periode.", + "too_recently_compiled": "Dette prosjektet ble kompilert veldig nylig, så kompilasjonen har blitt hopper over.", + "total_words": "Totalt antall ord", + "tr": "Tyrkisk", + "try_now": "Prøv nå", + "uk": "Ukrainsk", + "university": "Universitet", + "unlimited_collabs": "Ubegrenset antall samarbeidspartnere", + "unlimited_projects": "Ubegrenset antall prosjekter", + "unlink": "Koble fra", + "unlink_github_warning": "Eventuelle prosjekter du har synkronisert med GitHub vil bli koblet fra og vil ikke lenger bli holdt synkronisert med GitHub. Er du sikker på at du vil koble fra GitHub-kontoen din?", + "unpublish": "Trekk tilbake", + "unpublishing": "Avpubliserer", + "unsubscribe": "Avslutt abonnement", + "unsubscribed": "Abonnement avsluttet", + "unsubscribing": "Avslutter abonnement", + "update": "Oppdater", + "update_account_info": "Oppdater kontoinformasjon", + "update_dropbox_settings": "Oppdater Dropbox-innstillinger", + "update_your_billing_details": "Oppdater dine faktureringsdetaljer", + "updating_site": "Oppdaterer side", + "upgrade": "Oppgrader", + "upgrade_now": "Oppgrader Nå", + "upgrade_to_get_feature": "Oppgrader for å få __feature__, pluss:", + "upload": "Last opp", + "upload_project": "Last opp prosjekt", + "upload_zipped_project": "Last opp zippet prosjekt", + "user_wants_you_to_see_project": "__username__ ønsker at du skal se __projectname__", + "vat_number": "Org. nummer", + "view_all": "Vis alle", + "view_in_template_gallery": "Se i malgalleri", + "welcome_to_sl": "Velkommen til __appName__", + "word_count": "Ordtelling", + "year": "år", + "you_have_added_x_of_group_size_y": "Du har lagt til <0>__addedUsersSize__ av <1>__groupSize__ tilgjengelige deltagere", + "your_plan": "Din plan", + "your_projects": "Dine prosjekter", + "your_subscription": "Ditt abonnement", + "your_subscription_has_expired": "Dit abonnement har utgått.", + "zh-CN": "Kinesisk" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pl.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pl.json new file mode 100644 index 0000000..e5007ea --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pl.json @@ -0,0 +1,234 @@ +{ + "about_to_delete_projects": "Zaraz usuniesz następujące projekty:", + "account": "Konto", + "account_not_linked_to_dropbox": "Twoje konto nie jest powiązane z Dropboxem", + "account_settings": "Ustawienia konta", + "actions": "Akcje", + "add": "Dodaj", + "add_more_members": "Dodaj członków", + "all_projects": "Wszystkie projekty", + "already_have_sl_account": "Czy masz już konto __appName__?", + "and": "i", + "annual": "Rocznie", + "anonymous": "Anonimowy", + "auto_complete": "automatyczne dopełnianie", + "back_to_your_projects": "Wróć do swoich projektów", + "beta": "Beta", + "bibliographies": "Bibliografie", + "blank_project": "Pusty projekt", + "blog": "Blog", + "built_in": "Wbudowana", + "can_edit": "Może edytować", + "cancel": "Anuluj", + "cant_find_email": "Przykro nam, ale ten adres email nie jest zarejestrowany.", + "cant_find_page": "Przykro nam, ale nie możemy znaleźć strony której szukasz.", + "change": "Zmień", + "change_password": "Zmień hasło", + "chat": "Czat", + "checking_dropbox_status": "sprawdzanie statusu Dropboxa", + "choose_your_plan": "Wybierz swój plan", + "clear_cached_files": "Wyczyść pliki z cache", + "clearing": "Czyszczenie", + "click_here_to_view_sl_in_lng": "Kliknij tutaj, żeby używać __appName__ w <0>__lngName__m", + "collaborator": "Współpracownik", + "collabs_per_proj": "__collabcount__ współpracowników na projekt", + "comment": "Skomentuj", + "common": "Wspólne", + "compiler": "Kompilator", + "compiling": "Kompilowanie", + "complete": "Zakończono", + "confirm_new_password": "Potwierdź nowe hasło", + "connecting": "Łączenie", + "contact": "Kontakt", + "contact_us": "Skontaktuj się z nami", + "copy": "Kopiuj", + "copy_project": "Kopiuj projekt", + "copying": "kopiowanie", + "create": "Utwórz", + "creating": "Tworzenie", + "cs": "Czeski", + "current_password": "Aktualne hasło", + "da": "Duński", + "de": "Niemiecki", + "delete": "Usuń", + "delete_account": "Usuń konto", + "delete_your_account": "Usuń konto", + "deleting": "Usuwanie", + "disconnected": "Rozłączony", + "documentation": "Dokumentacja", + "doesnt_match": "Nie zgadza się", + "done": "Zrobione", + "download": "Ściągnij", + "download_pdf": "Ściągnij PDF", + "download_zip_file": "Ściągnij plik .zip", + "dropbox_sync": "Synchronizacja z Dropbox", + "editing": "Edytowanie", + "email": "Email", + "en": "Angielski", + "error": "Błąd", + "es": "Hiszpański", + "example_project": "Przykładowy projekt", + "first_name": "Imię", + "folders": "Foldery", + "font_size": "Rozmiar czcionki", + "forgot_your_password": "Zapomniałeś hasła?", + "fr": "Francuski", + "free": "Darmowy", + "free_dropbox_and_history": "Darmowy Dropbox i historia", + "full_doc_history": "Pełna historia dokumentu", + "generic_something_went_wrong": "Przepraszamy, coś poszło nie tak :(", + "github_sync_error": "Przepraszamy, ale wystąpił błąd komunikacji z naszym kontem GitHub. Proszę spróbuj ponownie za parę chwil.", + "help": "Pomoc", + "hotkeys": "Skróty klawiszowe", + "indvidual_plans": "Plany indywidualne", + "info": "Informacje", + "institution": "Instytucja", + "it": "Włoski", + "join_sl_to_view_project": "Dołącz do __appName__, aby zobaczyć ten projekt", + "language": "Język", + "last_modified": "Ostatnio modyfikowany", + "last_name": "Nazwisko", + "latex_templates": "Szablony LaTeX", + "learn_more": "Dowiedz się więcej", + "loading": "Ładowanie", + "log_in": "Zaloguj się", + "log_out": "Wyloguj się", + "logging_in": "Logowanie", + "login": "Login", + "login_here": "Zaloguj się tutaj", + "logs_and_output_files": "Logi i pliki wynikowe", + "lost_connection": "Utracono połączenie", + "main_document": "Główny plik", + "make_private": "Ustaw projekt jako prywatny", + "menu": "Menu", + "month": "miesiąc", + "monthly": "Miesięcznie", + "more": "więcej", + "must_be_email_address": "Musi być adresem email", + "name": "Nazwa", + "native": "natywna", + "navigation": "Nawigacja", + "need_to_leave": "Musisz nas opuścić?", + "new_file": "Nowy plik", + "new_folder": "Nowy folder", + "new_name": "Nowa nazwa", + "new_password": "Nowe hasło", + "new_project": "Nowy projekt", + "nl": "Duński", + "no": "Norweski", + "no_members": "Brak członków", + "no_messages": "Brak wiadomości", + "no_planned_maintenance": "Nie ma obecnie żadnych zaplanowanych konserwacji", + "no_preview_available": "Przepraszamy, pogląd jest niedostępny.", + "no_projects": "Brak projektów", + "off": "Wyłączone", + "ok": "OK", + "one_collaborator": "Tylko jeden współpracownik", + "one_free_collab": "Jeden darmowy współpracownik", + "or": "lub", + "other_logs_and_files": "Inne logi i pliki", + "owner": "Właściciel", + "page_not_found": "Strona nie znaleziona", + "password": "Hasło", + "password_reset": "Resetowanie hasła", + "password_reset_email_sent": "Wysłaliśmy do Ciebie emaila, żeby dokończyć proces resetowania hasła", + "pdf_viewer": "Przeglądarka PDF", + "personal": "Osobiste", + "pl": "Polski", + "planned_maintenance": "Planowana konserwacja", + "plans_and_pricing": "Plany i cennik", + "please_enter_email": "Wpisz swój adres email", + "please_refresh": "Proszę odśwież stronę aby kontynuować.", + "position": "Stanowisko", + "presentation": "Prezentacja", + "price": "Cena", + "privacy": "Prywatność", + "privacy_policy": "Polityka prywatności", + "private": "Prywatny", + "processing": "przetwarzanie", + "professional": "Profesjonalne", + "project_last_published_at": "Twój projekt był ostatnio publikowany dnia", + "project_name": "Nazwa projektu", + "projects": "Projekty", + "pt": "Portugalski", + "public": "Publiczny", + "publish": "Publikuj", + "publish_as_template": "Publikuj jako szablon", + "read_only": "tylko odczyt", + "recompile": "Przekompiluj", + "reconnecting": "Ponowne łączenie", + "reconnecting_in_x_secs": "Próba połączenia za __seconds__ s", + "refresh_page_after_starting_free_trial": "Odśwież tę stronę po rozpoczęciu darmowego trialu", + "regards": "Dziękujemy", + "register": "Zarejestruj się", + "register_to_edit_template": "Zarejestruj się, żeby edytować szablon __templateName__", + "registered": "Zarejestrowany", + "registering": "Rejestracja", + "remove_from_group": "Usuń z grupy", + "rename": "Zmień nazwę", + "rename_project": "Zmień nazwę projektu", + "request_password_reset": "Poproś o nowe hasło", + "required": "wymagane", + "reset_your_password": "Zresetuj swoje hasło", + "restore": "Przywróć", + "restoring": "Przywracanie", + "restricted_no_permission": "Wstęp wzbroniony - nie masz uprawnień, aby załadować tę stronę.", + "ro": "Rumuński", + "role": "Rola", + "ru": "Rosyjski", + "saving": "Zapisywanie", + "saving_notification_with_seconds": "Zapisywanie pliku __docname__... (__seconds__ sekund niezapisanych zmian)", + "search_projects": "Przeszukaj projekty", + "security": "Bezpieczeństwo", + "send_first_message": "Wyślij pierwszą wiadomość", + "server_error": "Błąd serwera", + "set_new_password": "Ustaw nowe hasło", + "settings": "Ustawienia", + "share": "Udostępnij", + "share_project": "Udostępnij projekt", + "share_with_your_collabs": "Udostępnij swoim współpracownikom", + "shared_with_you": "Udostępnione dla Ciebie", + "show_hotkeys": "Pokaż skróty klawiszowe", + "somthing_went_wrong_compiling": "Przepraszamy, coś poszło nie tak i twój projekt nie mógł zostać skompilowany. Spróbuj ponownie za kilka chwil.", + "source": "Pliki źródłowe", + "spell_check": "Sprawdzanie pisowni", + "start_free_trial": "Rozpocznij darmowy okres próbny!", + "student": "Student", + "sv": "Szwedzki", + "sync": "Synchronizacja", + "sync_to_dropbox": "Synchronizuj z Dropbox", + "take_me_home": "Zabierz mnie do domu!", + "template_description": "Opis szablony", + "templates": "Szablony", + "terms": "Warunki", + "thanks": "Dziękuję", + "thanks_settings_updated": "Dziękuję, twoje ustawienia zostały zaktualizowane.", + "theme": "Skórka", + "thesis": "Praca dyplomowa", + "this_project_is_public": "Ten projekt jest publiczny i może być edytowany przez każdego kto posiada link.", + "timedout": "Koniec limitu czasu", + "title": "Tytuł", + "try_now": "Spróbuj teraz", + "uk": "Ukraiński", + "university": "Uniwersytet", + "unlimited_collabs": "Bez limitu współpracowników", + "unlimited_projects": "Nielimitowane projekty", + "unpublish": "Zaprzestaj publikację", + "unsubscribe": "Wypisz", + "unsubscribed": "Wypisano", + "unsubscribing": "Wypisywanie", + "update": "Zakutalizuj", + "update_account_info": "Zaktualizuj informacje o koncie", + "update_dropbox_settings": "Zaktualizuj ustawienia Dropbox", + "upload": "Wyślij plik", + "upload_project": "Wyślij projekt", + "upload_zipped_project": "Wyślij projekt w pliku ZIP", + "user_wants_you_to_see_project": "__username__ chce, żebyś zobaczył __projectname__", + "view_all": "Zobacz wszystko", + "view_in_template_gallery": "Zobacz w galerii szablonów", + "welcome_to_sl": "Witaj w __appName__", + "year": "rok", + "your_plan": "Twój plan", + "your_projects": "Twoje projekty", + "your_subscription": "Twoja subskrypcja" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pt.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pt.json new file mode 100644 index 0000000..2985c5b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/pt.json @@ -0,0 +1,717 @@ +{ + "About": "Sobre", + "Account": "Conta", + "Account Settings": "Configurações da Conta", + "Documentation": "Documentação", + "Projects": "Projetos", + "Security": "Segurança", + "Subscription": "Inscrição", + "Terms": "Termos", + "Universities": "Universidades", + "about": "Sobre", + "about_to_archive_projects": "Você está prestes a arquivar os seguintes projetos:", + "about_to_delete_projects": "Você está prestes a excluir os seguintes projetos:", + "about_to_leave_projects": "Você está prestes à deixar de seguir os projetos:", + "accept": "Aceitar", + "accept_all": "Aceitar todos", + "accept_invitation": "Aceitar convite", + "accept_or_reject_each_changes_individually": "Aceitar ou rejeitar cada alteração individualmente", + "accepted_invite": "Convite aceito", + "accepting_invite_as": "Você está aceitando esse convite como", + "account": "Conta", + "account_not_linked_to_dropbox": "Sua conta não está vinculada ao Dropbox", + "account_settings": "Configurações da Conta", + "actions": "Ações", + "activate": "Ativar", + "activate_account": "Ative sua conta", + "activating": "Ativando", + "activation_token_expired": "Seu token de ativação expirou, você precisa que outro seja enviado para você.", + "add": "Adicionar", + "add_another_email": "Adicionar outro e-mail", + "add_comma_separated_emails_help": "Separa múltiplos endereços de emails utilizando vírgula (,).", + "add_comment": "Adicionar comentário", + "add_more_members": "Adicionar mais membros", + "add_new_email": "Adicionar novo e-mail", + "add_role_and_department": "Adicionar perfil e departamento", + "add_your_comment_here": "Adicione seu comentário aqui", + "add_your_first_group_member_now": "Adicione seu primeiro membro no grupo agora", + "added": "adicionado", + "adding": "Adicionando", + "address": "Endereço", + "admin": "admin", + "admin_user_created_message": "Criar um usuário admin, Entrar aqui para continuar", + "aggregate_changed": "Alterado", + "aggregate_to": "para", + "all_premium_features": "Todos os recursos premium", + "all_projects": "Todos Projetos", + "all_templates": "Todos os Modelos", + "already_have_sl_account": "Já possui uma conta no __appName__?", + "and": "e", + "annual": "Anual", + "anonymous": "Anônimo", + "anyone_with_link_can_edit": "Qualquer um com esse link pode editar esse projeto", + "anyone_with_link_can_view": "Qualquer um com esse link pode ver esse projeto", + "april": "Abril", + "archive": "Arquivar", + "archive_projects": "Projetos Arquivados", + "archived_projects": "Projetos Arquivados", + "are_you_sure": "Você tem certeza?", + "ask_proj_owner_to_upgrade_for_full_history": "Por favor, peça ao dono do projeto para atualizar para acessar o recurso de Histórico Completo.", + "ask_proj_owner_to_upgrade_for_references_search": "Peça ao proprietário do projeto para atualizar para usar o recurso de Pesquisa de Referências.\n", + "august": "Agosto", + "auto_close_brackets": "Fechamento Automático de Delimitadores", + "auto_compile": "Compilar Automaticamente", + "auto_complete": "Auto-completar", + "autocompile_disabled": "Autocompilação desativada", + "autocompile_disabled_reason": "Devido à alta carga do servidor, a recompilação de fundo foi desativada temporariamente. Recompile clicando no botão acima.", + "autocomplete": "Autocompletar", + "autocomplete_references": "Referência Autocompletar (dentro do bloco \\cite{})", + "back_to_editor": "Voltar ao editor", + "back_to_your_projects": "Voltar ao seus projetos", + "beta": "Beta", + "beta_program_already_participating": "Você está inscrito no Programa Beta.", + "beta_program_badge_description": "Enquanto usa o __appName__, você verá os recursos beta marcados com este emblema:", + "beta_program_benefits": "Nós estamos sempre melhorando o __appName__. Ingressando em nosso Programa Beta você pode ter acesso aos novos recursos e nos ajudar a entender melhor suas necessidades.", + "beta_program_opt_in_action": "Cadastrar no Programa Beta", + "beta_program_opt_out_action": "Descadastrar do Programa Beta", + "bibliographies": "Bibliografia", + "blank_project": "Projeto Em Branco", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de 50% aos planos premium nesta página para nossos usuários no Brasil. Confira os novos preços mais baixos.", + "built_in": "Embutido", + "bulk_accept_confirm": "Vocês tem certeza que deseja aceitar as __nChanges__ alterações selecionadas?", + "bulk_reject_confirm": "Vocês tem certeza que deseja rejeitar as __nChanges__ alterações selecionadas?", + "by": "por", + "can_edit": "Pode Editar", + "cancel": "Cancelar", + "cancel_my_account": "Cancelar minha inscrição", + "cancel_personal_subscription_first": "Você já tem uma inscrição pessoal, você gostaria que cancelássemos a primeira antes de se juntar à licença de grupo?", + "cancel_your_subscription": "Parar Sua Inscrição", + "cannot_invite_non_user": "Não foi possível enviar o convite. O destinatário deve ter uma conta no __appName__", + "cannot_invite_self": "Não pode enviar convite para você mesmo", + "cannot_verify_user_not_robot": "Desculpe, não conseguimos verificar se você não é um robô. Por favor, verifique se o Google reCAPTCHA não está sendo bloqueado por algum firewall ou bloqueador de anúncios.", + "cant_find_email": "Esse email não está registrado, desculpe.", + "cant_find_page": "Desculpe, não conseguimos achar a página que você está procurando.", + "change": "Modificado", + "change_password": "Mudar Senha", + "change_plan": "Mudar plano", + "change_to_this_plan": "Alterar para esse plano", + "chat": "Bate-papo", + "checking": "Verificando", + "checking_dropbox_status": "verificando estado do Dropbox", + "checking_project_github_status": "Verificando estado do projeto no GitHub", + "choose_your_plan": "Escolha seu plano", + "city": "Cidade", + "clear_cached_files": "Limpar arquivos em cache", + "clear_search": "limpar pesquisa", + "clear_sessions": "Limpar Sessões", + "clear_sessions_description": "Essa é a lista de outras sessões (logins) que estão ativas na sua conta, sem incluir sua sessão corrente. Clique no botão \"Limpar Sessões\" para desconectar elas.", + "clear_sessions_success": "Sessões Limpas", + "clearing": "Limpando", + "click_here_to_view_sl_in_lng": "Clique aqui e veja a página __appName__ em <0>__lngName__", + "clone_with_git": "Clonar com o Git", + "close": "Fechar", + "clsi_maintenance": "O servidor de compilação está fora do ar para manutenção, logo estará de volta.", + "cn": "Chinês (Simplificado)", + "code_check_failed": "Verificação do código falhou", + "code_check_failed_explanation": "Seu código contém erros que precisam ser corrigidos antes de rodar a auto-compilação", + "collaboration": "Colaboração", + "collaborator": "Colaborador", + "collabs_per_proj": "__collabcount__ colaboradores por projeto", + "comment": "Comentário", + "commit": "Commitar", + "common": "Comum", + "compact": "Compacto", + "compile_larger_projects": "Compile projetos maiores", + "compile_mode": "Modo de Compilação", + "compile_terminated_by_user": "O compilador foi cancelado usando o botão \"Parar Compilação\". Você pode olhar os logs e ver onde a compilação parou.", + "compiler": "Compilador", + "compiling": "Compilando", + "complete": "Completo", + "confirm": "Confirmar", + "confirm_email": "Confirme o Email", + "confirm_new_password": "Confirmar Nova Senha", + "conflicting_paths_found": "Conflito de Caminhos Encontrado", + "connected_users": "Usuários Conectados", + "connecting": "Conectando", + "contact": "Contato", + "contact_message_label": "Mensagem", + "contact_us": "Entre em Contato", + "continue_github_merge": "Mesclei manualmente. Continuar", + "copy": "Copiar", + "copy_project": "Copiar Projeto", + "copying": "Copiando", + "country": "País", + "coupon_code": "Código de cupom", + "create": "Criar", + "create_first_admin_account": "Criar o primeira conta de Administrador", + "create_new_subscription": "Crie Nova Inscrição", + "create_project_in_github": "Criar um repositório no GitHub", + "creating": "Criando", + "credit_card": "Cartão de Crédito", + "cs": "Tcheco", + "current_file": "Arquivo atual", + "current_password": "Senha Atual", + "currently_seeing_only_24_hrs_history": "Você está vendo as alterações das últimas 24 horas neste projeto.", + "currently_subscribed_to_plan": "Você está atualmente inscrito no plano <0>__planName__", + "da": "Dinamarquês", + "de": "Alemão", + "december": "Dezembro", + "default": "Padrão", + "delete": "Excluir", + "delete_account": "Excluir Conta", + "delete_account_warning_message_3": "Você está prestes a excluir todos os dados de sua conta permanentemente, incluindo seus projetos e configurações. Digite o endereço de e-mail e sua senha da conta nas caixas abaixo para continuar.", + "delete_and_leave_projects": "Deletar e Deixar Projetos", + "delete_projects": "Deletar Projetos", + "delete_your_account": "Exclua sua conta", + "deleting": "Excluindo", + "description": "Descrição", + "disconnected": "Desconectado", + "documentation": "Documentação", + "doesnt_match": "Não corresponde", + "done": "Pronto", + "dont_have_account": "Não tem uma conta?", + "download": "Baixar", + "download_pdf": "Baixar PDF", + "download_zip_file": "Baixar arquivo .zip", + "drag_here": "arraste aqui", + "drop_files_here_to_upload": "Largar arquivos aqui para enviar", + "dropbox_for_link_share_projs": "Este projeto foi acessado via compartilhamento de links e não será sincronizado com o seu Dropbox, a menos que você seja convidado por e-mail pelo proprietário do projeto", + "dropbox_integration_info": "Trabalhe online ou offline perfeitamente com a sincronia do Dropbox. As suas alterações locais serão enviadas automaticamente para a sua versão do HajTeX e vice-e-versa.", + "dropbox_integration_lowercase": "Integração com Dropbox", + "dropbox_sync": "Sincronização Dropbox", + "dropbox_sync_description": "Mantenha seus projetos __appName__ sincronizados com o Dropbox. Mudanças no __appName__ serão enviadas automaticamente para o Dropbox, e o inverso também.", + "dropbox_sync_error": "Erro de sincronização do Dropbox", + "edit": "Editar", + "editing": "Editando", + "editor_disconected_click_to_reconnect": "Editor desconectado, clique em qualquer lugar para reconectar.", + "editor_theme": "Tema do editor", + "email": "Email", + "email_already_registered": "Este email já está registrado", + "email_link_expired": "Link do email expirou, por favor, solicite um link novo.", + "email_or_password_wrong_try_again": "Seu email ou senha estão incorretos. Tente novamente.", + "email_required": "Email obrigatório", + "email_sent": "Email Enviado", + "emails": "E-mails", + "emails_and_affiliations_explanation": "Adicionar outros e-mails à sua conta para acessar qualquer melhoria que a sua universidade ou instituição tem, para facilitar para colaboradores encontrarem vocês e para ter certeza que você consiga recuperar a sua conta.", + "emails_and_affiliations_title": "E-mails e Afiliações", + "en": "Inglês", + "error": "Erro", + "error_performing_request": "Um erro ocorreu enquanto sua solicitação era processada.", + "es": "Espanhol", + "every": "por", + "example_project": "Projeto Exemplo", + "expiry": "Data de Validade", + "export_csv": "Exportar CSV", + "export_project_to_github": "Exportar Projeto para o GitHub", + "faq_how_does_free_trial_works_answer": "Você obtém acesso total ao plano __appName__ escolhido durante a avaliação gratuita de __len__ dias. Não há obrigação de continuar além da versão de avaliação. Seu cartão será cobrado no final da avaliação de __len__ dias, a menos que você cancele antes disso. Você pode cancelar via suas configurações de assinatura.", + "faq_how_free_trial_works_question": "Como foi o uso da versão de experimentação?", + "faq_pay_by_invoice_question": "Eu posso pagar com boleto ou ordem de pedido?", + "fast": "Rápido", + "featured_latex_templates": "Templates LaTeX Destacados", + "features": "Recursos", + "february": "Fevereiro", + "file_action_created": "Criado", + "file_action_deleted": "Deletado", + "file_action_edited": "Editado", + "file_action_renamed": "Renomeado", + "file_already_exists": "Já existe um arquivo ou pasta com esse nome", + "files_cannot_include_invalid_characters": "Arquivos não podem ter os caracteres ’*’ ou ’/’", + "find_out_more": "Descubra Mais", + "first_name": "Primeiro Nome", + "folders": "Pastas", + "following_paths_conflict": "Os arquivos e diretórios a seguir conflitam com o mesmo caminho", + "font_family": "Família da Fonte", + "font_size": "Tamanho da Fonte", + "forgot_your_password": "Esqueceu sua senha", + "fr": "Francês", + "free": "Grátis", + "free_dropbox_and_history": "Dropbox e Histórico Grátis", + "full_doc_history": "Histórico de todo o documento", + "generic_something_went_wrong": "Desculpe, algo saiu errado", + "get_discounted_plan": "Obtenha um plano com desconto", + "get_in_touch": "Entre em contato", + "git": "Git", + "github_commit_message_placeholder": "Mensagem de commit para as alterações feitas no __appName__...", + "github_credentials_expired": "Suas credenciais de autorização do GitHub expiraram", + "github_integration_lowercase": "Integração com GitHub", + "github_is_premium": "Sincronizar com GitHub é um recurso premium", + "github_public_description": "Qualquer um pode ver esse repositório.", + "github_successfully_linked_description": "Obrigado, nós vinculamos com sucesso sua conta do GitHub com o __appName__. Agora você pode exportar seus projetos do __appName__ para o GitHub e importar seus projetos de repositórios do GitHub.", + "github_sync": "Sincronizar com GitHub", + "github_sync_description": "Com a Sincronização GitHub você pode vincular seus projetos __appName__ com os repositórios do GitHub. Crie novos commits no __appName__ e mescle com commits feitos fora ou no GitHub.", + "github_sync_error": "Desculpe, houve um erro ao se comunicar com nosso serviço do GitHub. Por favor, tente novamente mais tarde.", + "github_validation_check": "Por favor, verifique se o nome do projeto é válido e que você tem permissão para criar o repositório.", + "global": "global", + "go_to_code_location_in_pdf": "Vá para a localização do código no PDF", + "go_to_pdf_location_in_code": "Ir para a localização do PDF no código", + "group_admin": "Administrador do Grupo", + "group_plans": "Planos de Grupos", + "groups": "Grupos", + "have_more_days_to_try": "Ganhe mais __days__ dias na sua Experimentação!", + "headers": "Cabeçalhos", + "help": "Ajuda", + "help_articles_matching": "Artigos de ajuda que correspondem ao seu assunto", + "history": "Histórico", + "history_add_label": "Adicionar etiqueta", + "history_adding_label": "Adicionando marcador", + "history_are_you_sure_delete_label": "Tem certeza de que deseja excluir o seguinte marcador", + "history_delete_label": "Excluir marcador", + "history_deleting_label": "Excluindo marcador", + "history_label_created_by": "Criado por", + "history_label_project_current_state": "Estado atual", + "history_label_this_version": "Etiquetar esta versão", + "history_new_label_name": "Novo nome do marcador", + "history_view_a11y_description": "Mostrar todo o histórico do projeto ou apenas versões com marcadores.", + "history_view_all": "Todo o histórico", + "history_view_labels": "Marcadores", + "hit_enter_to_reply": "Pressione Enter para responder", + "hotkeys": "Atalhos", + "hundreds_templates_info": "Faça documentos lindos começando com modelos LaTeX da nossa galeria: revistas, conferências, teses, relatórios, currículos e muito mais.", + "i_want_to_stay": "Quero ficar", + "ignore_validation_errors": "Não verificar sintaxe", + "ill_take_it": "Eu fico com isso!", + "import_from_github": "Importar do GitHub", + "import_to_sharelatex": "Importar para o __appName__", + "importing": "Importando", + "importing_and_merging_changes_in_github": "Importar e mesclar mudanças no GitHub", + "in_good_company": "Você esta em Boa Companhia", + "indvidual_plans": "Planos individuais", + "info": "Info", + "institution": "Instituição", + "institution_account": "Conta Institucional", + "institution_and_role": "Instituição e papel", + "invalid_email": "Algum email está inválido", + "invalid_file_name": "Nome de Arquivo Inválido", + "invalid_password": "Senha inválida", + "invite_not_accepted": "Convite ainda não aceito", + "invite_not_valid": "Esse não é um convite válido do projeto", + "invite_not_valid_description": "Talvez o convite tenha expirado. Por favor, entre em contato com o dono do projeto.", + "invited_to_group": "<0>__inviterName__ lhe convidou para entrar no time no __appName__", + "ip_address": "Endereço de IP", + "is_email_affiliated": "O seu e-mail está afiliado a uma instituição? ", + "it": "Italiano", + "ja": "Japonês", + "january": "Janeiro", + "join_project": "Entrar no Projeto", + "join_sl_to_view_project": "Entre no __appName__ para ver esse projeto", + "join_team_explanation": "Por favor, clique no botão abaixo para entrar no time e aproveitar os benefícios de uma conta paga no __appName__.", + "joined_team": "Você entrou no time gerenciado por __inviterName__", + "joining": "Participando", + "july": "Julho", + "june": "Junho", + "kb_suggestions_enquiry": "Você já viu nossa <0>__kbLink__?", + "keybindings": "Atalhos", + "knowledge_base": "base de conhecimento", + "ko": "Coreano", + "language": "Idioma", + "last_modified": "Última Modificação", + "last_name": "Sobrenome", + "latam_discount_modal_info": "Obtenha todo o potencial do HajTeX com desconto de __discount__% em assinaturas premium pagas em __currencyName__. Obtenha um tempo limite de compilação mais longo, histórico completo de documentos, controle de alterações, colaboradores adicionais e muito mais.", + "latam_discount_modal_title": "Desconto em assinaturas premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de __discount__ aos planos premium nesta página para nossos usuários no __country__. Confira os novos preços mais baixos (em __currency__).", + "latex_templates": "Modelos LaTeX", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Escolha um endereço de e-mail para a primeira conta de administrador do __appName__. Isso deve corresponder a uma conta no sistema LDAP. Você será solicitado a fazer login com esta conta.", + "learn_more": "Aprenda mais", + "learn_more_about_link_sharing": "Saiba mais sobre Compartilhamento de Link", + "leave": "Sair", + "leave_group": "Sair do grupo", + "leave_now": "Sair agora", + "leave_projects": "Deixar Projetos", + "let_us_know": "Conte para nós", + "line_height": "Altura da Linha", + "link_sharing": "Compartilhamento de link", + "link_sharing_is_off": "Compartilhamento de Link está desligado, somente usuários convidados podem ver esse projeto.", + "link_sharing_is_on": "Compartilhamento de Link está ligado", + "link_to_github": "Vincule à sua conta do GitHub", + "link_to_github_description": "Você precisa autorizar o __appName__ para acessar sua conta no GitHub para permitir a sincronização dos projetos.", + "link_to_mendeley": "Vincular ao Mendeley", + "link_to_zotero": "Vincular ao Zotero", + "linked_accounts": "contas ligadas", + "links": "Links", + "loading": "Carregando", + "loading_github_repositories": "Carregando seu repositório do GitHub", + "loading_recent_github_commits": "Carregando commits recentes", + "log_hint_extra_info": "Saiba mais", + "log_in": "Entrar", + "log_in_with": "Entrar com __provider__", + "log_out": "Sair", + "logging_in": "Entrando", + "login": "Entrar", + "login_failed": "Login falhou", + "login_here": "Entre aqui", + "login_or_password_wrong_try_again": "Seu usário ou senha estão incorretos. Tente novamente.", + "login_register_or": "ou", + "login_to_overleaf": "Faça o login no HajTeX", + "login_with_service": "Logar com __service__", + "logs_and_output_files": "Logs e arquivos de saída", + "looking_multiple_licenses": "Procurando por lincenças múltiplas?", + "lost_connection": "Conexão perdida", + "main_document": "Documento principal", + "main_file_not_found": "Arquivo principal desconhecido.", + "maintenance": "Manutenção", + "make_private": "Tornar Privado", + "manage_beta_program_membership": "Gerenciar a participação no Programa Beta", + "manage_sessions": "Administrar suas sessões", + "manage_subscription": "Administrar Inscrição", + "managers_cannot_remove_admin": "Administradores não podem ser removidos", + "managers_cannot_remove_self": "Gerentes não podem remover a si mesmos", + "managers_management": "Gerenciamento de gerentes", + "march": "Março", + "mark_as_resolved": "Marcar como resolvido", + "math_display": "Exibição Matemática", + "math_inline": "Matemática em Linha", + "maximum_files_uploaded_together": "Máximo de __max__ arquivos enviados juntos", + "may": "maio", + "maybe_later": "Talvez mais tarde", + "members_management": "Gerenciamento de membros", + "mendeley": "Mendeley", + "mendeley_integration": "Integração Mendeley", + "mendeley_is_premium": "A integração com Mendeley é um recurso premium", + "mendeley_reference_loading_error": "Erro, não foi possível carregar as referências do Mendeley", + "mendeley_reference_loading_error_expired": "O token do Mendeley expirou, por favor, revincule sua conta", + "mendeley_reference_loading_error_forbidden": "Não foi possível carregar as referências do Mendeley, por favor, revincule sua conta e tente novamente", + "mendeley_sync_description": "A integração com Mendeley permite importar suas referências do mendeley para seus projetos no __appName__", + "menu": "Menu", + "merge": "Mesclar", + "merging": "Mesclando", + "month": "mês", + "monthly": "Mensalmente", + "more": "Mais", + "must_be_email_address": "Deve ser um endereço de email", + "name": "Nome", + "native": "Nativo", + "navigation": "Navegação", + "nearly_activated": "Você está a um passo de ativar sua conta no __appName__!", + "need_anything_contact_us_at": "Se houver qualquer coisa que você precisar, sinta-se à vontade para entrar em contato conosco por", + "need_to_leave": "Precisa sair?", + "need_to_upgrade_for_more_collabs": "Você precisa aprimorar sua conta para adicionar mais colaboradores.", + "new_file": "Novo arquivo", + "new_folder": "Nova pasta", + "new_name": "Novo Nome", + "new_password": "Nova Senha", + "new_project": "Novo Projeto", + "next_payment_of_x_collectected_on_y": "O próximo pagamento de <0>__paymentAmmount__ será coletado em <1>__collectionDate__", + "nl": "Holandês", + "no": "Noroeguês", + "no_comments": "Sem comentários", + "no_featured_templates": "Sem templates destacados", + "no_members": "Sem membros", + "no_messages": "Sem mensagens", + "no_new_commits_in_github": "Nenhum novo commit no GitHub desde a última mesclagem.", + "no_other_sessions": "Nenhuma outra sessão ativa.", + "no_planned_maintenance": "Não há nenhuma manutenção planejada", + "no_preview_available": "Desculpe, não há pré-visualização disponível.", + "no_projects": "Sem projetos", + "no_resolved_threads": "Não existem comentários resolvidos.", + "no_search_results": "Sem resultados", + "no_thanks_cancel_now": "Não, obrigado - Ainda quero Cancelar Agora", + "normal": "Normal", + "not_found_error_from_the_supplied_url": "O link para abrir este conteúdo no HajTeX apontou para um arquivo que não foi encontrado. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "not_now": "Não agora", + "not_registered": "Não registrado", + "notification_project_invite": "__userName__ você gostaria de entrar em __projectName__ Entrar no Projeto", + "november": "Novembro", + "number_collab": "Número de colaboradores", + "october": "Outubro", + "off": "Desligar", + "ok": "OK", + "on": "Ligado", + "one_collaborator": "Um colaborador apenas", + "one_free_collab": "Um colaborador grátis", + "online_latex_editor": "Editor LaTeX Online", + "open_a_file_on_the_left": "Abra em arquivo à esquerda", + "open_project": "Abrir Projeto", + "optional": "Opcional", + "or": "ou", + "other_actions": "Outras Ações", + "other_logs_and_files": "Outros Logs & Arquivos", + "over": "mais de", + "overall_theme": "Tema Geral", + "overview": "Visão geral", + "owner": "Dono", + "page_not_found": "Página Não Encontrada", + "password": "Senha", + "password_change_passwords_do_not_match": "Senhas não coincidem", + "password_change_successful": "Senha alterada", + "password_reset": "Reiniciar Senha", + "password_reset_email_sent": "Você receberá um email para terminar de reiniciar sua senha.", + "password_reset_token_expired": "Sua ficha de reinicialização de senha expirou.Por favor, solicite um novo email de reinicialização de senha e clique no link contido nele.", + "pdf_compile_in_progress_error": "Compilador já está executando em outra janela", + "pdf_compile_rate_limit_hit": "Limite de taxa de compilação atingido", + "pdf_compile_try_again": "Aguarde até que sua outra compilação termine antes de tentar novamente.", + "pdf_rendering_error": "Erro ao renderizar PDF", + "pdf_viewer": "Visualizador PDF", + "pending": "Pendente", + "personal": "Pessoal", + "pl": "Polonês", + "planned_maintenance": "Manutenção Planejada", + "plans_amper_pricing": "Planos & Preços", + "plans_and_pricing": "Planos e Preços", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Solicite ao proprietário do projeto que atualize para utilizar o controle de alterações", + "please_check_your_inbox": "Por favor, verifique sua caixa de entrada", + "please_compile_pdf_before_download": "Por favor, compile seu projeto antes de baixar o PDF", + "please_compile_pdf_before_word_count": "Por favor, compile seu projeto antes de executar a contagem de palavras", + "please_confirm_email": "Por favor, confirme seu e-mail __emailAddress__ clicando no link no e-mail de confirmação", + "please_confirm_your_email_before_making_it_default": "Por favor, confirme o seu email antes de tornar ele padrão.", + "please_enter_email": "Por favor, insira seu endereço de email", + "please_refresh": "Por favor, atualize a página para continuar.", + "please_set_a_password": "Por favor, insira sua senha", + "please_set_main_file": "Por favor, selecione o arquivo principal para esse projeto no menu do projeto. ", + "position": "Posição", + "presentation": "Apresentação", + "price": "Preço", + "priority_support": "Suporte prioritário", + "privacy": "Privacidade", + "privacy_policy": "Política de Privacidade", + "private": "Privado", + "problem_changing_email_address": "Houve um problema ao alterar seu endereço de email. Por favor, tente novamente em alguns minutos. Se o problema persistir, por favor, entre em contato conosco.", + "problem_talking_to_publishing_service": "Há um problema com nosso serviço de publicação, por favor tente mais tarde", + "problem_with_subscription_contact_us": "Houve um problema na sua inscrição. Por favor, entre em contato conosco para mais informações.", + "processing": "processando", + "professional": "Profissional", + "project_flagged_too_many_compiles": "Este projeto foi marcado por compilar com muita frequência. O limite vai ser restabelecido logo.", + "project_last_published_at": "Seu projeto foi publicado pela última vez em", + "project_name": "Nome do Projeto", + "project_not_linked_to_github": "Esse projeto não está vinculado a um repositório no GitHub. Você pode criar um repositório para ele no GitHub.", + "project_synced_with_git_repo_at": "Esse projeto foi sincronizado com um repositório no GitHub em", + "project_too_large": "Projeto muito grande", + "project_too_large_please_reduce": "Esse projeto tem muitos textos editáveis, por favor tente e reduza. Os maiores arquivos são:", + "project_url": "URL do projeto afetada", + "projects": "Projetos", + "pt": "Português", + "public": "Público", + "publish": "Publicar", + "publish_as_template": "Publicar Modelo", + "publishing": "Publicando", + "pull_github_changes_into_sharelatex": "Puxar mudanças do GitHub no __appName__", + "push_sharelatex_changes_to_github": "Empurrar mudanças do __appName__ no GitHub", + "quoted_text_in": "Texto citado em", + "read_only": "Somente Ler", + "realtime_track_changes": "Acompanhe alterações em tempo real.", + "reauthorize_github_account": "Reautorize sua conta GitHub", + "recent_commits_in_github": "Commits recentes no GitHub", + "recompile": "Recompilar", + "recompile_pdf": "Recompilar o PDF", + "reconnecting": "Reconectando", + "reconnecting_in_x_secs": "Reconectando em __seconds__ segs", + "reduce_costs_group_licenses": "Você pode diminuir seu trabalho e reduzir os custos com nosso desconto para licenças para grupo.", + "reference_error_relink_hint": "Se os problemas persistirem, tente revincular sua conta aqui:", + "reference_search": "Busca avançada de referências", + "reference_sync": "Gerenciador de sincronia de referências", + "refresh_page_after_starting_free_trial": "Por favor atualize essa página depois de iniciar seu teste grátis.", + "regards": "Saudações", + "register": "Registrar", + "register_to_edit_template": "Por favor, registre-se para editar o modelo __templateName__", + "registered": "Registrado", + "registering": "Registrando", + "registration_error": "Erro de Registro", + "reject": "Rejeitar", + "reject_all": "Rejeitar todos", + "remove": "remover", + "remove_collaborator": "Remover colaborador", + "remove_from_group": "Remover do grupo", + "remove_manager": "Remover gerente", + "removed": "removido", + "removing": "Removendo", + "rename": "Renomear", + "rename_project": "Renomear Projeto", + "renaming": "Renomeando", + "reopen": "Reabrir", + "reply": "Responder", + "repository_name": "Nome do Repositório", + "republish": "Replublicar", + "request_password_reset": "Solicitar redefinição de senha", + "request_sent_thank_you": "Requisição Enviada, Obrigado.", + "required": "Obrigatório", + "resend": "Reenviar", + "resend_confirmation_email": "Reenviar e-mail de confirmação", + "resending_confirmation_email": "Reenviando email de confirmação", + "reset_password": "Trocar Senha", + "reset_your_password": "Redefinir sua senha", + "resolve": "Resolver", + "resolved_comments": "Comentários resolvidos", + "restore": "Restaurar", + "restoring": "Restaurando", + "restricted": "Restrito", + "restricted_no_permission": "Restrito, desculpe você não tem permissão para carregar essa página.", + "return_to_login_page": "Retornar à página de Login", + "review": "Revisar", + "review_your_peers_work": "Revisar o trabalho de seus colegas", + "revoke_invite": "Revogar Convite", + "ro": "Romeno", + "role": "Papel", + "ru": "Russo", + "saml": "SAML", + "saml_create_admin_instructions": "Escolha um email para ser a conta de administrador do __appName__. Isso deve corresponder a uma conta no sistema SAML. Você deverá entrar com essa conta.", + "save_or_cancel-cancel": "Cancelar", + "save_or_cancel-or": "ou", + "save_or_cancel-save": "Salvar", + "saving": "Salvando", + "saving_notification_with_seconds": "Salvando __docname__... (__seconds__ segundos de alterações não salvas)", + "search_bib_files": "Busque por autor, título ou ano", + "search_projects": "Buscar projetos", + "search_references": "Buscar os arquivos .bib no projeto", + "security": "Segurança", + "see_changes_in_your_documents_live": "Ver alterações nos seus documentos, ao vivo", + "select_all_projects": "Selecionar todos", + "select_github_repository": "Selecione um repositório no GitHub para importar para o __appName__.", + "send": "Enviar", + "send_first_message": "Envie sua primeira mensagem", + "send_test_email": "Enviar email de teste", + "sending": "Enviando", + "september": "Setembro", + "server_error": "Erro no Servidor", + "services": "Serviços", + "session_created_at": "Sessão Criada Em", + "session_expired_redirecting_to_login": "Sessão Expirada. Redirecionando para a página de login em __seconds__ segundos", + "sessions": "Sessões", + "set_new_password": "Adicionar nova senha", + "set_password": "Inserir Senha", + "settings": "Configurações", + "share": "Compartilhar", + "share_project": "Compartilhar Projeto", + "share_with_your_collabs": "Compartilhar com os colaboradores", + "shared_with_you": "Compartilhado com você", + "sharelatex_beta_program": "Programa Beta __appName__", + "show_all": "mostrar tudo", + "show_hotkeys": "Mostrar Atalhos", + "show_less": "mostrar menos", + "site_description": "Um editor de LaTeX online fácil de usar. Sem instalação, colaboração em tempo real, controle de versões, centenas de templates LaTeX e mais.", + "something_went_wrong_rendering_pdf": "Alguma coisa deu errado ao renderizar o PDF.", + "somthing_went_wrong_compiling": "Desculpe, alguma coisa saiu errado e seu projeto não pode ser compilado. Por favor, tente mais tarde.", + "source": "Fonte", + "spell_check": "Verificar ortografia", + "start_by_adding_your_email": "Comece adicionando o seu e-mail.", + "start_free_trial": "Comece o Teste Grátis!", + "state": "Estado", + "status_checks": "Verificações de Status", + "still_have_questions": "Ainda tem dúvidas?", + "stop_compile": "Parar compilação", + "stop_on_validation_error": "Verificar sintaxe antes de compilar", + "student": "Estudante", + "student_disclaimer": "O desconto educacional se aplica à todos os estudantes de instituições secundárias e pós-secundárias (escolas e universidades). Nos poderemos entrar em contato com você para confirmar se você é elegível para o desconto.", + "subject": "Assunto", + "submit": "enviar", + "subscribe": "Inscrever", + "subscription": "Inscrição", + "subscription_canceled_and_terminate_on_x": "Sua inscrição foi cancelada e irá terminar em <0>__terminateDate__. Nenhum pagamento futuro será cobrado.", + "suggestion": "Sugestões", + "sure_you_want_to_change_plan": "Você tem certeza que deseja alterar o plano para <0>__planName__?", + "sure_you_want_to_delete": "Você tem certeza que deseja excluir permanentemente os seguintes arquivos?", + "sure_you_want_to_leave_group": "Você tem certeza que deseja sair do grupo?", + "sv": "Suéco", + "sync": "Sincronia", + "sync_dropbox_github": "Sincronize com Dropbox e GitHub", + "sync_project_to_github_explanation": "Qualquer mudança feita no __appName__ será commitada e mesclada com qualquer atualização no GitHub.", + "sync_to_dropbox": "Sincronize com Dropbox", + "sync_to_github": "Sincronizar com GitHub", + "syntax_validation": "Checar código", + "take_me_home": "Ir para o início!", + "tc_everyone": "Todos", + "tc_guests": "Convidados", + "tc_switch_everyone_tip": "Alternar acompanhar-alterações para todos", + "tc_switch_guests_tip": "Alternar acompanhar-alterações para todos os convidados por links compartilhado", + "tc_switch_user_tip": "Alternar acompanhar-alterações para esse usuário", + "template_description": "Descrição do Modelo", + "templates": "Modelos", + "terminated": "Compilação cancelada", + "terms": "Termos", + "thank_you": "Obrigado", + "thanks": "Obrigado", + "thanks_for_subscribing": "Obrigado por se inscrever!", + "thanks_for_subscribing_you_help_sl": "Obrigado por se inscriver ao plano __planName__. É a ajuda de pessoas como você que permitem ao __appName__ continuar a crescer e melhorar.", + "thanks_settings_updated": "Obrigado, suas configurações foram salvas.", + "the_file_supplied_is_of_an_unsupported_type ": "O link para abrir este conteúdo no HajTeX apontou para o tipo errado de arquivo. Tipos de arquivos válidos são arquivos .tex e .zip. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", + "the_requested_conversion_job_was_not_found": "O link para abrir este conteúdo no HajTeX especificou um trabalho de conversão que não pôde ser encontrado. É possível que o trabalho tenha expirado e precise ser executado novamente. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "the_requested_publisher_was_not_found": "The link to open this content on HajTeX specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "O link para abrir este conteúdo no HajTeX incluiu um URI inválido. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "theme": "Tema", + "thesis": "Tese", + "this_is_your_template": "Este é seu modelo de seu projeto", + "this_project_is_public": "Esse projeto é publico e pode ser editado por qualquer pessoa com a URL.", + "this_project_is_public_read_only": "Esse projeto é público e pode ser visualizado, mas não editado, por qualquer pessoa com a URL", + "this_project_will_appear_in_your_dropbox_folder_at": "Esse projeto irá aparecer em sua pasta Dropbox em ", + "thousands_templates": "Milhares de templates", + "three_free_collab": "Três colaboradores grátis", + "timedout": "Tempo Expirado", + "title": "Título", + "to_add_more_collaborators": "Para adicionar mais colaboradores ou ativar o compartilhamento de links, pergunte ao proprietário do projeto", + "to_many_login_requests_2_mins": "Essa conta teve muitas solicitações de entrada. Por favor, aguarde 2 minutos antes de tentar novamente.", + "to_modify_your_subscription_go_to": "Para modificar sua inscrição, vá para", + "too_many_files_uploaded_throttled_short_period": "Excesso de arquivos enviados, seus envios foram suprimidos por um curto tempo.", + "too_many_requests": "Muitas solicitações foram recebidas em um curto espaço de tempo. Por favor, aguarde alguns instantes e tente novamente.", + "too_recently_compiled": "Esse projeto foi compilado recentemente, então a compilação foi pulada.", + "tooltip_hide_filetree": "Clique para esconder a árvore de arquivos", + "tooltip_hide_pdf": "Clique para esconder o PDF", + "tooltip_show_filetree": "Clique para mostrar a árvore de arquivos", + "tooltip_show_pdf": "Clique para mostrar o PDF", + "total_words": "Total de Palavras", + "tr": "Turco", + "track_any_change_in_real_time": "Acompanhar qualquer alteração, em tempo real", + "track_changes": "Acompanhe as mudanças", + "track_changes_is_off": "Controle de alterações está desligado", + "track_changes_is_on": "Controle de alterações está ligado", + "tracked_change_added": "Adicionado", + "tracked_change_deleted": "Deletado", + "try_again": "Por favor, tente novamente", + "try_it_for_free": "Experimente gratuitamente", + "try_now": "Tente Agora", + "turn_off_link_sharing": "Desligar compartilhamento de Link", + "turn_on_link_sharing": "Ligar compartilhamento de Link.", + "uk": "Ucraniano", + "unable_to_extract_the_supplied_zip_file": "Abrir este conteúdo no HajTeX falhou porque o arquivo zip não pôde ser extraído. Por favor, certifique-se de que é um arquivo zip válido. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", + "uncategorized": "Sem Categoria", + "unconfirmed": "Não confirmado", + "university": "Universidade", + "unlimited": "Ilimitado", + "unlimited_collabs": "Colaboradores Ilimitados", + "unlimited_projects": "Projetos ilimitados", + "unlink": "Desvincular", + "unlink_github_warning": "Qualquer projeto que você tenha sincronizado com o GitHub será desconectado e não poderão mais ser sincronizados com o GitHub. Você tem certeza que deseja desvincular sua conta do GitHub.", + "unlink_reference": "Desvincular Provedor de Referências", + "unlink_warning_reference": "Cuidado: Quando você desvincular sua conta desse provedor você não poderá mais importar as referências para os seus projetos.", + "unpublish": "Despublicar", + "unpublishing": "Despublicando", + "unsubscribe": "Cancelar Inscrição", + "unsubscribed": "Não inscrito", + "unsubscribing": "Cancelando Inscrição", + "update": "Atualizar", + "update_account_info": "Atualizar Informações da Conta", + "update_dropbox_settings": "Atualizar configurações do Dropbox", + "update_your_billing_details": "Atualize Seus Detalhes de Pagamento", + "updating_site": "Atualizando Site", + "upgrade": "Atualizar", + "upgrade_cc_btn": "Aprimorar agora, pague depois de 7 dias", + "upgrade_now": "Aprimorar Agora", + "upgrade_to_get_feature": "Aprimore para ter __feature__, mais:", + "upgrade_to_track_changes": "Atualizar para acompanhar alterações", + "upload": "Carregar", + "upload_project": "Carregar Projeto", + "upload_zipped_project": "Subir Projeto Zipado", + "user_already_added": "Usuário já foi adicionado", + "user_not_found": "Usuário não encontrado", + "user_wants_you_to_see_project": "__username__ gostaria que você participasse de __projectname__", + "vat_number": "Número IVA", + "view_all": "Ver Todos", + "view_in_template_gallery": "Ver isso na galeria de modelos", + "welcome_to_sl": "Bem-vindo ao __appName__", + "wide": "Largo", + "word_count": "Contagem de Palavras", + "year": "ano", + "you_have_added_x_of_group_size_y": "Você adicionou <0>__addedUsersSize__ de <1>__groupSize__ membros disponíveis.", + "your_plan": "Seu plano", + "your_projects": "Seus Projetos", + "your_sessions": "Suas Sessões", + "your_subscription": "Sua Inscrição", + "your_subscription_has_expired": "Sua inscrição expirou.", + "zh-CN": "Chinês", + "zotero": "Zotero", + "zotero_integration": "Integração Zotero.", + "zotero_is_premium": "A integração Zotero é um recurso premium", + "zotero_reference_loading_error": "Erro, não foi possível carregar as referências do Zotero", + "zotero_reference_loading_error_expired": "O token do Zotero expirou, por favor, revincule sua conta", + "zotero_reference_loading_error_forbidden": "Não foi possível carregar as referências do Zotero, por favor, revincule sua conta e tente novamente", + "zotero_sync_description": "A integração Zotero permite você importar as referências do zotero para seus projetos no __appName__." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ru.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ru.json new file mode 100644 index 0000000..2e23f81 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/ru.json @@ -0,0 +1,458 @@ +{ + "About": "О сайте", + "Account": "Учётная запись", + "Account Settings": "Параметры учётной записи", + "Documentation": "Документация", + "Projects": "Проекты", + "Security": "Безопасность", + "Subscription": "Подписка", + "Terms": "Условия", + "Universities": "Университеты", + "about": "О проекте", + "about_to_delete_projects": "Следующие проекты будут удалены:", + "about_to_leave_projects": "Вы собираетесь оставить следующие проекты:", + "accepting_invite_as": "Вы принимаете приглашение как", + "account": "Аккаунт", + "account_not_linked_to_dropbox": "Ваш аккаунт не синхронизирован с Dropbox", + "account_settings": "Настройки профиля", + "actions": "Действия", + "activate": "Активировать", + "activate_account": "Активируйте Ваш аккаунт", + "activating": "Активация", + "activation_token_expired": "Срок действия Вашего ключа истёк. Вам необходимо запросить новый ключ активации.", + "add": "Добавить", + "add_more_members": "Добавить участников", + "add_your_first_group_member_now": "Добавьте первых участников группы сейчас", + "added": "добавлены", + "adding": "Добавление", + "address": "Адрес", + "admin": "администратор", + "all_projects": "Все проекты", + "all_templates": "Все шаблоны", + "already_have_sl_account": "Есть аккаунт __appName__?", + "and": "и", + "annual": "Цена за год", + "anonymous": "Аноним", + "april": "Апрель", + "august": "Август", + "auto_complete": "Автодополнение", + "autocomplete": "Автозавершение", + "autocomplete_references": "Автодополнение ссылок (внутри блока \\cite{})", + "back_to_your_projects": "Назад к списку проектов", + "beta": "Beta", + "bibliographies": "Библиография", + "blank_project": "Новый проект", + "blog": "Блог", + "built_in": "встроенный", + "can_edit": "Могут править", + "cancel": "Отмена", + "cancel_my_account": "Отменить подписку", + "cancel_personal_subscription_first": "У Вас уже имеется личная подписка. Хотите ли вы её отменить перед переходом на групповую лицензию?", + "cancel_your_subscription": "Остановить подписку", + "cant_find_email": "Извините, данный адрес не зарегистрирован.", + "cant_find_page": "К сожалению, страница не найдена", + "change": "Изменить", + "change_password": "Изменение пароля", + "change_plan": "Сменить тарифный план", + "change_to_this_plan": "Перейти на этот тариф", + "chat": "Чат", + "checking_dropbox_status": "проверка состояния Dropbox", + "checking_project_github_status": "Проверка статуса проекта на GitHub", + "choose_your_plan": "Выберите тариф", + "city": "Город", + "clear_cached_files": "Очистить кэшированные файлы", + "clear_sessions": "Завершить сессии", + "clear_sessions_description": "Это список всех активных сессий Вашего аккаунта, за исключением Вашей текущей сессии. Нажмите кнопку \"Завершить сессии\" для закрытия всех активных сеансов.", + "clear_sessions_success": "Сессии завершены", + "clearing": "Очистка", + "click_here_to_view_sl_in_lng": "Кликните здесь, для использования __appName__ на <0>__lngName__", + "close": "Закрыть", + "clsi_maintenance": "На сервере компиляции проводятся ремонтные работы, и он будет вскоре доступен снова.", + "cn": "Китайский (упрощённый)", + "collaboration": "Совместная разработка", + "collaborator": "Совместная работа", + "collabs_per_proj": "Максимальное число соавторов на проект: __collabcount__", + "comment": "Комментарии", + "commit": "Фиксировать", + "common": "Общие", + "compile_larger_projects": "Компиляция больших проектов", + "compile_mode": "Режим компиляции", + "compile_terminated_by_user": "Компиляция была прервана. Вы можете просмотреть необработанную выдачу компиляции, чтобы увидеть место остановки компиляции.", + "compiler": "Компилятор", + "compiling": "Компиляция", + "complete": "Заполнить", + "confirm": "Подтвердить", + "confirm_new_password": "Подтверждение нового пароля", + "connected_users": "Связанные пользователи", + "connecting": "Подключение", + "contact": "Контакт", + "contact_message_label": "Сообщение", + "contact_us": "Связаться с нами", + "continue_github_merge": "Я провел(-а) слияние вручную. Продолжить", + "copy": "Копировать", + "copy_project": "Копировать проект", + "copying": "копирование", + "country": "Страна", + "coupon_code": "код купона", + "create": "Создать", + "create_new_subscription": "Создать новую подписку", + "create_project_in_github": "Создать проект на GitHub", + "creating": "Создание", + "credit_card": "банковская карта", + "cs": "Чешский", + "current_password": "Текущий пароль", + "currently_subscribed_to_plan": "Вы подписаны на тарифный план <0>__planName__.", + "da": "Датский", + "de": "Немецкий", + "december": "Декабрь", + "delete": "Удалить", + "delete_account": "Удалить аккаунт", + "delete_account_warning_message_3": "Вы собираетесь удалить все данные Вашего аккаунта, включая все Ваши проекты и настройки. Пожалуйста, введите адрес электронной почты и пароль Вашего аккаунта в форму внизу для продолжения.", + "delete_and_leave_projects": "Удалить или оставить проекты", + "delete_projects": "Удалить проекты", + "delete_your_account": "Удалить аккаунт", + "deleting": "Удаление", + "disconnected": "Разъединен", + "documentation": "Документация", + "doesnt_match": "Не совпадает", + "done": "Готово", + "download": "Скачать", + "download_pdf": "Скачать PDF", + "download_zip_file": "Скачать архив (.zip)", + "dropbox_sync": "Синхронизация с Dropbox", + "dropbox_sync_description": "Синхронизируйте Ваши __appName__ проекты с Вашим Dropbox. Изменения в __appName__ автоматически сохраняются в Вашем Dropbox, и наоборот.", + "editing": "Редактор", + "email": "Email", + "email_already_registered": "Этот адрес уже зарегистрирован.", + "email_link_expired": "Срок действия ссылки истёк. Пожалуйста, повторите запрос!", + "email_or_password_wrong_try_again": "Неверный адрес электронной почты или пароль. Пожалуйста, попробуйте снова", + "en": "Английский", + "es": "Испанский", + "every": "каждый", + "example_project": "Использовать пример", + "expiry": "Срок действия", + "export_project_to_github": "Экспорт проекта на GitHub", + "fast": "быстрый", + "features": "Возможности", + "february": "Февраль", + "files_cannot_include_invalid_characters": "Файлы не могут содержать символы ’*’ и ’/’", + "first_name": "Имя", + "folders": "Папки", + "font_size": "Размер шрифта", + "forgot_your_password": "Забыли пароль?", + "fr": "Французский", + "free": "Бесплатно", + "free_dropbox_and_history": "Бесплатные Dropbox и История", + "full_doc_history": "Полная история изменений", + "generic_something_went_wrong": "Извините, что-то пошло не так... :(", + "get_in_touch": "Связаться с нами", + "github_commit_message_placeholder": "Сообщение о фиксации изменений в __appName__...", + "github_is_premium": "Синхронизация с GitHub доступна только в премиум аккаунте", + "github_public_description": "Этот репозиторий может просмотреть каждый. Вы выбираете, кто может править.", + "github_successfully_linked_description": "Спасибо, мы успешно связали ваш аккаунт на GitHub с __appName__. Теперь вы можете экспортировать проекты с __appName__ в GitHub или импортировать в обратном направлении.", + "github_sync": "Синхронизация с GitHub", + "github_sync_description": "Вы можете связать ваши проекты __appName__ с репозиториями на GitHub. Создавайте коммиты в __appName__ и объединяйте их с коммитами, сделанными оффлайн или на GitHub.", + "github_sync_error": "Извините, произошла ошибка в общении с сервисом GitHub. Пожалуйста, попробуйте ещё раз позднее.", + "github_validation_check": "Пожалуйста, проверьте правильность имени хранилища и права доступа на создание хранилища", + "global": "глобальная", + "go_to_code_location_in_pdf": "Перейти к местоположению кода в PDF", + "go_to_pdf_location_in_code": "Перейти к коду в редакторе", + "group_admin": "Администратор группы", + "groups": "Группы", + "have_more_days_to_try": "Продлите тестовый период ещё на __days__ дней!", + "headers": "Заголовки", + "help": "Помощь", + "history": "История", + "hotkeys": "Горячие клавиши", + "i_want_to_stay": "Я хочу остаться", + "ignore_validation_errors": "Не проверять синтаксис", + "ill_take_it": "Беру!", + "import_from_github": "Импорт с GitHub", + "import_to_sharelatex": "Импортировать в __appName__", + "importing": "Импорт", + "importing_and_merging_changes_in_github": "Импорт и слияние изменений в GitHub", + "indvidual_plans": "Индивидуальные тарифы", + "info": "Информация", + "institution": "Организация", + "invalid_file_name": "Неверное имя файла", + "invite_not_accepted": "Приглашение еще не было принято", + "invite_not_valid": "Приглашение недействительно", + "invite_not_valid_description": "Вышел срок приглашения. Пожалуйста, обратитесь к владельцу проекта", + "ip_address": "IP адрес", + "it": "Итальянский", + "ja": "Японский", + "january": "Январь", + "join_project": "Присоединиться к проекту", + "join_sl_to_view_project": "Для доступа к проекту необходимо авторизоваться в __appName__", + "july": "Июль", + "june": "Июнь", + "keybindings": "Горячие клавиши", + "knowledge_base": "база знаний", + "ko": "Корейский", + "language": "Язык", + "last_modified": "Последнее изменение", + "last_name": "Фамилия", + "latex_templates": "Шаблоны", + "learn_more": "Узнать больше", + "leave_group": "Покинуть группу", + "leave_now": "Покинуть", + "leave_projects": "Оставить проекты", + "link_to_github": "Привязать аккаунт на GitHub", + "link_to_github_description": "Вам необходимо авторизовать __appName__ для доступа к Вашему GitHub аккаунту, чтобы разрешить нам синхронизацию Ваших проектов.", + "links": "Ссылки", + "loading": "Загрузка", + "loading_github_repositories": "Загрузка ваших проектов с GitHub", + "loading_recent_github_commits": "Загрузка последний изменений", + "log_hint_extra_info": "Узнать больше", + "log_in": "Войти", + "log_out": "Выйти", + "logging_in": "Авторизация", + "login": "Войти", + "login_failed": "Вход не удался", + "login_here": "Войти", + "login_or_password_wrong_try_again": "Неправильное имя пользователя или пароль. Пожалуйста, попробуйте снова", + "logs_and_output_files": "Логи и выводные файлы", + "lost_connection": "Соединение потеряно", + "main_document": "Основной документ", + "maintenance": "Ремонтные работы", + "make_private": "Сделать закрытым", + "manage_sessions": "Управление Вашими сессиями", + "manage_subscription": "Управление подпиской", + "march": "Март", + "math_display": "Формулы", + "math_inline": "Встроенные формулы", + "maximum_files_uploaded_together": "Совместная загрузка до максимум __max__ файлов", + "may": "Май", + "menu": "Меню", + "merge": "Соединить", + "merging": "Соединение", + "month": "месяц", + "monthly": "Цена за месяц", + "more": "еще", + "must_be_email_address": "Введите правильный адрес электронной почты", + "name": "Имя", + "native": "браузер", + "navigation": "Навигация", + "nearly_activated": "Вы в одном шаге от активации Вашего аккаунта для __appName__!", + "need_anything_contact_us_at": "Если у Вас есть какие-либо вопросы и пожелания, пожалуйста, пишите нам по адресу", + "need_to_leave": "Удалить аккаунт?", + "need_to_upgrade_for_more_collabs": "Для приглашения большего числа соавторов необходимо сменить тариф", + "new_file": "Новый файл", + "new_folder": "Новая папка", + "new_name": "Введите название", + "new_password": "Новый пароль", + "new_project": "Создать проект", + "next_payment_of_x_collectected_on_y": "Следующий платёж в размере <0>__paymentAmmount__ будет списан <1>__collectionDate__", + "nl": "Голландский", + "no": "Норвежский", + "no_members": "Нет участников", + "no_messages": "Нет сообщений", + "no_new_commits_in_github": "Нет новых коммитов на GitHub с момента последнего слияния.", + "no_other_sessions": "Нет других активных сессий", + "no_planned_maintenance": "В настоящее время плановые работы не осуществляются", + "no_preview_available": "К сожалению, предпросмотр не доступен", + "no_projects": "Нет проектов", + "no_search_results": "Ничего не найдено", + "no_thanks_cancel_now": "Нет, спасибо - я хочу удалить сейчас", + "normal": "нормальный", + "not_now": "Не сейчас", + "notification_project_invite": "__userName__ приглашает Вас принять участие в проекте __projectName__,Присоединиться", + "november": "Ноябрь", + "october": "Октябрь", + "off": "Откл.", + "ok": "OK", + "one_collaborator": "Только один автор на проект", + "one_free_collab": "Один бесплатный соавтор", + "online_latex_editor": "Онлайн редактор LaTeX", + "open_project": "Открыть проект", + "optional": "Необязательный", + "or": "или", + "other_logs_and_files": "Другие логи и файлы", + "over": "свыше", + "owner": "Владелец", + "page_not_found": "Страница не найдена", + "password": "Пароль", + "password_reset": "Сбросить пароль", + "password_reset_email_sent": "На ваш электронный адрес было отправлено письмо с инструкцией по восстановлению пароля", + "password_reset_token_expired": "Ваш код восстановления пароля истёк. Пожалуйста, запросите восстановление пароля по почте ещё раз и перейдите по ссылке в письме.", + "pdf_viewer": "Просмотрщик PDF", + "pending": "В ожидании", + "personal": "Личный", + "pl": "Польский", + "planned_maintenance": "Плановые работы", + "plans_amper_pricing": "Тарифы", + "plans_and_pricing": "Тарифные планы", + "please_compile_pdf_before_download": "Пожалуйста, скомпилируйте проект перед загрузкой PDF", + "please_compile_pdf_before_word_count": "Пожалуйста, скомпилируйте проект, прежде чем подсчитывать количество слов!", + "please_enter_email": "Пожалуйста, введите адрес электронной почты", + "please_refresh": "Пожалуйста, обновите страницу для продолжения", + "please_set_a_password": "Пожалуйста, укажите пароль", + "position": "Должность", + "presentation": "Презентация", + "price": "Цена", + "privacy": "Конфиденциальность", + "privacy_policy": "Конфиденциальность", + "private": "Закрытый", + "problem_changing_email_address": "Возникла проблема при обновлении Вашего адреса электронной почты. Пожалуйста, попробуйте через некоторое время снова. Если проблема повторится, пожалуйста свяжитесь с нами.", + "problem_talking_to_publishing_service": "Проблема с сервером публикации. Пожалуйста, попробуйте через некоторое время ещё раз", + "problem_with_subscription_contact_us": "Возникли проблемы с Вашей подпиской. Пожалуйста, свяжитесь с нами, чтобы узнать подробности.", + "processing": "обработка", + "professional": "Профессионал", + "project_last_published_at": "В последний раз проект был опубликован", + "project_name": "Название проекта", + "project_not_linked_to_github": "Этот проект не связан ни с одним проектом на GitHub. Вы можете создать для него проект на GitHub:", + "project_synced_with_git_repo_at": "Проект синхронизирован с GitHub в", + "project_too_large": "Проект слишком большой", + "project_too_large_please_reduce": "В этом проекте слишком много текста. Пожалуйста, попробуйте уменьшить количество.", + "project_url": "URL проекта", + "projects": "Проекты", + "pt": "Португальский", + "public": "Открытый", + "publish": "Опубликовать", + "publish_as_template": "Создать шаблон", + "publishing": "Публикация", + "pull_github_changes_into_sharelatex": "Скачать изменения с GitHub в __appName__", + "push_sharelatex_changes_to_github": "Загрузить изменения из __appName__ на GitHub", + "read_only": "Только чтение", + "recent_commits_in_github": "Последние коммиты на GitHub", + "recompile": "Компилировать", + "recompile_pdf": "Перекомпилировать PDF", + "reconnecting": "Пересоединение", + "reconnecting_in_x_secs": "Повторное соединение через __seconds__ секунд", + "refresh_page_after_starting_free_trial": "Пожалуйста, обновите страницу", + "regards": "С уважением", + "register": "Регистрация", + "register_to_edit_template": "Пожалуйста, зарегистрируйтесь, чтобы редактировать шаблон __templateName__", + "registered": "Зарeгистрирован", + "registering": "Создание аккаунта", + "remove_collaborator": "Удалить соавтора", + "remove_from_group": "Удалить из группы", + "removed": "удалено", + "removing": "Удаление", + "rename": "Переименовать", + "rename_project": "Переименовать проект", + "renaming": "Переименование", + "repository_name": "Наименование репозитория", + "republish": "Переопубликовать", + "request_password_reset": "Сбросить пароль", + "request_sent_thank_you": "Спасибо, Ваш запрос отправлен!", + "required": "обязательно", + "resend": "Отправить еще раз", + "reset_password": "Сбросить пароль", + "reset_your_password": "Сбросить пароль", + "restore": "Восстановить", + "restoring": "Восстановление", + "restricted": "Доступ ограничен", + "restricted_no_permission": "Извините, у Вас недостаточно прав для просмотра данной страницы.", + "return_to_login_page": "Вернуться на страницу входа", + "revoke_invite": "Отозвать приглашение", + "ro": "Румынский", + "role": "Роль", + "ru": "Русский", + "saving": "Сохранение", + "saving_notification_with_seconds": "Сохранение __docname__... (__seconds__ секунд с последнего сохранения)", + "search_bib_files": "Поиск по автору, названию, году", + "search_projects": "Поиск по проектам", + "search_references": "Поиск .bib файлов в проекте", + "security": "Безопасность", + "select_github_repository": "Выберите проект на GitHub для импорта в __appName__", + "send_first_message": "Отправьте сообщение", + "september": "Сентябрь", + "server_error": "Ошибка сервера", + "services": "Сервисы", + "session_created_at": "Сессия создана", + "session_expired_redirecting_to_login": "Срок сессии истёк. Перенаправление на страницу входа через __seconds__ секунд(ы)", + "sessions": "Сессии", + "set_new_password": "Введите новый пароль", + "set_password": "Установить пароль", + "settings": "Настройки", + "share": "Открыть доступ", + "share_project": "Открыть доступ к проекту", + "share_with_your_collabs": "Открыть для соавторов", + "shared_with_you": "Доступные мне", + "show_hotkeys": "Показать горячие клавиши", + "site_description": "Простой в использовании онлайн редактор LaTeX. Не требует установки, поддерживает совместную работу в реальном времени, контроль версий, сотни шаблонов LaTeX и многое другое.", + "somthing_went_wrong_compiling": "К сожалению, что-то пошло не так и мы не смогли скомпИлировать Ваш проект. Попробуйте еще раз через пару минут.", + "source": "Исходный код", + "spell_check": "Проверка правописания", + "start_free_trial": "Попробовать бесплатно!", + "state": "Состояние", + "stop_compile": "Остановить компиляцию", + "stop_on_validation_error": "Проверить синтаксис перед компиляцией", + "student": "Студент", + "subject": "Тема", + "subscribe": "Подписаться", + "subscription": "Подписка", + "subscription_canceled_and_terminate_on_x": " Ваша подписка была отменена и закончится <0>__terminateDate__. Дальнейшие платежи взиматься не будут.", + "suggestion": "Предложения", + "sure_you_want_to_change_plan": "Вы уверены, что хотите сменить тарифный план на <0>__planName__?", + "sure_you_want_to_delete": "Вы уверены, что хотите перманентно удалить следующие файлы?", + "sure_you_want_to_leave_group": "Вы уверены, что хотите покинуть группу?", + "sv": "Шведский", + "sync": "Синхронизация", + "sync_project_to_github_explanation": "Все изменения, сделанные Вами в __appName__ будут интегрированы (commit и merge) со всеми обновлениями на GitHub.", + "sync_to_dropbox": "Синхронизация с Dropbox", + "sync_to_github": "Синхронизация с GitHub", + "syntax_validation": "Проверка кода", + "take_me_home": "Вернуться в начало", + "template_description": "Описание шаблона", + "templates": "Шаблоны", + "terminated": "Компиляция отменена", + "terms": "Условия", + "thank_you": "Спасибо!", + "thanks": "Спасибо", + "thanks_for_subscribing": "Благодарим за подписку!", + "thanks_for_subscribing_you_help_sl": "Благодарим за подписку по тарифному плану __planName__. Благодаря Вам проект __appName__ может продолжать развиваться и улучшаться.", + "thanks_settings_updated": "Спасибо, изменения сохранены", + "theme": "Тема", + "thesis": "Диссертация", + "this_is_your_template": "Это шаблон из Вашего проекта", + "this_project_is_public": "Это открытый проект. Он может быть изменен любым человеком, знающим адрес (URL)", + "this_project_is_public_read_only": "Этот проект открыт для всех, у кого есть ссылка (но без возможности редактирования)", + "this_project_will_appear_in_your_dropbox_folder_at": "Этот проект появится в вашей папке Dropbox в ", + "three_free_collab": "Три бесплатных соавтора", + "timedout": "Время ожидания истекло", + "title": "Название", + "to_many_login_requests_2_mins": "Было предпринято слишком много попыток входа. Пожалуйста, подождите 2 минуты, прежде чем пробовать снова", + "to_modify_your_subscription_go_to": "Для изменения подписки перейдите по ссылке:", + "too_many_files_uploaded_throttled_short_period": "Слишком много файлов загружено за раз - на короткое время загрузка была приостановлена.", + "too_recently_compiled": "Этот проект был скомпилирован совсем недавно, поэтому компиляция была пропущена.", + "total_words": "Количество слов", + "tr": "Турецкий", + "try_now": "Попробуйте", + "uk": "Украинский", + "university": "Университет", + "unlimited_collabs": "Неограниченно число соавторов", + "unlimited_projects": "Неограниченное число проектов", + "unlink": "Отсоединить", + "unlink_github_warning": "Все проекты, которые Вы синхронизировали с GitHub, будут отсоединены и больше не будут синхронизироваться с GitHub. Вы уверены, что хотите отсоединить Ваш GitHub аккаунт?", + "unpublish": "Отменить публикацию", + "unpublishing": "Отмена публикации", + "unsubscribe": "Отменить подписку", + "unsubscribed": "Не подписан", + "unsubscribing": "Отмена подписки", + "update": "Сохранить", + "update_account_info": "Редактировать профиль", + "update_dropbox_settings": "Обновить настройки Dropbox", + "update_your_billing_details": "Обновить детали счёта", + "updating_site": "Сайт обновляется", + "upgrade": "Сменить тариф", + "upgrade_now": "Сменить тариф", + "upload": "Загрузить", + "upload_project": "Загрузить проект", + "upload_zipped_project": "Загрузить архив проекта (*.zip)", + "user_wants_you_to_see_project": "__username__ приглашает вас к просмотру проекта __projectname__", + "vat_number": "Номер плательщика НДС", + "view_all": "Показать все", + "view_in_template_gallery": "Посмотреть в галерее шаблонов", + "welcome_to_sl": "Добро пожаловать в __appName__", + "word_count": "Количество слов", + "year": "год", + "you_have_added_x_of_group_size_y": "Вы добавили <0>__addedUsersSize__ из <1>__groupSize__ доступных участников", + "your_plan": "Ваш тариф", + "your_projects": "Созданные мной", + "your_sessions": "Ваши сессии", + "your_subscription": "Ваша подписка", + "your_subscription_has_expired": "Срок Вашей подписки истёк.", + "zh-CN": "Китайский" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/sv.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/sv.json new file mode 100644 index 0000000..a414741 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/sv.json @@ -0,0 +1,1020 @@ +{ + "About": "Om", + "Account": "Konto", + "Account Settings": "Kontoinställningar", + "Documentation": "Dokumentation", + "Projects": "Projekt", + "Security": "Säkerhet", + "Subscription": "Prenumeration", + "Terms": "Villkor", + "Universities": "Universitet", + "about": "Om", + "about_to_archive_projects": "Du kommer att arkivera följande projekt:", + "about_to_delete_projects": "Du håller på att ta bort följande projekt:", + "about_to_leave_projects": "Du håller på att lämna följande projekt:", + "about_to_trash_projects": "Du kommer att kasta följande projekt:", + "abstract": "Sammanfattning", + "accept": "Acceptera", + "accept_all": "Acceptera alla", + "accept_invitation": "Acceptera inbjudan", + "accept_or_reject_each_changes_individually": "Acceptera eller neka varje förändring för sig", + "accepted_invite": "Accepterat inbjudan", + "accepting_invite_as": "Du accepterar inbjudan som", + "account": "Konto", + "account_has_been_link_to_institution_account": "Ditt __appName__-konto för __email__ har länkats till ditt institutionella konto __institutionName__.", + "account_has_past_due_invoice_change_plan_warning": "Ditt konto har för närvarande en förfallen faktura. Du kommer inte att kunna ändra din plan förrän detta är löst.", + "account_not_linked_to_dropbox": "Ditt konto är inte länkat till Dropbox", + "account_settings": "Kontoinställningar", + "account_with_email_exists": "Det verkar som om ett __appName__-konto med e-post-adressen __email__ redan finns.", + "actions": "Åtgärder", + "activate": "Aktivera", + "activate_account": "Aktivera ditt konto", + "activating": "Aktiverar", + "activation_token_expired": "Din aktiveringstoken har utgått, du behöver få en ny skickad till dig.", + "add": "Lägg till", + "add_affiliation": "Lägg till anslutning", + "add_another_email": "Lägg till en annan e-post", + "add_comma_separated_emails_help": "Separera flera e-postadresser med kommatecken (,).", + "add_comment": "Lägg till kommentar", + "add_company_details": "Lägg till företagsuppgifter", + "add_email": "Lägg till e-post", + "add_email_to_claim_features": "Lägg till en institutionell e-postadress för att erhålla dina funktioner.", + "add_more_members": "Lägg till fler medlemmar", + "add_new_email": "Lägg till ny e-postadress", + "add_role_and_department": "Lägg till befattning och avdelning", + "add_your_comment_here": "Skriv din kommentar här", + "add_your_first_group_member_now": "Lägg till dina första gruppmedlemmar nu", + "added": "lagst till", + "adding": "Lägger till", + "address": "Adress", + "address_line_1": "Adress", + "address_second_line_optional": "Adress på andra raden (valfritt)", + "admin": "admin", + "admin_user_created_message": "Admin-konto skapat, Logga in här för att fortsätta", + "aggregate_changed": "Ändrade", + "aggregate_to": "till", + "all_premium_features": "Alla premiumfunktioner", + "all_projects": "Alla projekt", + "all_templates": "Alla mallar", + "already_have_sl_account": "Har du redan ett __appName__ konto?", + "also": "Även", + "alternatively_create_new_institution_account": "Alternativt kan du skapa ett nytt konto med din institutions-e-post-adress (__email__) genom att klicka på __clickText__.", + "and": "och", + "annual": "Årlig", + "anonymous": "Anonym", + "anyone_with_link_can_edit": "Vem som helst med denna länk kan redigera detta projekt", + "anyone_with_link_can_view": "Vem som helst med denna länk kan se detta projekt", + "april": "April", + "archive": "Arkiv", + "archive_projects": "Arkiverade projekt", + "archived_projects": "Arkiverade projekt", + "archiving_projects_wont_affect_collaborators": "Arkivering av projekt påverkar inte dina samarbetspartners.", + "are_you_still_at": "Är du fortfarande vid <0>__institutionName__?", + "are_you_sure": "Är du säker?", + "as_a_member_of_sso_required": "Som medlem i __institutionName__ måste du logga in på __appName__ via din institutionsportal.", + "ask_proj_owner_to_upgrade_for_full_history": "Vänligen fråga projektägaren om uppgradering för att få åtkomst till detta projekts kompletta historik.", + "ask_proj_owner_to_upgrade_for_references_search": "Vänligen be projekt ägaren att uppgradera för att använda Referens sök funktionen.", + "august": "Augusti", + "author": "Författare", + "auto_close_brackets": "Stäng parenteser automatiskt", + "auto_compile": "Kompilera automatiskt", + "auto_complete": "Komplettera automatisk", + "autocompile_disabled": "Autokompilering inaktiverat", + "autocompile_disabled_reason": "På grund av hög serverbelastning har bakgrundskompilering tillfälligt inaktiverats. Vänligen kompilera genom att klicka på knappen ovan.", + "autocomplete": "Autokomplettering", + "autocomplete_references": "Autokomplettering av referenser (inuti \\cite{})", + "back_to_editor": "Tillbaka till textredigeraren", + "back_to_your_projects": "Tillbaka till dina projekt", + "beta": "Beta", + "beta_program_already_participating": "Du är ansluten till beta-programmet.", + "beta_program_badge_description": "När du använder __appName__ kommer du att se beta-funktioner markerade med denna ikon:", + "beta_program_benefits": "Vi förbättrar ständigt __appName__. Genom att gå med i vårt beta-program får du tidig tillgång till nya funktioner och kan hjälpa oss att förstå dina behov bättre.", + "beta_program_not_participating": "Du är inte inskriven i betaprogrammet.", + "beta_program_opt_in_action": "Gå med i beta-programmet", + "beta_program_opt_out_action": "Hoppa av beta-programmet", + "bibliographies": "Bibliografi", + "binary_history_error": "Förhandsgranskning är inte tillgänglig för denna filtyp", + "blank_project": "Tomt projekt", + "blocked_filename": "Detta filnamn är blockerat", + "blog": "Blogg", + "built_in": "Inbyggd", + "bulk_accept_confirm": "Är du säker på att du vill acceptera de __nChanges__ valda ändringarna?", + "bulk_reject_confirm": "Är du säker på att du vill avvisa de __nChanges__ valda ändringarna?", + "by": "av", + "can_edit": "Kan redigera", + "can_link_institution_email_acct_to_institution_acct": "Du kan nu länka ditt __email__ __appName__-konto till ditt __institutionName__ institutionella konto.", + "cancel": "Avbryt", + "cancel_my_account": "Avsluta min prenumeration", + "cancel_personal_subscription_first": "Du har redan en personlig prenumeration, vill du avbryta denna innan du går med i grupp licensen?", + "cancel_your_subscription": "Avsluta din prenumeration", + "cannot_invite_non_user": "Kunde inte skicka inbjudan. Mottagaren har redan ett __appName__-konto", + "cannot_invite_self": "Du kan inte skicka en inbjudan till dig själv", + "cannot_verify_user_not_robot": "Tyvärr kunde vi inte verifiera att du inte är en robot. Vänligen kontrollera så att Google reCAPTCHA inte blockeras av en ad blocker eller brandvägg.", + "cant_find_email": "Den e-postadressen är tyvärr inte registrerad.", + "cant_find_page": "Tyvärr kan vi inte hitta sidan du letar efter.", + "cant_see_what_youre_looking_for_question": "Ser du inte vad du letar efter?", + "category_arrows": "Pilar", + "category_greek": "Grekiska", + "category_misc": "Diverse", + "category_operators": "Operatorer", + "category_relations": "Relationer", + "change": "Ändra", + "change_or_cancel-cancel": "avbryt", + "change_or_cancel-change": "Ändra", + "change_or_cancel-or": "eller", + "change_owner": "Ändra ägare", + "change_password": "Byt lösenord", + "change_plan": "Byta betalningsplan", + "change_project_owner": "Ändra projektägare", + "change_to_this_plan": "Ändra till denna betalningsplan", + "chat": "Chatt", + "chat_error": "Det gick inte att ladda chattmeddelanden. Vänligen försök igen.", + "checking": "Kontrollerar", + "checking_dropbox_status": "kontrollerar Dropbox status", + "checking_project_github_status": "Kontrollerar projektstatus på GitHub", + "choose_your_plan": "Välj din betalningsplan", + "city": "Stad", + "clear_cached_files": "Rensa cachade filer", + "clear_search": "rensa sökning", + "clear_sessions": "Töm sessioner", + "clear_sessions_description": "Detta är en lista med sessioner (inloggningar) som är aktiva på ditt konto, inte medräknat din nuvarande session. Klick på \"Töm sessioner\" knappen nedan för att logga ut dem.", + "clear_sessions_success": "Sessioner tömda", + "clearing": "Tömmer", + "click_here_to_view_sl_in_lng": "Klicka här för att använda __appName__ på <0>__lngName__", + "click_link_to_proceed": "Klicka på __clickText__ nedan för att fortsätta.", + "clone_with_git": "Klona med Git", + "close": "Stäng", + "clsi_maintenance": "Kompileringsservrarna är nere för underhåll och kommer snart upp igen.", + "clsi_unavailable": "Tyvärr var kompileringsservern för ditt projekt tillfälligt otillgänglig. Vänligen försök igen om ett litet tag.", + "cn": "Kinesiska (Förenklad)", + "code_check_failed": "Kodkontroll misslyckades", + "code_check_failed_explanation": "Din kod har fel som behöver åtgärdas innan auto-kompileringen kan köras", + "collaborate_online_and_offline": "Samarbeta online och offline, med ditt eget arbetsflöde", + "collaboration": "Samarbete", + "collaborator": "Samarbetare", + "collabs_per_proj": "__collabcount__ samarbetare per projekt", + "collabs_per_proj_single": "__collabcount__ medarbetare per projekt", + "collapse": "Kontrahera", + "comment": "Kommentar", + "commit": "Commita", + "common": "Vanliga", + "compact": "Kompakt", + "company_name": "Företagsnamn", + "compile_error_entry_description": "Ett fel som förhindrade kompilering av detta projekt", + "compile_larger_projects": "Kompilera större projekt", + "compile_mode": "Kompileringsläge", + "compile_terminated_by_user": "Kompileringen avbröts med ’Stoppa kompilering’-knappen. Du kan titta i råloggarna för att se var kompileringen avbröts.", + "compile_timeout_short": "Timeout för kompilering", + "compiler": "Kompilator", + "compiling": "Kompilerar", + "complete": "Färdigt", + "confirm": "Bekräfta", + "confirm_affiliation_to_relink_dropbox": "Vänligen bekräfta att du fortfarande är kvar på institutionen och har deras licens, eller uppgradera ditt konto för att återkoppla ditt Dropbox-konto.", + "confirm_email": "Bekräfta e-postadress", + "confirm_new_password": "Bekräfta nytt lösenord", + "confirmation_link_broken": "Tyvärr, något är fel med din bekräftelselänk. Vänligen försök kopiera och klistra in länken given längst ner i bekräftelse-e-brevet.", + "conflicting_paths_found": "Motstridiga sökvägar hittade", + "connected_users": "Anslutna användare", + "connecting": "Ansluter", + "contact": "Kontakt", + "contact_message_label": "Meddelande", + "contact_support_to_change_group_subscription": "Vänligen kontakta supporten om du vill ändra ditt gruppabonnemang.", + "contact_us": "Kontakta oss", + "continue_github_merge": "Jag har gjort en manuell sammanslagning. Fortsätt", + "continue_to": "Fortsätt till __appName__", + "copy": "Kopiera", + "copy_project": "Klona projekt", + "copying": "kopierar", + "country": "Land", + "coupon_code": "Kupongkod", + "coupons_not_included": "Detta inkluderar ej dina nuvarande rabatter vilka kommer att tillämpas automatiskt före din nästa betalning", + "create": "Skapa", + "create_first_admin_account": "Skapa ett första Admin-konto", + "create_new_account": "Skapa ett nytt konto", + "create_new_subscription": "Skapa en ny prenumeration", + "create_project_in_github": "Skapa ett GitHub repo", + "creating": "Skapar", + "credit_card": "Kreditkort", + "cs": "Tjeckiska", + "current_file": "Nuvarande fil", + "current_password": "Nuvarande lösenord", + "currently_seeing_only_24_hrs_history": "För närvarande ser du ändringar under de senaste 24 timmarnas i detta projekt.", + "currently_subscribed_to_plan": "Du använder för närvarande en <0>__planName__ betalningsplan.", + "da": "Danska", + "de": "Tyska", + "december": "December", + "default": "Standard", + "delete": "Radera", + "delete_account": "Ta bort konto", + "delete_account_warning_message_3": "Du håller på att permanent ta bort all din konto data, inklusive dina projekt och inställningar. Vänligen skriv in e-postadressen ditt konto använder samt ditt lösenord i fälten nedan för att fortsätta.", + "delete_acct_no_existing_pw": "Vänligen använd formuläret för återställning av lösenordet för att ange ett lösenord innan du raderar ditt konto.", + "delete_and_leave": "Radera / Lämna", + "delete_and_leave_projects": "Ta bort och lämna projekt", + "delete_projects": "Ta bort projekt", + "delete_your_account": "Ta bort ditt konto", + "deleting": "Tar bort", + "department": "Avdelning", + "dictionary": "Ordbok", + "disable_stop_on_first_error": "Inaktivera \"Stopp vid första fel\"", + "disconnected": "Frånkopplad", + "dismiss_error_popup": "Avfärda varning om första fel", + "do_not_have_acct_or_do_not_want_to_link": "Om du inte har ett __appName__-konto, eller om du inte vill länka till ditt __institutionName__-konto, vänligen klicka på __clickText__.", + "do_not_link_accounts": "Länka ej konton", + "documentation": "Dokumentation", + "doesnt_match": "Matchar inte", + "doing_this_allow_log_in_through_institution": "Genom att göra detta kan du logga in på __appName__ via din institutionsportal.", + "done": "Färdigt", + "dont_have_account": "Har du inget konto?", + "download": "Ladda ner", + "download_pdf": "Ladda ner PDF", + "download_zip_file": "Ladda ner .zip fil", + "drag_here": "dra här", + "drop_files_here_to_upload": "Släpp filer här för att ladda upp", + "dropbox_already_linked_error": "Ditt Dropbox-konto kan inte länkas eftersom det redan är länkat till ett annat HajTeX-konto.", + "dropbox_already_linked_error_with_email": "Ditt Dropbox-konto kan inte kopplas eftersom det redan är kopplat till ett annat HajTeX-konto med e-postadressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kontrollerar status för Dropbox-integration", + "dropbox_duplicate_names_error": "Ditt Dropbox-konto kan inte länkas eftersom du har mer än ett projekt med samma namn: ", + "dropbox_email_not_verified": "Vi har inte kunnat hämta uppdateringar från ditt Dropbox-konto. Dropbox rapporterade att din e-postadress inte är verifierad. Verifiera din e-postadress i ditt Dropbox-konto för att lösa detta.", + "dropbox_for_link_share_projs": "Det här projektet har nåtts via länkdelning och kommer inte att synkroniseras med din Dropbox om inte projektägaren bjuder in dig via e-post.", + "dropbox_integration_info": "Arbeta smidigt både online och offline med två-vägs Dropbox synk. Ändringar du gör lokalt kommer automatiskt skickas till din __appName__ version och vice versa.", + "dropbox_integration_lowercase": "Dropboxintegrering", + "dropbox_successfully_linked_description": "Tack, vi har lyckats koppla ditt Dropbox-konto till __appName__.", + "dropbox_sync": "Dropbox synkronisering", + "dropbox_sync_both": "Uppdaterar HajTeX och Dropbox", + "dropbox_sync_description": "Synkronisera dina __appName__ projekt med Dropbox. Ändringar du gör i __appName__ skickas automatiskt till din Dropbox, och vice versa.", + "dropbox_sync_error": "Fel vid Dropbox-synkning", + "dropbox_sync_in": "Uppdaterar HajTeX", + "dropbox_sync_out": "Uppdaterar Dropbox", + "dropbox_synced": "HajTeX och Dropbox är aktuella", + "dropbox_unlinked_because_access_denied": "Dropbox-kontot har kopplats bort eftersom Dropbox-tjänsten har avvisat dina lagrade autentiseringsuppgifter. Vänligen koppla tillbaka ditt Dropbox-konto för att fortsätta använda det med HajTeX.", + "dropbox_unlinked_because_full": "Ditt Dropbox-konto har kopplats bort eftersom det är fullt och vi kan inte längre skicka uppdateringar till det. Vänligen frigör lite utrymme och länka om ditt Dropbox-konto så att du kan fortsätta att använda det med HajTeX.", + "duplicate_file": "Duplicera fil", + "easily_manage_your_project_files_everywhere": "Hantera dina projektfiler enkelt och överallt", + "edit": "Redigera", + "edit_dictionary": "Redigera ordboken", + "edit_dictionary_empty": "Din personliga ordbok är tom.", + "edit_dictionary_remove": "Ta bort från ordboken", + "editing": "Redigering", + "editor_disconected_click_to_reconnect": "Editorn tappade anslutningen, klicka varsomhelst för att återansluta.", + "editor_theme": "Tema för textredigerare", + "email": "E-post", + "email_already_registered": "Den här e-postadressen är redan registrerad", + "email_already_registered_secondary": "Denna e-postadress är redan registrerad som sekundär e-postadress", + "email_does_not_belong_to_university": "Vi känner inte igen den domänen som tillhörande till ditt universitet. Vänligen kontakta oss för att lägga till tillhörigheten.", + "email_link_expired": "E-post länk har utgått, vänligen begär en ny.", + "email_or_password_wrong_try_again": "E-postadressen eller lösenordet är felaktigt.", + "email_required": "E-post krävs", + "email_sent": "E-mail skickat", + "emails_and_affiliations_explanation": "Lägg till ytterligare e-postadresser till ditt konto för att få tillgång till uppgraderingar som ditt universitet eller din institution har, för att göra det lättare för medarbetare att hitta dig och för att säkerställa att du kan återställa ditt konto.", + "emails_and_affiliations_title": "E-post och anslutningar", + "empty_zip_file": "Zip-filen innehåller ingen fil", + "en": "Engelska", + "error": "Fel", + "error_performing_request": "Ett fel har uppstått vid behandling av din begäran.", + "es": "Spanska", + "every": "varje", + "example_project": "Exempelprojekt", + "existing_plan_active_until_term_end": "Din befintliga plan och dess funktioner förblir aktiva fram till slutet av den aktuella faktureringsperioden.", + "expand": "Expandera", + "expiry": "Utgångsdatum", + "export_csv": "Exportera CSV", + "export_project_to_github": "Exportera Projekt till GitHub", + "faq_change_plans_or_cancel_answer": "Ja, du kan göra det när som helst via dina prenumerationsinställningar. Du kan ändra planer, växla mellan månads- och årsfakturering eller avbryta för att nedgradera till en kostnadsfri plan. När du avbryter fortsätter din prenumeration fram till slutet av faktureringsperioden. Om ditt konto tillfälligt inte har någon prenumeration kommer den enda ändringen att gälla de funktioner som är tillgängliga för dig. Dina projekt kommer alltid att vara tillgängliga på ditt konto.", + "faq_change_plans_or_cancel_question": "Kan jag ändra min plan eller avboka senare?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan vara med i vilken plan som helst, inklusive den kostnadsfria planen. Om du har en premiumplan kommer vissa premiumfunktioner att vara tillgängliga för dina medarbetare i projekt som du har skapat, även om dessa medarbetare har en gratisplan. För mer information, läs om <0>konto och prenumerationer och <1>hur premiumfunktioner fungerar.", + "faq_do_collab_need_on_paid_plan_question": "Måste mina medarbetare också ha en betald plan?", + "faq_how_does_a_group_plan_work_answer": "Gruppabonnemang är ett sätt att uppgradera mer än ett HajTeX-konto. De är lätta att hantera, hjälper till att spara på pappersarbete och minskar kostnaden för att köpa flera abonnemang separat. Om du vill veta mer kan du läsa om <0>anslutning till en gruppabonnemang och <1>hantering av ett gruppabonnemang. Du kan köpa gruppabonnemang ovan eller genom att <2>kontakta oss.", + "faq_how_does_a_group_plan_work_question": "Hur fungerar en gruppplan? Hur kan jag lägga till personer i planen?", + "faq_how_does_free_trial_works_answer": "Du får full tillgång till din valda __appName__-plan under din __len__-dagars gratis provperiod. Det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av din __len__-dagars provperiod om du inte avbryter innan dess. Du kan avbryta via dina prenumerationsinställningar.", + "faq_how_free_trial_works_answer_v2": "Du får full tillgång till din valda premiumplan under din __len__-dagars gratis provperiod, och det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av provperioden om du inte avbryter innan dess. Om du vill avbryta går du till dina prenumerationsinställningar på ditt konto (provperioden fortsätter under de __len__ dagarna).", + "faq_how_free_trial_works_question": "Hur fungerar din gratis prövoperiod?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I HajTeX skapar och hanterar varje användare sitt eget HajTeX-konto. De flesta användare börjar med den kostnadsfria planen men kan uppgradera och utnyttja premiumfunktionerna genom att prenumerera på en plan, gå med i en gruppprenumeration eller gå med i en <0>vanlig prenumeration. När du köper, ansluter dig till eller lämnar en prenumeration kan du fortfarande behålla samma HajTeX-konto.", + "faq_pay_by_invoice_question": "Kan jag betala med faktura?", + "faq_the_individual_standard_plan_10_collab_question": "Den individuella standardplanen har 10 projektmedarbetare, betyder det att 10 personer kommer att uppgraderas?", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I HajTeX skapar varje användare sitt eget konto. Du kan skapa projekt som bara du själv kan arbeta med, och du kan också bjuda in andra att se eller arbeta med dig i ett projekt som du äger. Användare som du delar ditt projekt med kallas <0>samarbetare. Vi hänvisar ibland till dem som projektmedarbetare.", + "fast": "Snabb", + "featured_latex_templates": "Utvalda LaTeX-mallar", + "features": "Funktioner", + "february": "Februari", + "file_action_created": "Skapade", + "file_action_deleted": "Tog bort", + "file_action_edited": "Redigerade", + "file_action_renamed": "Döpte om", + "file_already_exists": "En fil eller mapp med det namnet finns redan", + "file_already_exists_in_this_location": "Ett objekt som heter <0>__fileName__ finns redan på denna plats. Om du vill flytta den här filen, byt namn på eller ta bort den motstridiga filen och försök igen.", + "file_name_in_this_project": "Filnamn i detta projekt", + "file_outline": "Filstruktur", + "file_too_large": "Fil för stor", + "files_cannot_include_invalid_characters": "Filnamnet är tomt eller innehåller otillåtna tecken", + "files_selected": "filer valda", + "find_out_more": "Få reda på mer", + "find_out_more_about_institution_login": "Läs mer om institutionell inloggning", + "find_out_more_about_the_file_outline": "Läs mer om filöversikten", + "find_out_more_nt": "Ta reda på mer.", + "first_name": "Förnamn", + "folders": "Mappar", + "following_paths_conflict": "Följande filer & mappar har samma sökvägar", + "font_family": "Typsnittsfamilj", + "font_size": "Teckenstorlek", + "forgot_your_password": "Glömt ditt lösenord", + "fr": "Franska", + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox och förändringshistorik", + "free_plan_label": "Du har en gratisplan", + "free_plan_tooltip": "Klicka för att ta reda på hur du kan dra nytta av HajTeXs premiumfunktioner!", + "full_doc_history": "Full dokumenthistorik", + "full_doc_history_info_v2": "Du kan se alla ändringar i ditt projekt och vem som har gjort varje ändring. Lägg till etiketter för att snabbt komma åt specifika versioner.", + "generic_if_problem_continues_contact_us": "Om problemet kvarstår, vänligen kontakta oss.", + "generic_linked_file_compile_error": "Projektets utdatafiler är inte tillgängliga eftersom det inte gick att kompilera. Vänligen öppna projektet för att se information om kompileringsfel.", + "generic_something_went_wrong": "Ursäkta, något gick snett", + "get_in_touch": "Kom i kontakt", + "get_in_touch_having_problems": "Kontakta support om du har problem", + "github_commit_message_placeholder": "Commit meddelande för ändringar gjorda i __appName__...", + "github_credentials_expired": "Din auktorisering för GitHub har löpt ut", + "github_integration_lowercase": "GitHubintegration", + "github_is_premium": "GitHub synk är en premium funktion", + "github_no_master_branch_error": "Det här arkivet kan inte importeras eftersom det saknar huvudgrenen. Vänligen kontrollera att projektet har en huvudgren.", + "github_private_description": "Du kan välja vem som kan se och checka in till detta kodförråd.", + "github_public_description": "Alla kan se detta repo. Du bestämmer vem som kan commita.", + "github_successfully_linked_description": "Tack, vi har länkat ditt GitHub konto till __appName__. Du kan du exportera dina __appName__ projekt till GitHub, eller importera projekt från dina GitHub repon.", + "github_symlink_error": "Ditt Github-arkiv innehåller symboliska länkfiler som för närvarande inte stöds av HajTeX. Vänligen ta bort dessa och försök igen.", + "github_sync": "GitHub Synk", + "github_sync_description": "Med GitHub synk kan du koppla dina __appName__ projekt till GitHub repon. Skapa nya commits från __appName__ och slå samman commits som har gjorts i offlineläge eller i GitHub.", + "github_sync_error": "Ett fel uppstod vid kommunikationen med GitHub. Vänligen försök igen om en stund.", + "github_timeout_error": "Synkroniseringen av ditt HajTeX-projekt med GitHub har orsakat time-out. Det kan bero på att projektets totala storlek eller antalet filer/ändringar som ska synkroniseras är för stort.", + "github_too_many_files_error": "Det här arkivet kan inte importeras eftersom det överskrider det högsta tillåtna antalet filer.", + "github_validation_check": "Vänligen kontrollera att repots namn är giltigt samt att du har tillåtelse att skapa nya repon.", + "give_feedback": "Ge respons", + "global": "global", + "go_back_and_link_accts": "Gå tillbaka och länka dina konton", + "go_next_page": "Gå till nästa sida", + "go_page": "Gå till sidan __page__", + "go_prev_page": "Gå till föregående sida", + "go_to_code_location_in_pdf": "Gå till kodplats i PDF", + "go_to_pdf_location_in_code": "Gå till PDF platsen i koden", + "group_admin": "Gruppadministratör", + "group_full": "Gruppen är redan full", + "groups": "Grupper", + "have_more_days_to_try": "Få ytterligare __days__ dagar till dit test konto!", + "headers": "Rubriker", + "help": "Hjälp", + "help_articles_matching": "Hjälpartiklar som matchar ditt ämne", + "hide_outline": "Göm filstruktur", + "history": "Historik", + "history_add_label": "Lägg till etikett", + "history_adding_label": "Lägger till etikett", + "history_are_you_sure_delete_label": "Är du säker på att du vill ta bort följande etikett", + "history_delete_label": "Radera etikett", + "history_deleting_label": "Raderar etikett", + "history_entry_origin_git": "via Git", + "history_entry_origin_upload": "ladda upp", + "history_label_created_by": "Skapad av", + "history_label_project_current_state": "Nuvarande status", + "history_label_this_version": "Etikera denna version", + "history_new_label_name": "Nytt etikettnamn", + "history_view_all": "All historik", + "history_view_labels": "Etiketter", + "hit_enter_to_reply": "Tryck Enter för att svara", + "home": "Startsida", + "hotkey_add_a_comment": "Lägg till en kommentar", + "hotkey_bold_text": "Fet text", + "hotkey_indent_selection": "Indentera urval", + "hotkey_insert_candidate": "Infoga kandidat", + "hotkey_italic_text": "Kursiv text", + "hotkey_search_references": "Sök referenser", + "hotkey_select_candidate": "Välj kandidat", + "hotkeys": "Snabbkommandon", + "hundreds_templates_info": "Producera vackra dokument med hjälp av vårt gallery av LaTeX mallar för tidsskrifter, konferenser, uppsatser, rapporter, CV och mycket mer.", + "i_want_to_stay": "Jag vill stanna", + "if_have_existing_can_link": "Om du har ett befintligt __appName__-konto för en annan e-post-adress kan du länka det till ditt __institutionName__-konto genom att klicka på __clickText__.", + "ignore_validation_errors": "Kontrollera inte syntax", + "ill_take_it": "Jag tar det!", + "import_from_github": "Importera från GitHub", + "import_to_sharelatex": "Importera till __appName__", + "importing": "Importerar", + "importing_and_merging_changes_in_github": "Importerar och slår samman ändringar i GitHub", + "in_good_company": "Du är i gott sällskap", + "in_order_to_match_institutional_metadata_associated": "För att matcha dina institutionella metadata är ditt konto kopplat till e-post-adressen __email__.", + "increased_compile_timeout": "Ökad timeout för kompilering", + "indvidual_plans": "Individuella betalningsplaner", + "info": "Info", + "institution": "Instution", + "institution_account": "Institutionellt konto", + "institution_account_tried_to_add_affiliated_with_another_institution": "Den här e-post-adressen är redan kopplad till ditt konto men anslutet till en annan institution.", + "institution_account_tried_to_add_already_linked": "Denna institution är redan länkad till ditt konto via en annan e-post-adress.", + "institution_account_tried_to_add_already_registered": "Det e-post-konto/institutionella konto som du försökte lägga till är redan registrerat i __appName__.", + "institution_account_tried_to_confirm_saml": "Detta e-postmeddelande kan inte bekräftas. Vänligen ta bort e-postmeddelandet från ditt konto och försök att lägga till det igen.", + "institution_and_role": "Institution och befattning", + "institutional": "Institutionell", + "institutional_login_not_supported": "Ditt universitet stöder ännu inte institutionell inloggning, men du kan fortfarande registrera dig med din institutionella e-post-adress.", + "invalid_email": "En e-postadress är inte giltig", + "invalid_file_name": "Ogiltigt filnamn", + "invalid_password": "Felaktigt lösenord", + "invalid_password_too_long": "Maximal lösenordslängd __maxLength__ överskrids", + "invalid_password_too_short": "Lösenordet är för kort, minimum __minLength__", + "invalid_zip_file": "Ogiltig zip-fil", + "invite_more_collabs": "Bjuda in fler medarbetare", + "invite_not_accepted": "Inbjudan ännu inte accepterad", + "invite_not_valid": "Detta är inte en giltig inbjudan till ett projekt", + "invite_not_valid_description": "Inbjudan kan ha utgått. Vänligen kontakta ägaren till projektet", + "invited_to_group": "<0>__inviterName__ har bjudit in dig till ett team på __appName__", + "ip_address": "IP-adress", + "is_email_affiliated": "Är du ansluten till en institution?", + "it": "Italienska", + "ja": "Japanska", + "january": "Januari", + "join_project": "Gå med i projekt", + "join_sl_to_view_project": "Gå med i __appName__ för att se detta projekt", + "join_team_explanation": "Klicka på knappen nedan för att gå med i teamet och njut av fördelarna med ett uppgraderat __appName__ konto", + "joined_team": "Du har gått med i ett team som hanteras av __inviterName__", + "joining": "Går med", + "july": "Juli", + "june": "Juni", + "kb_suggestions_enquiry": "Har du kollat i vår <0>__kbLink__?", + "keep_current_plan": "Behåll min nuvarande plan", + "keybindings": "Tangentbordsgenvägar", + "knowledge_base": "kunskapsbank", + "ko": "Koreanska", + "language": "Språk", + "last_active": "Senast aktiv", + "last_active_description": "Senaste gången ett projekt öppnades.", + "last_modified": "Senast ändrad", + "last_name": "Efternamn", + "latex_templates": "LaTeX mallar", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Välj en e-mailadress för ditt första admin-konto på __appName__. Den bör matcha ett konto i LDAP-systemet. När du valt kommer du ombes logga in med detta konto.", + "learn_more": "Läs mer", + "learn_more_about_link_sharing": "Läs mer om Länkdelning", + "leave": "Lämna", + "leave_group": "Lämna grupp", + "leave_now": "Lämna nu", + "leave_projects": "Lämna projekt", + "let_us_know": "Låt oss veta", + "license": "Licens", + "line_height": "Radavstånd", + "link_account": "Länka konto", + "link_accounts": "Länka konton", + "link_accounts_and_add_email": "Länka konton och lägg till e-post", + "link_institutional_email_get_started": "Länka en institutionell e-postadress till ditt konto för att komma igång.", + "link_sharing": "Länkdelning", + "link_sharing_is_off": "Länkdelning är inaktiverat, endast inbjudna användare kan se detta projekt.", + "link_sharing_is_on": "Länkdelning är aktiverat", + "link_to_github": "Länk till ditt GitHub konto", + "link_to_github_description": "Du måste ge __appName__ åtkomst till ditt GitHub konto för att kunna synkronisera dina projekt.", + "link_to_mendeley": "Koppla till Mendeley", + "link_to_zotero": "Koppla till Zotero", + "link_your_accounts": "Länka dina konton", + "linked_accounts": "Länkade konton", + "linked_accounts_explained": "Du kan länka dina __appName__ konton med andra tjänster för att aktivera funktioner beskrivna nedan", + "linked_file": "Importerad fil", + "links": "Länkar", + "loading": "Laddar", + "loading_content": "Skapar projekt", + "loading_github_repositories": "Laddar dina GitHub repon", + "loading_recent_github_commits": "Laddar senaste commits", + "log_entry_maximum_entries": "Gränsen för maximalt antal loggposter har nåtts", + "log_entry_maximum_entries_see_full_logs": "Om du vill se de fullständiga loggarna kan du fortfarande ladda ner dem eller se de obearbetade loggarna nedan.", + "log_hint_extra_info": "Läs mer", + "log_in": "Logga in", + "log_in_and_link": "Logga in och länka", + "log_in_and_link_accounts": "Logga in och länka konton", + "log_in_first_to_proceed": "Du måste först logga in för att fortsätta.", + "log_in_with": "Logga in med __provider__", + "log_in_with_email": "Logga in med __email__", + "log_in_with_existing_institution_email": "Vänligen logga in med ditt befintliga __appName__-konto för att länka kontot __appName__ och det institutionella kontot __institutionName__ .", + "log_out": "Logga ut", + "log_out_from": "Logga ut från __email__", + "logged_in_with_email": "Du är för närvarande inloggad i __appName__ med e-postadressen __email__.", + "logging_in": "Loggar in", + "login": "Logga in", + "login_error": "Inloggningsfel", + "login_failed": "Inloggning misslyckades", + "login_here": "Logga in här", + "login_or_password_wrong_try_again": "Ditt inlogg eller lösenord är felaktigt. Vänligen försök igen", + "login_register_or": "eller", + "login_to_overleaf": "Logga in i HajTeX", + "login_with_service": "Logga in med __service__", + "logs_and_output_files": "Loggar och output filer", + "looking_multiple_licenses": "Letar du efter flera licenser?", + "looks_like_logged_in_with_email": "Det ser ut som att du redan är inloggad i __appName__ med e-postadressen __email__.", + "looks_like_youre_at": "Det ser ut som att du är vid <0>__institutionName__!", + "lost_connection": "Förlorat anslutningen", + "main_document": "Huvuddokument", + "main_file_not_found": "Okänt huvuddokument", + "maintenance": "Underhållning", + "make_a_copy": "Gör en kopia", + "make_email_primary_description": "Gör denna till den primära e-post-adressen som används för att logga in", + "make_primary": "Gör primär", + "make_private": "Gör privat", + "manage_beta_program_membership": "Hantera beta-medlemskap", + "manage_sessions": "Hantera dina sessioner", + "manage_subscription": "Hantera prenumeration", + "managers_cannot_remove_admin": "Administratörer kan inte tas bort", + "march": "Mars", + "mark_as_resolved": "Markera som löst", + "math_display": "Display matteformler", + "math_inline": "Inline matteformler", + "maximum_files_uploaded_together": "Högst __max__ filer laddas upp samtidigt", + "may": "Maj", + "members_management": "Hantering av medlemmarna", + "mendeley": "Mendeley", + "mendeley_integration": "Mendeleyintegrering", + "mendeley_is_premium": "Mendeley integrering är en premium funktion", + "mendeley_reference_loading_error": "Fel, kunde inte ladda referenser från Mendeley", + "mendeley_reference_loading_error_expired": "Medeley token har utgått, vänligen återkoppla ditt konto", + "mendeley_reference_loading_error_forbidden": "Kunde inte ladda referenser från Mendeley, vänligen återkoppla ditt konto och försök igen", + "mendeley_sync_description": "Med Mendeleyintegrering kan du importera dina referenser direkt från Mendeley till ditt __appName__ projekt", + "menu": "Meny", + "merge": "Slå samman", + "merging": "Slår samman", + "month": "månad", + "monthly": "Månatlig", + "more": "Mer", + "more_info": "Mer info", + "more_than_one_kind_of_snippet_was_requested": "Länken för att öppna detta innehåll i HajTeX innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "must_be_email_address": "Måste vara en e-postadress", + "n_items": "__count__ objekt", + "name": "Namn", + "native": "native", + "navigate_log_source": "Navigera till loggpositionen i källkoden: __location__", + "navigation": "Navigation", + "nearly_activated": "Du är ett steg från att aktivera ditt __appName__ konto!", + "need_anything_contact_us_at": "Om det är något du undrar över kan du alltid höra av dig till oss på", + "need_to_add_new_primary_before_remove": "Du måste lägga till en ny primär e-post-adress innan du kan ta bort den här.", + "need_to_leave": "Vill du lämna?", + "need_to_upgrade_for_more_collabs": "Du måste uppgradera ditt konto för att lägga till fler samarbetspartners", + "new_file": "Ny fil", + "new_folder": "Ny mapp", + "new_name": "Nytt namn", + "new_password": "Nytt lösenord", + "new_project": "Nytt projekt", + "new_snippet_project": "Namnlös", + "next_payment_of_x_collectected_on_y": "Nästa betalning på <0>__paymentAmmount__ kommer att genomföras den <1>__collectionDate__", + "nl": "Holländska", + "no": "Norska", + "no_comments": "Inga kommentarer", + "no_existing_password": "Vänligen använd formuläret för att återställa lösenord för att ange ditt lösenord", + "no_featured_templates": "Inga utvalda mallar", + "no_members": "Inga medlemmar", + "no_messages": "Inga meddelanden", + "no_new_commits_in_github": "Inga nya commits i GitHub sedan senaste sammanslagning.", + "no_other_projects_found": "Inga andra projekt har hittats, vänligen skapa ett annat projekt först", + "no_other_sessions": "Inga andra aktiva sessioner", + "no_pdf_error_explanation": "Denna kompilering producerade inte en PDF -fil. Detta kan hända om:", + "no_pdf_error_reason_output_pdf_already_exists": "Detta projekt innehåller en fil som heter output.pdf. Om den filen finns, byt namn på den och kompilera igen.", + "no_pdf_error_reason_unrecoverable_error": "Det finns ett oåterkalleligt LaTeX -fel. Om det finns LaTeX -fel som visas nedan eller i råloggarna, försök att åtgärda dem och kompilera igen.", + "no_pdf_error_title": "Ingen PDF", + "no_planned_maintenance": "Det finns för närvarande inget planerat underhållsarbete", + "no_preview_available": "Tyvärr, det finns inte någon förhandsvisning tillgänglig.", + "no_projects": "Inga projekt", + "no_resolved_threads": "Inga lösta trådar", + "no_search_results": "Inga sök resultat", + "no_selection_select_file": "För närvarande är ingen fil vald. Vänligen välj en fil från filträdet.", + "no_symbols_found": "Inga symboler hittades", + "no_thanks_cancel_now": "Nej tack, jag vill fortfarande avsluta", + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per månad", + "normally_x_price_per_year": "Normalt __price__ per år", + "not_found_error_from_the_supplied_url": "Länken för att öppna detta innehåll i HajTeX pekade på en fil som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "not_now": "Inte nu", + "not_registered": "Ej registrerad", + "note_features_under_development": "<0>Vänligen observera att funktionerna i detta program fortfarande testas och utvecklas aktivt. Detta innebär att de kan <0>förändras, <0>tas bort eller <0>bli en del av en premiumplan.", + "notification_features_upgraded_by_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med HajTeX och du har nu tillgång till alla HajTeXs professionella funktioner.", + "notification_personal_subscription_not_required_due_to_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med HajTeX och du har nu tillgång till HajTeXs professionella funktioner genom din anslutning. Du kan säga upp din personliga prenumeration utan att förlora åtkomst till någon av dina förmåner.", + "notification_project_invite": "__userName__ vill att du går med i __projectName__, Gå med i projektet", + "notification_project_invite_accepted_message": "Du har anslutit dig till __projectName__", + "november": "November", + "number_collab": "Antal samarbetspartners", + "october": "Oktober", + "off": "Av", + "official": "Officiell", + "ok": "OK", + "on": "På", + "one_collaborator": "Endast en samarbetare", + "one_free_collab": "En gratis samarbetsparnter", + "online_latex_editor": "Online-LaTeX-editor", + "open_a_file_on_the_left": "Öppna en fil till vänster", + "open_project": "Öppna projekt", + "optional": "Valfritt", + "or": "eller", + "other_actions": "Andra åtgärder", + "other_logs_and_files": "Andra loggar och filer", + "other_output_files": "Ladda ner andra utdatafiler", + "over": "över", + "overall_theme": "Övergripande tema", + "overleaf": "HajTeX", + "overview": "Översikt", + "owned_by_x": "ägs av __x__", + "owner": "Ägare", + "page_not_found": "Sidan kunde inte hittas", + "pagination_navigation": "Sidnavigering", + "password": "Lösenord", + "password_change_old_password_wrong": "Ditt gamla lösenord är fel", + "password_change_password_must_be_different": "Lösenordet som du skrev in är samma som ditt nuvarande lösenord. Vänligen försök med ett annat lösenord.", + "password_change_passwords_do_not_match": "Lösenorden matchar ej", + "password_change_successful": "Lösenord har ändrats", + "password_managed_externally": "Lösenordsinställningar hanteras externt", + "password_reset": "Återställ lösenord", + "password_reset_email_sent": "Ett e-postmeddelande har skickats till dig för att slutföra lösenordsåterställningen.", + "password_reset_token_expired": "Lösenordsåterställningen är för gammal. Vänligen begär en ny lösenordsåterställning och följ länken i e-postmeddelandet.", + "password_too_long_please_reset": "Maximal lösenordslängd har överskridits. Vänligen återställ ditt lösenord.", + "payment_provider_unreachable_error": "Tyvärr uppstod ett fel när vi kommunicerade med vår betalningsleverantör. Vänligen försök igen om ett tag.\nOm du använder några annons- eller skriptblockeringstillägg i din webbläsare kan du behöva inaktivera dem tillfälligt.", + "payment_summary": "Sammanfattning av betalningen", + "pdf_compile_in_progress_error": "Kompilering körs redan i ett annat fönster", + "pdf_compile_rate_limit_hit": "Kompilerings gräns nådd", + "pdf_compile_try_again": "Vänligen vänta tills din andra kompilering är klar innan du försöker igen.", + "pdf_preview_error": "Det fanns ett problem med att visa resultaten av kompileringen för detta projekt.", + "pdf_rendering_error": "PDF renderingsfel", + "pdf_viewer": "PDF läsare", + "pdf_viewer_error": "Det fanns ett problem med att visa PDF-filen för detta projekt.", + "pending": "Inväntar", + "personal": "Privat", + "pl": "Polska", + "plan_tooltip": "Du har __plan__-planen. Klicka för att ta reda på hur du får ut det mesta av dina HajTeX premiumfunktioner!", + "planned_maintenance": "Planerat underhåll", + "plans_amper_pricing": "Betalningsplaner och avgifter", + "plans_and_pricing": "Betalningsplaner och Priser", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Vänligen be projektägaren att uppgradera för att kunna spåra ändringar", + "please_change_primary_to_remove": "Vänligen ändra din primära e-post-adress för att ta bort", + "please_check_your_inbox": "Vänligen kontrollera din inkorg", + "please_check_your_inbox_to_confirm": "Kontrollera din e-postinkorg för att bekräfta din tillhörighet till <0>__institutionName__.", + "please_compile_pdf_before_download": "Vänligen kompilera ditt projekt innan du laddar ner PDF filen", + "please_compile_pdf_before_word_count": "Vänligen kompilera ditt projekt innan du gör en ord räkning", + "please_confirm_email": "Vänligen bekräfta din e-postadress __emailAddress__ genom att klicka på länken i bekräftelse-e-posten", + "please_confirm_your_email_before_making_it_default": "Vänligen bekräfta din e-postadress före du gör den till förinställd e-postadress", + "please_enter_email": "Vänligen ange din e-postadress", + "please_reconfirm_institutional_email": "Vänligen bekräfta din institutionella e-post-adress eller <0>ta bort den från ditt konto.", + "please_refresh": "Vänligen uppdatera sidan för att fortsätta.", + "please_select_a_project": "Vänligen välj ett projekt", + "please_set_a_password": "Vänligen välj ett lösenord", + "please_set_main_file": "Välj en huvudfil för detta projekt i projektmenyn. ", + "portal_add_affiliation_to_join": "Det ser ut som om du redan är inloggad på __appName__! Om du har en __portalTitle__ e-postadress kan du lägga till den nu.", + "position": "Position", + "postal_code": "Postnummer", + "powerful_latex_editor_and_realtime_collaboration": "Kraftfull LaTeX-redigerare och samarbete i realtid", + "powerful_latex_editor_and_realtime_collaboration_info": "Stavningskontroll, intelligent autokomplettering, syntaxmarkering, dussintals färgteman, anslutningar till vim och emacs, hjälp med LaTeX-varningar och felmeddelanden och mycket mer. Alla har alltid den senaste versionen, och du kan se dina samarbetspartners markörer och ändringar i realtid.", + "premium_feature": "Premium-funktion", + "premium_features": "Premiumfunktioner", + "premium_plan_label": "Du använder HajTeX Premium", + "presentation": "Presentation", + "price": "Pris", + "priority_support": "Prioriterad support", + "priority_support_info": "Vårt hjälpsamma supportteam prioriterar och eskalerar dina supportförfrågningar vid behov.", + "privacy": "Integritet", + "privacy_policy": "Användarvillkor", + "private": "Privat", + "problem_changing_email_address": "Det gick inte att byta din e-postadress. Vänligen försök igen om en liten stund. Kvarstår problemet så får du gärna kontakta oss.", + "problem_talking_to_publishing_service": "Det har uppstått ett problem på vår publiceringsserver, vänligen försök igen om några minuter", + "problem_with_subscription_contact_us": "Det har uppstått ett problem med din prenumeration. Vänligen kontakta oss för mer information.", + "proceed_to_paypal": "Fortsätt till PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Om du går vidare till PayPal kommer du till PayPal-webbplatsen där du kan betala för din prenumeration.", + "processing": "behandlar", + "processing_your_request": "Vänligen vänta medan vi behandlar din begäran.", + "professional": "Professionell", + "project_approaching_file_limit": "Detta projekt närmar sig gränsen för antalet filer", + "project_flagged_too_many_compiles": "Detta projekt har kompilerats för ofta. Begränsningen kommer snart tas bort igen.", + "project_has_too_many_files": "Detta projekt har nått gränsen på 2000 filer", + "project_last_published_at": "Ditt projekt blev publicerat senast den", + "project_name": "Projekt namn", + "project_not_linked_to_github": "Detta projekt är inte länkat till ett GitHub repo. Du kan skapa ett repo för det på GitHub:", + "project_ownership_transfer_confirmation_1": "Är du säker på att du vill göra <0>__user__ till ägaren av <1>__project__?", + "project_ownership_transfer_confirmation_2": "Denna åtgärd kan inte ångras. Den nya ägaren kommer att meddelas och kommer att kunna ändra inställningarna för projektåtkomst (inklusive att ta bort din egen åtkomst).", + "project_synced_with_git_repo_at": "Detta projekt är synkat med GitHub repot på", + "project_too_large": "Projektet är för stort", + "project_too_large_please_reduce": "Detta projekt har för mycket redigerbar text, försök att minska ner det. De största filerna är:", + "project_too_much_editable_text": "Det här projektet har för mycket redigerbar text, försök att minska den.", + "project_url": "Påverkad projekt URL", + "projects": "Projekt", + "projects_list": "Förteckning över projekt", + "pt": "Portugisiska", + "public": "Publik", + "publish": "Publicera", + "publish_as_template": "Publicera som mall", + "publishing": "Publicerar", + "pull_github_changes_into_sharelatex": "Dra GitHub ändringar till __appName__", + "push_sharelatex_changes_to_github": "Tryck __appName__ ändringar till GitHub", + "quoted_text_in": "Citerad text i", + "raw_logs": "Ursprungliga loggar", + "raw_logs_description": "Ursprungliga loggar från LaTeX-kompilatorn", + "read_only": "Endast läs", + "realtime_track_changes": "Realtidsspåra ändringar", + "realtime_track_changes_info_v2": "Aktivera Spåra ändringar för att se vem som har gjort varje ändring, acceptera eller förkasta andras ändringar och skriv kommentarer.", + "reauthorize_github_account": "Återauktorisera ditt GitHub konto", + "recent_commits_in_github": "Senaste commits på GitHub", + "recompile": "Kompilera", + "recompile_from_scratch": "Återkompilera från början", + "recompile_pdf": "Kompilera om PDF:en", + "reconfirm": "bekräfta igen", + "reconfirm_explained": "Vi måste bekräfta ditt konto igen. Vänligen begär en länk för återställning av lösenord via formuläret nedan för att bekräfta ditt konto igen. Om du har några problem med att bekräfta ditt konto, vänligen kontakta oss på", + "reconnect": "Försök igen", + "reconnecting": "Återansluter", + "reconnecting_in_x_secs": "Återansluter om __seconds__ sekunder", + "recurly_email_update_needed": "Din e-postadress för fakturering är för närvarande <0>__recurlyEmail__. Vid behov kan du uppdatera din faktureringsadress till <1>__userEmail__.", + "recurly_email_updated": "Din e-postadress för fakturering har uppdaterats", + "reduce_costs_group_licenses": "Du kan dra ner på pappersarbete och minska kostnader med våra rabatterade grupplicenser.", + "reference_error_relink_hint": "Om felet kvarstår, testa att återkoppla ditt konto här:", + "reference_search": "Avancerad referenssökning", + "reference_search_info_v2": "Det är lätt att hitta dina referenser - du kan söka på författare, titel, år eller tidskrift. Du kan fortfarande söka efter referensnyckel också.", + "reference_sync": "Referenshanterare synk", + "refresh": "Uppdatera", + "refresh_page_after_starting_free_trial": "Vänligen uppdatera denna sida efter att du startat din gratis provapå period.", + "regards": "Vänliga Hälsningar", + "register": "Registrera", + "register_error": "Registreringsfel", + "register_intercept_sso": "Du kan länka ditt __authProviderName__-konto från sidan Kontoinställningar efter att du loggat in.", + "register_to_edit_template": "Vänligen registrera dig för att redigera __templateName__ mallen", + "registered": "Registrerad", + "registering": "Registrerar", + "registration_error": "Registreringsfel", + "reject": "Neka", + "reject_all": "Avvisa alla", + "reload_editor": "Ladda om redigeraren", + "remote_service_error": "Fjärrtjänsten producerade ett fel", + "remove": "ta bort", + "remove_collaborator": "Ta bort samarbetspartner", + "remove_from_group": "Ta bort från grupp", + "removed": "tagits bort", + "removing": "Tar bort", + "rename": "Ändra namn", + "rename_project": "Ändra namn på projekt", + "renaming": "Döper om", + "reopen": "Återöppna", + "reply": "Svara", + "repository_name": "Namn på Repo", + "republish": "Återpublicera", + "request_password_reset": "Begär lösenordsåterställning", + "request_reconfirmation_email": "Begär bekräftelse via e-post", + "request_sent_thank_you": "Meddelandet har skickats! Vårt team kommer att granska det och svara via e-post.", + "requesting_password_reset": "Begär återställning av lösenord", + "required": "Obligatorisk", + "resend": "Skicka igen", + "resend_confirmation_email": "Skicka om e-postbekräftelse", + "resending_confirmation_email": "Skickar e-postmeddelande med bekräftelse igen", + "reset_password": "Återställ lösenord", + "reset_your_password": "Återställ ditt lösenord", + "resolve": "Lös", + "resolved_comments": "Åtgärdade kommentarer", + "restore": "Återställ", + "restoring": "Återställer", + "restricted": "Begränsad", + "restricted_no_permission": "Ursäkta, du har inte tillåtelse att visa denna sida.", + "return_to_login_page": "Tillbaka till inloggningssidan", + "reverse_x_sort_order": "Omvänd __x__-sortering", + "review": "Granska", + "review_your_peers_work": "Granska dina medarbetares bidrag", + "revoke": "Återkalla", + "revoke_invite": "Återkalla inbjudan", + "ro": "Rumänska", + "role": "Roll", + "ru": "Ryska", + "saml": "SAML", + "saml_create_admin_instructions": "Välj en e-mailadress för ditt första admin-konto på __appName__. Den bör matcha ett konto i SAML-systemet. När du valt kommer du ombes logga in med detta konto.", + "save_or_cancel-cancel": "Avbryt", + "save_or_cancel-or": "eller", + "save_or_cancel-save": "Spara", + "saving": "Spara", + "saving_notification_with_seconds": "Sparar __docname__... (__seconds__ sekunder av osparade ändringar)", + "search": "Sök", + "search_bib_files": "Sök efter författare, titel, år", + "search_projects": "Sök projekt", + "search_references": "Sök i .bib filerna för det här projektet", + "secondary_email_password_reset": "Denna e-postadress är registrerad som sekundär e-postadress. Vänligen ange primär e-postadress för ditt konto.", + "security": "Säkerhet", + "see_changes_in_your_documents_live": "Se ändringar i dina dokument, i realtid", + "select_a_project": "Välj ett projekt", + "select_all_projects": "Välj alla", + "select_an_output_file": "Välj en utdatafil", + "select_from_source_files": "Välj från källfiler", + "select_github_repository": "Välj ett GitHub repo att importera till __appName__.", + "send": "Skicka", + "send_first_message": "Skicka ditt första meddelande till dina medarbetare", + "send_test_email": "Skicka ett test-mail", + "sending": "Skickar", + "september": "September", + "server_error": "Serverfel", + "services": "Tjänster", + "session_created_at": "Session skapad den", + "session_expired_redirecting_to_login": "Sessionen har utgått. Dirigerar om till login sidan om __seconds__ sekunder", + "sessions": "Sessioner", + "set_new_password": "Ange nytt lösenord", + "set_password": "Ange lösenord", + "settings": "Inställningar", + "share": "Dela", + "share_project": "Dela projekt", + "share_with_your_collabs": "Dela med dina samarbetspartners", + "shared_with_you": "Delade med dig", + "sharelatex_beta_program": "__appName__ Beta-program", + "show_all": "visa alla", + "show_all_projects": "Visa alla projekt", + "show_hotkeys": "Visa tangentbordsgenvägar", + "show_less": "visa mindre", + "show_outline": "Visa filstruktur", + "site_description": "En online-LaTeX-editor som är enkel att använda. Samarbeta i realtid, utan installation, med versionshantering, hundratals LaTeX-mallar, med mera.", + "something_went_wrong_canceling_your_subscription": "Något gick fel när vi avslutade din prenumeration. Vänligen kontakta support.", + "something_went_wrong_rendering_pdf": "Något gick fel under renderingen av denna PDF:en.", + "somthing_went_wrong_compiling": "Ursäkta, något blev fel och ditt projekt kunde inte kompileras. Vänligen försök igen om en liten stund.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Tyvärr inträffade ett oväntat fel när du försökte öppna innehållet i HajTeX. Vänligen försök igen.", + "sort_by": "Sortera efter", + "sort_by_x": "Sortera efter __x__", + "source": "Källfiler", + "spell_check": "Stavningskontroll", + "sso_account_already_linked": "Kontot är redan kopplat till en annan __appName__-användare", + "sso_link_error": "Fel vid länkning av konto", + "sso_not_linked": "Du har inte kopplat ditt konto till __provider__. Logga in på ditt konto på ett annat sätt och koppla ditt __provider__-konto via dina kontoinställningar.", + "sso_user_denied_access": "Du kan inte logga in eftersom __appName__ inte fick tillgång till ditt __provider__-konto. Vänligen försök igen.", + "start_by_adding_your_email": "Börja med att lägga till din e-postadress.", + "start_free_trial": "Starta utvärderingsperiod!", + "state": "Status", + "status_checks": "Rutinkontroller", + "still_have_questions": "Har du fortfarande frågor?", + "stop_compile": "Stoppa kompilering", + "stop_on_validation_error": "Kontrollera syntax innan kompilering", + "store_your_work": "Lagra ditt arbete på din egen infrastruktur", + "student": "Student", + "student_disclaimer": "Studentrabatten gäller för alla studenter på gymnasienivå eller högre. Vi kan komma att kontakta dig för att bekräfta din behörighet för rabatten.", + "subject": "Ämne", + "subject_to_additional_vat": "Moms kan tillkomma till priser beroende på ditt land.", + "submit": "Skicka", + "submit_title": "Skicka in", + "subscribe": "Prenumerera", + "subscription": "Prenumeration", + "subscription_admins_cannot_be_deleted": "Du kan inte radera ditt konto när du har en prenumeration. Vänligen avbryt din prenumeration och försök igen. Om du fortsätter att se det här meddelandet, vänligen kontakta oss.", + "subscription_canceled": "Prenumeration avslutad", + "subscription_canceled_and_terminate_on_x": " Din prenumeration har avbrutits och kommer att upphöra den <0>__terminateDate__. Inga framtida betalningar kommer att genomföras.", + "suggestion": "Förslag", + "sure_you_want_to_change_plan": "Är du säker på att du vill ändra till betalningsplan <0>__planName__?", + "sure_you_want_to_delete": "Är du säker på att du vill permanent radera följande filer?", + "sure_you_want_to_leave_group": "Är du säker på att du vill lämna denna gruppen?", + "sv": "Svenska", + "switch_to_editor": "Byt till editor", + "switch_to_pdf": "Byt till PDF", + "sync": "Synka", + "sync_dropbox_github": "Synka med Dropbox och GitHub", + "sync_project_to_github_explanation": "Alla ändringar du gör i __appName__ kommer att commitas och slås samman med uppdateringar i GitHub.", + "sync_to_dropbox": "Synka till Dropbox", + "sync_to_github": "Synka till GitHub", + "synctex_failed": "Kunde ej finna motsvarande källfil", + "syntax_validation": "Kodkontroll", + "tag_name_cannot_exceed_characters": "Taggnamnet får inte överstiga __maxLength__ tecken.", + "take_me_home": "Ta mig härifrån!", + "take_short_survey": "Gör en kort enkät", + "tc_everyone": "Alla", + "tc_guests": "Gäster", + "tc_switch_everyone_tip": "Aktivera spårningsändringar för alla", + "tc_switch_guests_tip": "Aktivera spårningsändringar för alla länkdelade gäster", + "tc_switch_user_tip": "Aktivera spårningsändringar för denna användare", + "template_approved_by_publisher": "Denna mall har godkänts av utgivaren", + "template_description": "Mallbeskrivning", + "template_gallery": "Mallgalleri", + "template_not_found_description": "Detta sätt att skapa projekt från mallar har tagits bort. Vänligen besök vårt mallgalleri för att hitta fler mallar.", + "template_title_taken_from_project_title": "Mallens titel hämtas automatiskt från projektets titel.", + "templates": "Mallar", + "terminated": "Kompilering avbruten", + "terms": "Villkor", + "tex_live_version": "TeX Live-version", + "thank_you": "Tack!", + "thank_you_email_confirmed": "Tack, din e-postadress är nu bekräftad.", + "thank_you_for_being_part_of_our_beta_program": "Tack för att du deltar i vårt betaprogram, där du kan få tidig tillgång till nya funktioner och hjälpa oss att bättre förstå dina behov", + "thanks": "Tack", + "thanks_for_subscribing": "Tack för din prenumeration!", + "thanks_for_subscribing_you_help_sl": "Tack för att du prenumererar på en __planName__ betalningsplan. Det är stöd från personer som dig som gör att __appName__ kan fortsätta växa och förbättras.", + "thanks_settings_updated": "Tack, dina inställningar har uppdateras.", + "the_file_supplied_is_of_an_unsupported_type ": "Länken för att öppna detta innehåll i HajTeX pekade på fel typ av fil. Giltiga filtyper är .tex-dokument och .zip-filer. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_requested_conversion_job_was_not_found": "Länken för att öppna detta innehåll i HajTeX angav ett konverteringsjobb som inte kunde hittas. Det är möjligt att jobbet har löpt ut och måste köras igen. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_requested_publisher_was_not_found": "Länken för att öppna detta innehåll i HajTeX angav en utgivare som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_required_parameters_were_not_supplied": "Länken för att öppna detta innehåll i HajTeX saknade några nödvändiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_supplied_parameters_were_invalid": "Länken för att öppna detta innehåll i HajTeX innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "the_supplied_uri_is_invalid": "Länken för att öppna detta innehåll i HajTeX innehöll en ogiltig URI. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "theme": "Tema", + "then_x_price_per_month": "Därefter __price__ per månad", + "then_x_price_per_year": "Därefter __price__ per år", + "there_was_an_error_opening_your_content": "Ett fel uppstod när ditt projekt skulle skapas", + "thesis": "Uppsats", + "this_action_cannot_be_undone": "Denna åtgärd kan inte ångras.", + "this_address_will_be_shown_on_the_invoice": "Denna adress kommer att anges på fakturan.", + "this_field_is_required": "Detta fält är obligatoriskt", + "this_is_your_template": "Detta är din mall från ditt projekt", + "this_project_is_public": "Detta projekt är publikt och kan redigeras av vem som helst med länken.", + "this_project_is_public_read_only": "Det här projektet är publikt och kan visas, men inte redigeras, av vem som helst med länken.", + "this_project_will_appear_in_your_dropbox_folder_at": "Detta projekt kommer att synas i din Dropbox mapp på ", + "thousands_templates": "Tusentals mallar", + "thousands_templates_info": "Producera vackra dokument med hjälp av vårt galleri av LaTeX-mallar för tidskrifter, konferenser, avhandlingar, rapporter, CV:n och mycket mer.", + "three_free_collab": "Tre gratis samarbetspartners", + "timedout": "Timed out", + "tip": "Tips", + "title": "Titel", + "to_add_more_collaborators": "För att lägga till fler medarbetare eller aktivera delning av länk, vänligen fråga projektägaren", + "to_change_access_permissions": "För att ändra åtkomsträttigheter, vänligen fråga projektägaren", + "to_many_login_requests_2_mins": "Detta konto har haft för många inloggningsförsök. Vänligen vänta 2 minuter innan nästa försök.", + "to_modify_your_subscription_go_to": "För att förändra din prenumeration gå till", + "toggle_compile_options_menu": "Växla menyn för kompileringsalternativ", + "token_access_failure": "Kan ej bevilja åtkomst; kontakta projektägaren för hjälp", + "too_many_files_uploaded_throttled_short_period": "För många filer har laddats upp, dina uppladdningar har tillfälligt begränsats.", + "too_many_requests": "Alltför många förfrågningar mottogs på kort tid. Vänligen vänta ett tag och försök igen.", + "too_recently_compiled": "Det här projektet har nyligen kompilerats, en ny kompilering har därför inte gjorts.", + "tooltip_hide_filetree": "Klicka för att gömma filträdet", + "tooltip_hide_pdf": "Klicka för att gömma PDF:en", + "tooltip_show_filetree": "Klicka för att visa filträdet", + "tooltip_show_pdf": "Klicka för att visa PDF:en", + "total_per_month": "Totalt per månad", + "total_per_year": "Totalt per år", + "total_words": "Totalt antal ord", + "tr": "Turkiska", + "track_any_change_in_real_time": "Spåra alla ändringar, i realtid", + "track_changes": "Spåra ändringar", + "track_changes_is_off": "Spåra ändringar är av", + "track_changes_is_on": "Spåra ändringar är ", + "tracked_change_added": "Tillagd", + "tracked_change_deleted": "Raderad", + "trash": "Papperskorg", + "trash_projects": "Kasta projekt", + "trashed_projects": "Kastade projekt", + "trashing_projects_wont_affect_collaborators": "Kasta projekt kommer inte att påverka dina samarbetspartners.", + "tried_to_log_in_with_email": "Du har försökt logga in med __email__.", + "tried_to_register_with_email": "Du har försökt att registrera dig med __email__ som redan är registrerat med __appName__ som ett institutionellt konto.", + "try_again": "Vänligen försök igen", + "try_it_for_free": "Prova gratis", + "try_now": "Testa Nu", + "turn_off_link_sharing": "Inaktivera länkdelning", + "turn_on_link_sharing": "Aktivera länkdelning", + "uk": "Ukrainska", + "unable_to_extract_the_supplied_zip_file": "Det gick inte att öppna detta innehåll i HajTeX eftersom zip-filen inte kunde extraheras. Vänligen se till att det är en giltig zip-fil. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "unarchive": "Återskapa", + "uncategorized": "Okategoriserat", + "unconfirmed": "Obekräftad", + "university": "Universitet", + "unlimited": "Obegränsat", + "unlimited_collabs": "Obegränsat med samarbetare", + "unlimited_projects": "Obegränsat med projekt", + "unlink": "Koppla bort", + "unlink_github_warning": "Projekt som du har synkat med GitHub kommer att kopplas bort och inte längre synkroniseras med GitHub. Är du säker på att du vill koppla bort ditt GitHub konto?", + "unlink_reference": "Ta bort referens koppling", + "unlink_warning_reference": "Varning: När du tar bort kopplingen från ditt konto kommer du inte längre att kunna importera referenser till ditt projekt.", + "unpublish": "Avpublicera", + "unpublishing": "Avpublicera", + "unsubscribe": "Avsluta prenumeration", + "unsubscribed": "Prenumeration avslutad", + "unsubscribing": "Avslutar prenumeration", + "untrash": "Återskapa", + "update": "Uppdatera", + "update_account_info": "Uppdatera kontoinformation", + "update_dropbox_settings": "Uppdatera Dropbox inställningar", + "update_your_billing_details": "Uppdatera din betalningsinformation", + "updating_site": "Uppdaterar webbsidan", + "upgrade": "Uppgradera", + "upgrade_cc_btn": "Uppgradera nu, betala efter 7 dagar", + "upgrade_now": "Uppgradera Nu", + "upgrade_to_get_feature": "Uppgradera för att få __feature__, plus:", + "upgrade_to_track_changes": "Uppgradera för att spåra ändringar", + "upload": "Ladda upp", + "upload_failed": "Uppladdning misslyckades", + "upload_project": "Ladda upp projekt", + "upload_zipped_project": "Ladda upp zippat projekt", + "user_already_added": "Användare redan tillagd", + "user_deletion_error": "Tyvärr, något gick fel vid raderingen av ditt konto. Vänligen försök igen om en minut.", + "user_not_found": "Användare ej funnen", + "user_wants_you_to_see_project": "__username__ vill att du ska gå med i __projectname__", + "validation_issue_entry_description": "Ett valideringsproblem som förhindrade kompilering av detta projekt", + "vat_number": "Moms nummer", + "view_all": "Visa alla", + "view_in_template_gallery": "Visa i mallgalleri", + "view_logs": "Visa loggar", + "view_pdf": "Visa PDF", + "view_source": "Visa källa", + "view_your_invoices": "Visa dina fakturor", + "want_change_to_apply_before_plan_end": "Om du vill att ändringen ska gälla före slutet av din nuvarande faktureringsperiod, vänligen kontakta oss.", + "we_cant_find_any_sections_or_subsections_in_this_file": "Vi kan ej finna några avsnitt eller underavsnitt i denna fil", + "we_logged_you_in": "Vi har loggat in dig.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "Vi kan också kontakta dig då och då via e-post med en undersökning, eller för att se om du vill delta i andra användarundersökningsinitiativ", + "wed_love_you_to_stay": "Vi önskar att du stannar", + "welcome_to_sl": "Välkommen till __appName__", + "wide": "Bred", + "will_need_to_log_out_from_and_in_with": "Du måste logga ut från ditt __email1__-konto och sedan logga in med __email2__.", + "word_count": "Ordräknare", + "work_offline": "Arbeta offline", + "x_price_for_first_month": "<0>__price__ för din första månad", + "x_price_for_first_year": "<0>__price__ för ditt första år", + "x_price_for_y_months": "<0>__price__ för dina första __discountMonths__ månader", + "x_price_per_year": "<0>__price__ per år", + "year": "år", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kan när som helst gå med/ur programmet på denna sida", + "you_dont_have_any_repositories": "Du har inga förvaringsutrymmen", + "you_have_added_x_of_group_size_y": "Du har lagt till <0>__addedUsersSize__ av <1>__groupSize__ tillgängliga medlemmar", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "Du kan kontakta oss när som helst för att ge respons", + "your_affiliation_is_confirmed": "Din tillhörighet till <0>__institutionName__ är bekräftad.", + "your_new_plan": "Din nya plan", + "your_plan": "Din betalningsplan", + "your_projects": "Dina Projekt", + "your_sessions": "Dina sessioner", + "your_subscription": "Din prenumeration", + "your_subscription_has_expired": "Din prenumeration har gått ut.", + "zh-CN": "Kinesiska", + "zip_contents_too_large": "Zip-filens innehåll är för stort", + "zotero": "Zotero", + "zotero_integration": "Zotero integrering", + "zotero_is_premium": "Zotero integrering är en premium funktion", + "zotero_reference_loading_error": "Fel, kunde inte ladda referenser från Zotero", + "zotero_reference_loading_error_expired": "Zotero token har utgått, vänligen återkoppla ditt konto", + "zotero_reference_loading_error_forbidden": "Kunde inte ladda referenser från Zotero, vänligen återkoppla ditt konto och försök igen", + "zotero_sync_description": "Med Zotero integrering kan du importera dina referenser direkt från Zotero till ditt __appName__ projekt." +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/tr.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/tr.json new file mode 100644 index 0000000..5561195 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/tr.json @@ -0,0 +1,389 @@ +{ + "About": "Hakkında", + "Account": "Hesap", + "Account Settings": "Hesap Ayarları", + "Documentation": "Dökümantasyon", + "Projects": "Projeler", + "Security": "Güvenlik", + "Subscription": "Abonelik", + "Terms": "Şartlar", + "Universities": "Üniversiteler", + "about": "Hakkında", + "about_to_delete_projects": "Şu projeleri silmek üzeresiniz:", + "about_to_leave_projects": "Şu projeleri terk etmek üzeresiniz:", + "account": "Hesap", + "account_not_linked_to_dropbox": "Hesabınız, Dropbox’a bağlı değildir", + "account_settings": "Hesap Ayarları", + "actions": "İşlemler", + "activate": "Aktifleştir", + "activate_account": "Hesap etkinleştir", + "activating": "Aktifleştiriliyor", + "activation_token_expired": "Aktivasyon kodunuzun süresi geçmiş, size tekrar yollayacağımız kodu kullanın.", + "add": "Ekle", + "add_more_members": "Daha fazla üye ekleyin", + "add_your_first_group_member_now": "Grubunuza ilk üyeleri ekleyin", + "added": "eklenmiş", + "adding": "Ekleniyor", + "address": "Adres", + "admin": "yönetici", + "all_projects": "Tüm Projeler", + "all_templates": "Tüm Şablonlar", + "already_have_sl_account": "Zaten bir __appName__ hesabınız mı var?", + "and": "ya da ne", + "annual": "Yıllık", + "anonymous": "Anonim", + "april": "Nisan", + "august": "Ağustos", + "auto_complete": "Otomatik-Tamamlama", + "back_to_your_projects": "Projelerinize geri dönün", + "beta": "Beta", + "bibliographies": "Kaynakça", + "blank_project": "Boş Proje", + "blog": "Blog", + "built_in": "Yerleşik", + "can_edit": "Değişiklik Yapabilir", + "cancel": "İptal", + "cancel_my_account": "Hesabımı iptal et", + "cancel_your_subscription": "Hesabınızı iptal edin", + "cant_find_email": "Üzgünüz ama bu kayıtlı bir e-posta adresi değildir.", + "cant_find_page": "Özür dileriz, aradığınız sayfayı bulamıyoruz", + "change": "Değiştir", + "change_password": "Şifre Değiştir", + "change_plan": "Plan değiştir", + "change_to_this_plan": "Bu plana geç", + "chat": "Sohbet", + "checking_dropbox_status": "Dropbox’un durumu kontrol ediliyor", + "checking_project_github_status": "Projenin GitHub’daki durumu kontrol ediliyor", + "choose_your_plan": "Planınızı seçin", + "city": "Şehir", + "clear_cached_files": "Önbellek dosyalarını temizle", + "clearing": "Temizleniyor", + "click_here_to_view_sl_in_lng": "__appName__’i <0>__lngName__ dilinde kullanmak için", + "close": "Kapat", + "cn": "Çince (Basitleştirilmiş)", + "collaboration": "İş birliği", + "collaborator": "İş ortağı", + "collabs_per_proj": "her bir proje için __collabcount__ iş ortağı", + "comment": "Yorumlar", + "commit": "İşle", + "common": "Belirli", + "compiler": "Derleyici", + "compiling": "Derleniyor", + "complete": "Tamamla", + "confirm_new_password": "Yeni Şifreyi Doğrula", + "connected_users": "Bağlı Kullanıcılar", + "connecting": "Bağlanıyor", + "contact": "İletişim", + "contact_us": "İletişime geçin", + "continue_github_merge": "Kendim birleştirdim. Devam et", + "copy": "Kopyala", + "copy_project": "Projeyi Kopyala", + "copying": "kopyalama", + "country": "Ülke", + "coupon_code": "kupon kodu", + "create": "Oluştur", + "create_new_subscription": "Yeni Abonelik Oluştur", + "create_project_in_github": "GitHub deposu oluştur", + "creating": "Oluşturuluyor", + "credit_card": "Kredi Kartı", + "cs": "Çekçe", + "current_password": "Mevcut Şifreniz", + "currently_subscribed_to_plan": "Şuan için<0>__planName__ planına aboneliğiniz devam etmektedir.", + "da": "Danca", + "de": "Almanca", + "december": "Aralık", + "delete": "Sil", + "delete_account": "Hesabı Sil", + "delete_your_account": "Hesabınızı silin", + "deleting": "Siliniyor", + "disconnected": "Bağlantı koptu", + "documentation": "Dökümantasyon", + "doesnt_match": "Uyuşmuyor", + "done": "Tamam", + "download": "İndir", + "download_pdf": "PDF halini indir", + "download_zip_file": "Zip Dosyasını İndir", + "dropbox_sync": "Dropbox Senkronizasyonu", + "dropbox_sync_description": "__appName__ projelerinizi, Dropbox ile senkronize edin. Bu sayede __appName__ üzerinden yaptığınız değişiklikler otomatik olarak Dropbox üzerinde ve Dropbox üzerinde yapılan değişiklikler de __appName__ üzerinde işlenecektir.", + "editing": "Düzenleme", + "editor_disconected_click_to_reconnect": "Editör bağlantısı koptu, yeniden bağlanmak için herhangi bir yere tıklayın.", + "email": "E-posta", + "email_or_password_wrong_try_again": "E-posta adresiniz ya da şifreniz yanlış. Lütfen tekrar deneyin", + "en": "İngilizce", + "es": "İspanyolca", + "every": "her", + "example_project": "Örnek Proje", + "expiry": "Son kullanma tarihi", + "export_project_to_github": "Projeyi GitHub’a yükle", + "features": "Özellikler", + "february": "Şubat", + "first_name": "Ad", + "folders": "Klasörler", + "font_size": "Yazı Boyutu", + "forgot_your_password": "Şifrenizi mi unuttunuz", + "fr": "Fransızca", + "free": "Ücretsiz", + "free_dropbox_and_history": "Ücretsiz Dropbox ve Geçmiş", + "full_doc_history": "Tüm değişiklikler geçmişi", + "generic_something_went_wrong": "Özür dileriz, bir şeyler ters gitti :(", + "get_in_touch": "İrtibata geçin", + "github_commit_message_placeholder": "__appName__ üzerinden yaptığınız değişiklikler için yorum giriniz...", + "github_is_premium": "GitHub senkronizasyonu premium bir özelliktir", + "github_public_description": "Herkes bu depoyu görüntüleyebilir. Kimlerin işlem yapabileceğini siz seçersiniz.", + "github_successfully_linked_description": "Teşekkürler, GitHub hesabınız ile __appName__ arasındaki bağlantı, başarıyla oluşturuldu. Artık __appName__ projelerinizi GitHub üzerine yükleyebilir ya da GitHub depolarınızı __appName__’e yükleyebilirsiniz.", + "github_sync": "GitHub Senkronizasyonu", + "github_sync_description": "GitHub senkronizasyonu sayesinde __appName__ projeleriniz ile GitHub depolarınız arasında bağlantı kurabilirsiniz. Bu sayede __appName__ üzerinden çevrimdışı olarak işlem yapabilir ya da bu işlemleri GitHub üzerine işleyebilirsiniz.", + "github_sync_error": "Üzgünüz, GitHub servisine bağlanırken bir sorunla karşılaştık. Lütfen, birkaç dakika sonra tekrar deneyin.", + "github_validation_check": "Lütfen, depo adının doğru yazıldığından ve yeni bir depo oluşturma yetkinizin olduğundan emin olunuz.", + "global": "global", + "go_to_code_location_in_pdf": "PDF’deki yerin koddaki karşılığına git", + "go_to_pdf_location_in_code": "Koddaki yerin PDF’deki karşılığına git", + "group_admin": "Grup Yöneticisi", + "groups": "Gruplar", + "have_more_days_to_try": "Deneme sürenize __days__ gün daha ekleyin!", + "headers": "Başlıklar", + "help": "Yardım", + "hotkeys": "Kısayollar", + "i_want_to_stay": "Kalmak istiyorum", + "ill_take_it": "Alıyorum!", + "import_from_github": "GitHub’dan yükle", + "import_to_sharelatex": "__appName__’e yükle", + "importing": "Yükleniyor", + "importing_and_merging_changes_in_github": "Değişiklikler GitHub’a aktarılıyor", + "indvidual_plans": "Kişisel Planlar", + "info": "Bilgi", + "institution": "Enstitü", + "it": "İtalyanca", + "ja": "Japonca", + "january": "Ocak", + "join_sl_to_view_project": "Bu projeyi görmek için __appName__’e katılın", + "july": "Temmuz", + "june": "Haziran", + "keybindings": "Tuş Yönlendirmeleri", + "ko": "Korece", + "language": "Dil", + "last_modified": "Son Değişiklik", + "last_name": "Soyad", + "latex_templates": "LaTeX Şablonları", + "learn_more": "Daha fazla bilgi", + "link_to_github": "GitHub hesabınız ile bağlantı oluşturun", + "link_to_github_description": "GitHub’daki hesabınız ile projelerinizin senkronize olabilmesi için __appName__’e yetki vermeniz gerekmektedir.", + "loading": "Yükleniyor", + "loading_github_repositories": "GitHub depolarınız yükleniyor", + "loading_recent_github_commits": "Yapılan son işlemler yükleniyor", + "log_in": "Giriş yap", + "log_out": "Çıkış Yap", + "logging_in": "Giriş yapılıyor", + "login": "Giriş yap", + "login_here": "Buradan giriş yapın", + "logs_and_output_files": "Sonuç dökümleri ve çıktılar", + "lost_connection": "Bağlantı Yok", + "main_document": "Ana döküman", + "maintenance": "Bakım", + "make_private": "Özel Erişimli Hale Getir", + "manage_subscription": "Abonelik", + "march": "Mart", + "math_display": "Matematik Görselleri", + "math_inline": "Matematik İçerikleri", + "may": "Mayıs", + "menu": "Menü", + "merge": "Birleştir", + "merging": "Birleştiriliyor", + "month": "ay", + "monthly": "Aylık", + "more": "Daha fazla", + "must_be_email_address": "E-posta adresi olmak zorundadır", + "name": "İsim", + "native": "yerel", + "navigation": "Yol gösterici", + "nearly_activated": "__appName__ isimli hesabınızı etkinleştirmenize bir adım kaldı!", + "need_anything_contact_us_at": "Eğer herhangi bir konuda bize ihtiyacınız olursa ve bize ulaşmak isterseniz e-posta adresimiz", + "need_to_leave": "Bizden ayrılıyor musunuz?", + "need_to_upgrade_for_more_collabs": "Daha fazla iş ortağı ekleyebilmeniz için hesabınızı yükseltmeniz gerekmektedir", + "new_file": "Yeni dosya", + "new_folder": "Yeni klasör", + "new_name": "Yeni Ad", + "new_password": "Yeni Şifre", + "new_project": "Yeni Proje", + "next_payment_of_x_collectected_on_y": "Bir sonraki <0>__paymentAmmount__ olan ödemeniz <1>__collectionDate__ tarihinde alınacaktır", + "nl": "Flemenkçe", + "no": "Norveççe", + "no_members": "Üye bulunmamaktadır", + "no_messages": "Herhangi bir mesaj yok", + "no_new_commits_in_github": "En sonki birleşmeden itibaren GitHub’da yapılmış herhangi yeni bir işlem bulunmuyor.", + "no_planned_maintenance": "Şu anda herhangi bir planlanmış bakım bulunmamaktadır", + "no_preview_available": "Özür dileriz, herhangi bir önizleme bulunmamaktadır.", + "no_projects": "Proje bulunmamakta", + "no_thanks_cancel_now": "Hayır teşekkürler, hesabı iptal etmek istiyorum", + "november": "Kasım", + "october": "Ekim", + "off": "Kapalı", + "ok": "Tamam", + "one_collaborator": "Yalnızca bir iş ortağı", + "one_free_collab": "Fazladan bir iş ortağı", + "online_latex_editor": "Çevrimiçi LaTeX Editörü", + "optional": "İsteğe bağlı", + "or": " ya da", + "other_logs_and_files": "Diğer sonuç dökümleri & dosyalar", + "over": "fazla", + "owner": "Sahibi", + "page_not_found": "Sayfa Bulunamadı", + "password": "Şifre", + "password_reset": "Yeniden Şifre Tanımlama", + "password_reset_email_sent": "Şifrenizi yeniden tanımlamanız için size bir e-posta gönderildi.", + "password_reset_token_expired": "Şifrenizi yeniden tanımlamanız için sağlanan iznin süresi geçti. Lütfen tekrar şifre sıfırlama talep edin ve e-posta ile gelen bağlantıdan şifrenizi yeniden tanımlayın.", + "pdf_viewer": "PDF Görüntüleyici", + "personal": "Kişisel", + "pl": "Lehçe", + "planned_maintenance": "Planlanmış Bakım", + "plans_amper_pricing": "Planlar ve Fiyatlandırma", + "plans_and_pricing": "Planlar ve Fiyatlandırma", + "please_compile_pdf_before_download": "Dökümanınızın PDF halini indirmeden önce lütfen derleyin", + "please_compile_pdf_before_word_count": "Kelime sayısını hesaplamadan önce lütfen projenizi derleyin", + "please_enter_email": "Lütfen e-posta adresinizi giriniz", + "please_refresh": "Devam etmek için lütfen sayfayı yenileyin", + "please_set_a_password": "Lütfen bir şifre belirleyin", + "position": "Pozisyon", + "presentation": "Sunum", + "price": "Fiyat", + "privacy": "Gizlilik", + "privacy_policy": "Gizlilik Politikası", + "private": "Özel", + "problem_changing_email_address": "E-posta adresinizi değiştirirken bir hata ile karşılaşıldı. Lütfen bir kaç dakika sonra tekrar deneyin. Eğer bu problem devam ederse bizimle iletişime geçebilirsiniz.", + "problem_talking_to_publishing_service": "Yayın hizmetimizde bir sorun oluştu, lütfen bir kaç dakika sonra tekrar deneyin", + "problem_with_subscription_contact_us": "Aboneliğiniz ile ilgili bir sorun bulunmaktadır. Lütfen ayrıntılı bilgi için bizimle iletişime geçin.", + "processing": "işlem yapılıyor", + "professional": "Profesyonel", + "project_last_published_at": "Projenizin en son yayınlandığı tarih", + "project_name": "Proje Adı", + "project_not_linked_to_github": "Bu projenin herhangi bir GitHub deposu ile bağlantısı bulunmamaktadır. GitHub’da bunun için bir depo oluşturabilirsiniz:", + "project_synced_with_git_repo_at": "Bu projenin senkronizasyon halinde olduğu GitHub deposu", + "project_too_large": "Proje aşırı büyük", + "project_too_large_please_reduce": "Projede çok fazla yazı bulunmaktadır, lütfen azaltmayı deneyin.", + "projects": "Projeler", + "pt": "Portekizce", + "public": "Halka Açık", + "publish": "Yayınla", + "publish_as_template": "Şablon Olarak Yayınla", + "publishing": "Yayınlanıyor", + "pull_github_changes_into_sharelatex": "GitHub’daki değişiklikleri __appName__’e aktar", + "push_sharelatex_changes_to_github": "__appName__’deki değişiklikleri GitHub’a aktar", + "read_only": "Yalnızca Görüntüleyebilir", + "recent_commits_in_github": "GitHub’da yapılan güncel işlemler", + "recompile": "Tekrar Derle", + "reconnecting": "Yeniden bağlanıyor", + "reconnecting_in_x_secs": "__seconds__ saniye içinde tekrar bağlanılmaya çalışılacak", + "refresh_page_after_starting_free_trial": "Ücretsiz denemenize başladıktan sonra lütfen sayfayı yenileyin", + "regards": "Saygılarımızla", + "register": "Kayıt ol", + "register_to_edit_template": "__templateName__ şablonunu düzenlemek için lütfen kayıt olunuz", + "registered": "Kayıtlı", + "registering": "Kayıt olunuyor", + "remove_collaborator": "İş ortağını çıkar", + "remove_from_group": "Gruptan çıkar", + "removed": "silinmiş", + "removing": "Kaldırılıyor", + "rename": "Adlandır", + "rename_project": "Projeyi Yeniden Adlandır", + "renaming": "Değiştiriliyor", + "repository_name": "Depo Adı", + "republish": "Yeniden yayınla", + "request_password_reset": "Yeniden şifre tanımla", + "required": "gerekli", + "reset_password": "Şifre Sıfırla", + "reset_your_password": "Şifrenizi yeniden tanımlayın", + "restore": "Geri taşı", + "restoring": "Onarma", + "restricted": "Yasaklı", + "restricted_no_permission": "Üzgünüz, bu sayfaya erişmek için gerekli izniniz bulunmamaktadır.", + "ro": "Romence", + "role": "Pozisyon", + "ru": "Rusça", + "saving": "Kaydediliyor", + "saving_notification_with_seconds": "__docname__ kaydediliyor... (Değişikliklerin kaydedilmemesinin üzerinden __seconds__ geçti)", + "search_projects": "Projelerde Ara", + "security": "Güvenlik", + "select_github_repository": "__appName__’e yüklemek istediğiniz GitHub deponuzu seçiniz", + "send_first_message": "İlk mesajınızı gönderin", + "september": "Eylül", + "server_error": "Sunucu Hatası", + "set_new_password": "Yeni şifre tanımla", + "set_password": "Şifre Belirle", + "settings": "Ayarlar", + "share": "Paylaş", + "share_project": "Projeyi Paylaş", + "share_with_your_collabs": "İş ortaklarınızla paylaşın", + "shared_with_you": "Sizinle Paylaşılanlar", + "show_hotkeys": "Kısayolları Göster", + "somthing_went_wrong_compiling": "Özür dileriz, bir şeyler ters gitti ve projeniz derlenemiyor. Lütfen bir kaç dakika sonra tekrar deneyin.", + "source": "Kaynak", + "spell_check": "İmla Denetimi", + "start_free_trial": "Hemen Ücretsiz Deneyin!", + "state": "Eyalet", + "student": "Öğrenci", + "subscribe": "Abone Ol", + "subscription": "Abonelik", + "subscription_canceled_and_terminate_on_x": " Aboneliğiniz iptal edildi ve <0>__terminateDate__ tarihinde sonlandırılacaktır. Başka herhangi bir ücret alınmayacaktır.", + "sure_you_want_to_change_plan": "Planınızı <0>__planName__ olarak değiştirmek istediğinizden emin misiniz?", + "sv": "İsveççe", + "sync": "Senkronizasyon", + "sync_project_to_github_explanation": "__appName__ üzerinden yaptığınız tüm değişiklikler GitHub üzerine işlenecek ve birleştirilecektir.", + "sync_to_dropbox": "Dropbox senkronizasyonu", + "sync_to_github": "GitHub ile senkronize et", + "take_me_home": "Çıkar beni buradan!", + "template_description": "Şablon Bilgisi", + "templates": "Şablonlar", + "terms": "Şartlar", + "thank_you": "Teşekkürler", + "thanks": "Teşekkürler", + "thanks_for_subscribing": "Aboneliğiniz için teşekkürler!", + "thanks_for_subscribing_you_help_sl": "__planName__ planına abone olduğunuz için teşekkürler. Sizlerin bu destekleri sayesinde __appName__ büyümeye ve gelişmeye devam etmektedir.", + "thanks_settings_updated": "Teşekkürler, ayarlarınız güncellendi.", + "theme": "Tema", + "thesis": "Tez", + "this_project_is_public": "Bu, halka açık bir projedir ve URL sayesinde herkes tarafından düzenlenebilir.", + "this_project_is_public_read_only": "Bu, halka açık bir projedir ve URL sayesinde herkes tarafından görülebilir ancak değiştirilemez.", + "this_project_will_appear_in_your_dropbox_folder_at": "Bu projenin gözükeceği Dropbox klasörü: ", + "three_free_collab": "Fazladan üç iş ortağı", + "timedout": "Zaman aşımı", + "title": "Başlık", + "to_many_login_requests_2_mins": "Bu hesap çok fazla giriş talebinde bulundu. Lütfen tekrar giriş yapabilmek için 2 dakika bekleyin.", + "to_modify_your_subscription_go_to": "Aboneliğinizi değiştirmek için:", + "total_words": "Toplam Kelime", + "tr": "Türkçe", + "try_now": "Şimdi Dene", + "uk": "Ukraynaca", + "university": "Üniversite", + "unlimited_collabs": "Sınırsız iş ortağı", + "unlimited_projects": "Sınırsız Proje Sayısı", + "unlink": "Bağlantıyı kopar", + "unlink_github_warning": "GitHub ile senkronize etmiş olduğunuz tüm projeler arasındaki bağlantı koparılacaktır ve senkronizasyon iptal edilecektir. GitHub ile olan bu bağlantıyı koparmak istediğinizden emin misiniz?", + "unpublish": "Yayından Kaldır", + "unpublishing": "Yayından kaldırılıyor", + "unsubscribe": "Aboneliği sonlandır", + "unsubscribed": "Abonelik sonlandırıldı", + "unsubscribing": "Abonelik sonlandırılıyor", + "update": "Güncelle", + "update_account_info": "Hesap Bilgilerini Güncelle", + "update_dropbox_settings": "Dropbox ayarlarını güncelle", + "update_your_billing_details": "Ödeme Bilgilerini Güncelle", + "updating_site": "Sayfa Güncelleme", + "upgrade": "Yükselt", + "upgrade_now": "Şimdi Yükselt", + "upload": "Yükle", + "upload_project": "Proje Yükleyin", + "upload_zipped_project": "Sıkıştırılmış Proje Yükle", + "user_wants_you_to_see_project": "__username__ adlı kullanıcı __projectname__ isimli projeyi görmenizi istiyor", + "vat_number": "KDV (VAT) Numarası", + "view_all": "Hepsini Gör", + "view_in_template_gallery": "Şablon galerisinde görüntüle", + "welcome_to_sl": "__appName__’e hoş geldiniz", + "word_count": "Kelime Sayısı", + "year": "yıl", + "you_have_added_x_of_group_size_y": "<1>__groupSize__ kişilik grup kontenjanınıza, <0>__addedUsersSize__ kişi eklediniz", + "your_plan": "Planınız", + "your_projects": "Sizin Projeleriniz", + "your_subscription": "Aboneliğiniz", + "your_subscription_has_expired": "Aboneliğinizin süresi doldu.", + "zh-CN": "Çince" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/zh-CN.json b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/zh-CN.json new file mode 100644 index 0000000..dcfb88f --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/locales/zh-CN.json @@ -0,0 +1,2485 @@ +{ + "12x_basic": "12倍 免费时长 (240s)", + "1_2_width": "½ 宽度", + "1_4_width": "¼ 宽度", + "3_4_width": "¾ 宽度", + "About": "关于", + "Account": "账户", + "Account Settings": "账户设置", + "Documentation": "文档", + "Projects": "项目", + "Security": "安全性", + "Subscription": "订购", + "Terms": "条款", + "Universities": "大学", + "a_custom_size_has_been_used_in_the_latex_code": "默认的大小已经被应用到Latex代码中。", + "a_fatal_compile_error_that_completely_blocks_compilation": "一个<0>严重编译错误阻止了编译。", + "a_file_with_that_name_already_exists_and_will_be_overriden": "同名文件已存在,该文件会被覆盖。", + "a_more_comprehensive_list_of_keyboard_shortcuts": "在<0>此__appName__项目模板中可以找到更完整的键盘快捷键列表", + "about": "关于", + "about_to_archive_projects": "您将要归档以下项目:", + "about_to_delete_cert": "您将要删除以下证书:", + "about_to_delete_projects": "您将删除下面的项目:", + "about_to_delete_tag": "您即将删除下列的标签 (标签对应的任何项目都不会被删除)", + "about_to_delete_the_following_project": "您即将删除下面的项目:", + "about_to_delete_the_following_projects": "您将删除下面的项目:", + "about_to_delete_user_preamble": "您即将删除 __userName__ (__userEmail__)。此操作将意味着:", + "about_to_enable_managed_users": "通过启用“托管用户”功能,您的组订阅的所有现有成员都将被邀请成为托管用户。这将赋予您对他们帐户的管理权限。您还可以选择邀请新成员加入订阅并成为托管成员。", + "about_to_leave_project": "您即将离开此项目", + "about_to_leave_projects": "您将离开下面的项目", + "about_to_trash_projects": "您将要把以下项目移至回收站:", + "abstract": "摘要", + "accept": "采纳", + "accept_all": "采纳全部", + "accept_and_continue": "接受并继续", + "accept_change": "接受修改", + "accept_invitation": "接受邀请", + "accept_or_reject_each_changes_individually": "接受或拒绝修改意见", + "accept_terms_and_conditions": "接受条款和条件", + "accepted_invite": "已接受的邀请", + "accepting_invite_as": "接受邀请", + "access_denied": "访问被拒绝", + "access_levels_changed": "访问级别已更改", + "account": "账户", + "account_has_been_link_to_institution_account": "您在 __appName__ 上的 __email__ 帐户已链接到您的 __institutionName__ 机构帐户。", + "account_has_past_due_invoice_change_plan_warning": "您的帐户当前有逾期账单。在这个问题解决之前,你不能改变你的计划。", + "account_linking": "帐户链接", + "account_managed_by_group_administrator": "您的帐户由您的群组管理员(__admin__)管理", + "account_not_linked_to_dropbox": "您的账户没有链接到Dropbox", + "account_settings": "账户设置", + "account_with_email_exists": "看起来在 __appName__ 已经存在一个电子邮件为__email__的账户。", + "acct_linked_to_institution_acct_2": "您可以通过您的<0> __institutionName__ 机构登录信息来<0>登录 HajTeX。", + "actions": "操作", + "activate": "激活", + "activate_account": "激活账户", + "activating": "激活中", + "activation_token_expired": "您的激活码已经过期,您需要另外一个", + "active": "激活的", + "add": "添加", + "add_a_recovery_email_address": "添加恢复邮件地址", + "add_additional_certificate": "添加另外一个证书", + "add_affiliation": "添加从属关系", + "add_another_address_line": "添加另一个地址行", + "add_another_email": "添加其他电子邮件", + "add_another_token": "添加另外一个令牌", + "add_comma_separated_emails_help": "使用逗号(,)字符分隔多个电子邮件地址。", + "add_comment": "添加评论", + "add_company_details": "添加公司详细信息", + "add_email": "添加电子邮件", + "add_email_address": "添加邮件地址", + "add_email_to_claim_features": "添加一个机构电子邮件地址来声明您的功能。", + "add_files": "添加文件", + "add_more_collaborators": "添加更多协作者", + "add_more_editors": "添加更多编辑者", + "add_more_managers": "添加更多管理者", + "add_more_members": "添加更多成员", + "add_new_email": "添加新电子邮件", + "add_or_remove_project_from_tag": "根据标记 __tagName__ 来添加或移除项目", + "add_people": "添加人员", + "add_role_and_department": "添加角色和部门", + "add_to_tag": "添加到标记", + "add_your_comment_here": "在此添加评论", + "add_your_first_group_member_now": "现在添加您的第一个组成员", + "added": "已添加", + "added_by_on": "由 __name__ 在 __date__ 添加", + "adding": "添加", + "adding_a_bibliography": "添加参考文献?", + "additional_certificate": "添加的证书", + "additional_licenses": "您的订阅包括<0>__additionalLicenses__个附加许可证,共有<1>__totalLicenses__个许可证。", + "address": "地址", + "address_line_1": "地址", + "address_second_line_optional": "地址行第二行(可选)", + "adjust_column_width": "调整列宽", + "admin": "管理员", + "admin_panel": "管理员面板", + "admin_user_created_message": "管理员账户已创建, 登陆 以继续", + "administration_and_security": "管理和安全", + "advanced_reference_search": "高级<0>引用搜索", + "advanced_search": "高级搜索", + "aggregate_changed": "替换", + "aggregate_to": "为", + "agree_with_the_terms": "我同意HajTeX的条款", + "ai_can_make_mistakes": "AI 可能会犯错。在确定修复之前,请先检查修复内容。", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "您对改进此功能有什么想法或建议吗?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "告诉我们哪里出了问题,以便我们改进。", + "ai_feedback_the_answer_was_too_long": "答案太长了", + "ai_feedback_the_answer_wasnt_detailed_enough": "答案不够详细", + "ai_feedback_the_suggestion_didnt_fix_the_error": "此建议未能修复错误", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "这个建议并不是最好的解决办法", + "ai_feedback_there_was_no_code_fix_suggested": "没有建议代码修复", + "alignment": "对齐", + "all": "全部", + "all_borders": "全边框", + "all_our_group_plans_offer_educational_discount": "我们的所有<0>团体计划都为学生和教师提供<1>教育折扣", + "all_premium_features": "所有高级付费功能", + "all_premium_features_including": "所有高级功能,包括:", + "all_prices_displayed_are_in_currency": "所有展示的价格都以__recommendedCurrency__计。", + "all_projects": "所有项目", + "all_projects_will_be_transferred_immediately": "所有的项目将立即移交给新的拥有者。", + "all_templates": "所有模板", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "包含我们标准计划的所有功能,另外每个项目还可拥有无限的合作者。", + "all_these_experiments_are_available_exclusively": "所有这些实验仅对实验室计划的成员开放。如果您注册,您可以选择要尝试的实验。", + "already_have_an_account": "已经有一个账户啦?", + "already_have_sl_account": "已经拥有 __appName__ 账户了吗?", + "already_subscribed_try_refreshing_the_page": "已经订阅啦?请刷新界面哦。", + "also": "也", + "also_available_as_on_premises": "也可以获取私有部署", + "alternatively_create_new_institution_account": "或者,您可以通过单击__clickText__来使用机构电子邮件(__email__)创建一个新帐户。", + "an_email_has_already_been_sent_to": "一封电子邮件已经被发送给<0>__email__。请稍后再尝试。", + "an_error_occured_while_restoring_project": "还原项目时出错", + "an_error_occurred_when_verifying_the_coupon_code": "验证优惠券代码时出错", + "and": "和", + "annual": "每年", + "anonymous": "匿名", + "anyone_with_link_can_edit": "任何人可以通过此链接编辑此项目。", + "anyone_with_link_can_view": "任何人可以通过此链接浏览此项目。", + "app_on_x": "__appName__ 在 __social__", + "apply_educational_discount": "使用教育折扣", + "apply_educational_discount_info": "10人或10人以上的团体可享受40%的教育折扣。适用于使用HajTeX教学的学生或教师。", + "apply_educational_discount_info_new": "使用__appName__进行教学的10人或以上团体可享受40%的折扣", + "apply_suggestion": "使用建议", + "april": "四月", + "archive": "归档", + "archive_projects": "归档项目", + "archived": "归档", + "archived_projects": "已归档项目", + "archiving_projects_wont_affect_collaborators": "归档项目不会影响您的合作者。", + "are_you_affiliated_with_an_institution": "您隶属于某个机构吗?", + "are_you_getting_an_undefined_control_sequence_error": "您是否看到未定义的控制序列错误?如果是,请确保您已在文档的序言部分(代码的第一部分)中加载 Graphicx 包:<0>\\usepackage{graphicx}。 <1>了解更多", + "are_you_still_at": "你还在<0>__institutionName__吗?", + "are_you_sure": "您确认吗?", + "article": "文章", + "articles": "文章", + "as_a_member_of_sso_required": "作为 __institutionName__ 的成员,您必须通过您的机构门户网站登录到 __appName__ 。", + "as_email": "作为__email__", + "ascending": "升序", + "ask_proj_owner_to_unlink_from_current_github": "请求项目所有者 (<0>__projectOwnerEmail__) 取消项目与当前 GitHub 存储库的链接,并创建与其他存储库的连接。", + "ask_proj_owner_to_upgrade_for_full_history": "请要求项目所有者升级以访问此项目的完整历史记录。", + "ask_proj_owner_to_upgrade_for_references_search": "请要求项目所有者升级以使用参考文献搜索功能。", + "ask_repo_owner_to_reconnect": "请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 重新连接该项目。", + "ask_repo_owner_to_renew_overleaf_subscription": "请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 续订其 __appName__ 订阅并重新链接项目。", + "august": "八月", + "author": "作者", + "auto_close_brackets": "自动补全括号", + "auto_compile": "自动编译", + "auto_complete": "自动补全", + "autocompile_disabled": "自动编译已关闭", + "autocompile_disabled_reason": "由于服务器过载,暂时无法自动实时编译,请点击上方按钮进行编译", + "autocomplete": "自动补全", + "autocomplete_references": "参考文献自动补全(在 \\cite{} 中)", + "automatic_user_registration": "自动用户注册", + "automatic_user_registration_uppercase": "自动用户注册", + "back": "返回", + "back_to_account_settings": "返回帐户设置", + "back_to_configuration": "返回配置", + "back_to_editor": "回到编辑器", + "back_to_log_in": "返回登录", + "back_to_subscription": "返回到订阅", + "back_to_your_projects": "返回您的项目", + "basic": "免费时长 (20s)", + "basic_compile_timeout_on_fast_servers": "在快速服务器上的基本编译时限", + "become_an_advisor": "成为__appName__顾问", + "before_you_use_the_ai_error_assistant": "使用 AI 错误助手之前", + "best_choices_companies_universities_non_profits": "公司、大学和非营利组织的最佳选择", + "beta": "试用版", + "beta_feature_badge": "Beta功能徽章", + "beta_program_already_participating": "您加入了 Beta 版测试", + "beta_program_badge_description": "在使用 __appName__ 过程中,测试功能会被这样标记:", + "beta_program_benefits": "我们一直在改进 __appName__。 通过加入此计划,您可以<0>尽早使用新功能并帮助我们更好地了解您的需求。", + "beta_program_not_participating": "您尚未注册 Beta 计划", + "beta_program_opt_in_action": "退出Beta版测试", + "beta_program_opt_out_action": "退出 Beta 计划", + "better_bibliographies": "更好的文献引用", + "bibliographies": "参考文献", + "binary_history_error": "预览不适用于此文件类型", + "blank_project": "空白项目", + "blocked_filename": "此文件名被阻止。", + "blog": "博客", + "brl_discount_offer_plans_page_banner": "__flag__好消息 我们为巴西用户在本页面上的高级计划提供了50%的折扣。看看新的低价。", + "browser": "浏览器", + "built_in": "内嵌", + "bulk_accept_confirm": "您确认采纳__nChanges__ 个变动吗?", + "bulk_reject_confirm": "您确认拒绝__nChanges__ 个变动吗?", + "buy_now_no_exclamation_mark": "现在购买", + "by": "由", + "by_joining_labs": "加入实验室即表示您同意接收 HajTeX 不定期发送的电子邮件和更新信息(例如,征求您的反馈)。您还同意我们的<0>服务条款和<1>隐私声明。", + "by_registering_you_agree_to_our_terms_of_service": "注册即表示您同意我们的 <0>服务条款 和 <1>隐私条款。", + "by_subscribing_you_agree_to_our_terms_of_service": "订阅即表示您同意我们的<0>服务条款。", + "can_edit": "可以编辑", + "can_link_institution_email_acct_to_institution_acct": "您现在可以将您的 __appName__ 账户 __email__ 与您的 __institutionName__ 机构账户关联。", + "can_link_institution_email_by_clicking": "您可以通过单击 __clickText__ 将您的 __email__ __appName__ 账户链接到您的 __institutionName__ 帐户。", + "can_link_institution_email_to_login": "您可以将您的 __email__ __appName__ 账户链接到你的 __institutionName__ 账户,这将允许您通过机构门户登录到__appName__ 。", + "can_link_your_institution_acct_2": "您可以现在 <0>链接 您的 <0>__appName__ 账户到您的<0>__institutionName__ 机构账户。", + "can_now_relink_dropbox": "您现在可以<0>重新关联您的 Dropbox 帐户。", + "can_view": "可以查看", + "cancel": "取消", + "cancel_anytime": "我们相信您会喜欢 __appName__,但如果不喜欢,您可以随时取消。如果您在30天内通知我们,我们无理由退款。", + "cancel_my_account": "取消我的订购", + "cancel_my_subscription": "取消我的订阅", + "cancel_personal_subscription_first": "您已经有个人订阅,您希望我们在加入团体许可之前先取消该订阅吗?", + "cancel_your_subscription": "取消您的订购", + "cannot_invite_non_user": "无法发送邀请。 收件人必须已有 __appName__ 帐户", + "cannot_invite_self": "不能向自己发送邀请哦", + "cannot_verify_user_not_robot": "抱歉,您没有通过“我不是个机器人”验证,请检查您的防火墙或网页插件是否阻碍了您的验证。", + "cant_find_email": "邮箱尚未注册,抱歉。", + "cant_find_page": "抱歉,我们找不到您要查找的页面。", + "cant_see_what_youre_looking_for_question": "找不到?", + "caption_above": "标题在表格上方", + "caption_below": "标题在表格下方", + "card_details": "信用卡详情", + "card_details_are_not_valid": "信用卡信息无效", + "card_must_be_authenticated_by_3dsecure": "在继续之前,您的卡必须通过3D安全验证", + "card_payment": "信用卡支付", + "careers": "工作与职业", + "category_arrows": "箭头字符", + "category_greek": "希腊字符", + "category_misc": "杂项", + "category_operators": "运算字符", + "category_relations": "关系字符", + "center": "居中", + "certificate": "证书", + "change": "修改", + "change_currency": "更改货币", + "change_or_cancel-cancel": "取消", + "change_or_cancel-change": "修改", + "change_or_cancel-or": "或者", + "change_owner": "更改所有者", + "change_password": "更换密码", + "change_password_in_account_settings": "在帐户设置中更改密码", + "change_plan": "改变套餐", + "change_primary_email_address_instructions": "要更改您的主电子邮件地址,请先添加您的新主电子邮件地址(点击<0>添加其他电子邮件)并确认。 然后单击<0>设为主账户按钮。 <1>详细了解如何管理您的 __appName__ 电子邮件。", + "change_project_owner": "变更项目所有者", + "change_the_ownership_of_your_personal_projects": "将您的个人项目的所有权更改为新帐户。 <0>了解如何更改项目所有者。", + "change_to_group_plan": "更改为团体计划", + "change_to_this_plan": "该为这个订购项", + "changing_the_position_of_your_figure": "更改您的图片的位置", + "changing_the_position_of_your_table": "更改您的表格的位置", + "chat": "聊天", + "chat_error": "无法加载聊天消息,请重试。", + "check_your_email": "检查您的电子邮件", + "checking": "检查中", + "checking_dropbox_status": "检查 Dropbox 状态", + "checking_project_github_status": "正在检查GitHub中的项目状态", + "choose_a_custom_color": "选择自定义颜色", + "choose_from_group_members": "从团队成员中选择", + "choose_which_experiments": "选择您想要尝试的实验。", + "choose_your_plan": "选择您的支付方案", + "city": "城市", + "clear_cached_files": "清除缓存文件", + "clear_search": "清除搜索", + "clear_sessions": "清理会话", + "clear_sessions_description": "这是您的账户中当前活跃的会话信息(不包含当前会话)。点击“清理会话”按钮可以退出这些会话。", + "clear_sessions_success": "其他会话已清理", + "clearing": "正在清除", + "click_here_to_view_sl_in_lng": "点击以<0>__lngName__ 使用 __appName__", + "click_link_to_proceed": "单击下面的 __clickText__ 继续。", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "点击<0>删除将删除您的 SSO 配置并取消所有用户的链接。 仅当您的组设置中禁用 SSO 时,您才能执行此操作。", + "clone_with_git": "用Git克隆", + "close": "关闭", + "clsi_maintenance": "编译服务器停机维护,将很快恢复正常。", + "clsi_unavailable": "抱歉,项目的编译服务器暂时不可用。请稍后再试。", + "cn": "中文 (简体)", + "code_check_failed": "代码检查失败", + "code_check_failed_explanation": "您的代码有问题,无法自动编译", + "code_editor": "源代码编辑器", + "code_editor_tooltip_message": "您可以在代码编辑器中查看项目中的代码(并对其进行编辑)", + "code_editor_tooltip_title": "想要查看并编辑 LaTeX 代码?", + "collaborate_easily_on_your_projects": "轻松协作您的项目。处理更长或更复杂的文档。", + "collaborate_online_and_offline": "使用自己的工作流进行在线和离线协作", + "collaboration": "合作", + "collaborator": "合作者", + "collabratec_account_not_registered": "未注册 IEEE Collabratec™ 帐户。请从IEEE Collabratec™连接到HajTeX 或者使用其他帐户登录。", + "collabs_per_proj": "每个项目 __collabcount__ 个合作者", + "collabs_per_proj_single": "__collabcount__ 个合作者每个项目", + "collapse": "合上", + "column_width": "列宽", + "column_width_is_custom_click_to_resize": "列宽为默认值,单击以调整大小", + "column_width_is_x_click_to_resize": "列宽为 __width__。 单击以调整大小", + "comment": "评论", + "comment_submit_error": "抱歉,提交您的评论时出现问题", + "commit": "提交", + "common": "通用", + "common_causes_of_compile_timeouts_include": "常见的导致编译超时的原因包括", + "commons_plan_tooltip": "由于您与 __institution__ 的隶属关系,您加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", + "compact": "紧凑的", + "company_name": "公司名称", + "compare": "比较", + "compare_features": "比较功能", + "comparing_from_x_to_y": "从 <0>__startTime__ 到 <0>__endTime__ 进行比较", + "compile_error_entry_description": "一个阻止此项目编译的错误", + "compile_error_handling": "编译错误处理", + "compile_larger_projects": "编译更大项目", + "compile_mode": "编译模式", + "compile_servers": "编译服务器", + "compile_servers_info": "高级计划用户的编译始终在最快的可用服务器集群上运行。", + "compile_servers_info_new": "用于编译项目的服务器。付费计划用户的编译器始终在最快的可用服务器上运行。", + "compile_terminated_by_user": "由于点击了“停止编译”按钮,编译被取消。您可以下载原始日志以查看编译停止的位置。", + "compile_timeout_short": "编译时限", + "compile_timeout_short_info_basic": "这是您在HajTeX服务器上编译项目的时限。对于更长或更复杂的项目,您可能需要更多的时间。", + "compile_timeout_short_info_new": "这是您在 HajTeX 上编译项目的时间。对于更长或更复杂的项目,您可能需要更多时间。", + "compiler": "编译器", + "compiling": "正在编译", + "complete": "完成", + "compliance": "合规性", + "compromised_password": "泄露的密码", + "configure_sso": "配置 SSO", + "configured": "已配置", + "confirm": "确认", + "confirm_affiliation": "确认从属关系", + "confirm_affiliation_to_relink_dropbox": "请确认您仍在该机构并持有他们的许可证,或升级您的帐户以重新关联您的 Dropbox 帐户。", + "confirm_delete_user_type_email_address": "确认您要删除 __userName__,请输入与其帐户关联的电子邮件地址", + "confirm_email": "确认电子邮件", + "confirm_new_password": "确认新密码", + "confirm_primary_email_change": "确认主电子邮件更改", + "confirm_remove_sso_config_enter_email": "要确认您要删除 SSO 配置,请输入您的电子邮件地址:", + "confirm_your_email": "确认您的电子邮件地址", + "confirmation_link_broken": "抱歉,您的确认链接有问题。请尝试复制并粘贴邮件底部的链接。", + "confirmation_token_invalid": "抱歉,您的确认令牌无效或已过期。请请求新的电子邮件确认链接。", + "confirming": "确认", + "conflicting_paths_found": "发现冲突路径", + "congratulations_youve_successfully_join_group": "恭喜!您已经成功的加入到团队订阅中。", + "connected_users": "已连接的用户", + "connecting": "正在连接", + "connection_lost": "网络连接已断开", + "contact": "联系", + "contact_group_admin": "请联系你的群组管理员。", + "contact_message_label": "信息", + "contact_sales": "联系销售", + "contact_support": "联系支持人员", + "contact_support_to_change_group_subscription": "如果您希望更改您的团队订阅,请<0>联系支持。", + "contact_us": "联系我们", + "contact_us_lowercase": "联系我们", + "contacting_the_sales_team": "联系销售团队", + "continue": "继续", + "continue_github_merge": "我已经手动合并。继续", + "continue_to": "返回 __appName__", + "continue_with_free_plan": "继续使用免费计划", + "continue_with_service": "以 __service__ 继续", + "copied": "已复制", + "copy": "复制", + "copy_code": "复制代码", + "copy_project": "复制项目", + "copy_response": "复制响应内容", + "copying": "正在复制", + "could_not_connect_to_collaboration_server": "无法连接到协作服务器", + "could_not_connect_to_websocket_server": "无法连接到WebSocket服务器", + "could_not_load_translations": "无法加载翻译", + "country": "国家", + "country_flag": "__country__ 国旗", + "coupon_code": "优惠码", + "coupon_code_is_not_valid_for_selected_plan": "优惠券代码对于所选计划无效", + "coupons_not_included": "这不包括您当前的折扣,它将在您下次付款前自动应用", + "create": "创建", + "create_a_new_password_for_your_account": "为您的帐户创建新密码", + "create_a_new_project": "创建一个新项目", + "create_account": "创建账户", + "create_an_account": "创建一个账户", + "create_first_admin_account": "创建首个管理员账户", + "create_new_account": "创建新帐户", + "create_new_subscription": "新建订购", + "create_new_tag": "创建新标签", + "create_project_in_github": "创建一个GitHub存储库", + "created_at": "创建于", + "creating": "正在创建", + "credit_card": "信用卡", + "cs": "捷克语", + "currency": "货币", + "current_file": "当前文件", + "current_password": "正在使用的密码", + "current_price": "当前价格", + "current_session": "当前会话", + "currently_seeing_only_24_hrs_history": "您当前正在看到此项目中最后24小时的更改。", + "currently_signed_in_as_x": "目前以 <0>__userEmail__ 身份登录。", + "currently_subscribed_to_plan": "您现在订阅的是 <0>__planName__ 套餐。", + "custom": "默认 (Custom)", + "custom_borders": "自定义边框", + "custom_resource_portal": "定制资源门户", + "custom_resource_portal_info": "您可以在 HajTeX 上拥有自己的自定义门户页面。这是您的用户了解有关 HajTeX 的更多信息、访问模板、常见问题解答和帮助资源以及注册 HajTeX 的好地方。", + "customer_resource_portal": "客户资源门户", + "customize": "定制", + "customize_your_group_subscription": "定制您的团队计划", + "customize_your_plan": "定制您的计划", + "customizing_figures": "定制图片", + "customizing_tables": "定制表格", + "da": "丹麦语", + "date": "日期", + "date_and_owner": "日期和所有者", + "de": "德语", + "dealing_with_errors": "处理错误", + "december": "十二月", + "dedicated_account_manager": "专属客服", + "dedicated_account_manager_info": "我们的客户管理团队将能够协助您解决请求、问题,并通过宣传材料、培训资源和网络研讨会帮助您宣传 HajTeX。", + "default": "默认", + "delete": "删除", + "delete_account": "删除账户", + "delete_account_confirmation_label": "我了解这将删除我的 __appName__ 帐户中电子邮件地址为 <0>__userDefaultEmail__ 的所有项目", + "delete_account_warning_message_3": "您即将永久删除您的所有账户数据,包括您的项目和设置。请输入账户邮箱地址和密码以继续。", + "delete_acct_no_existing_pw": "在删除您的帐户之前,请使用密码重置表单设置密码", + "delete_and_leave": "删除/保留", + "delete_and_leave_projects": "删除并离开项目", + "delete_authentication_token": "删除身份验证令牌", + "delete_authentication_token_info": "您即将删除 Git 身份验证令牌。 如果这样做,则在执行 Git 操作时将无法再使用它来验证您的身份。", + "delete_certificate": "删除证书", + "delete_comment": "删除评论", + "delete_comment_message": "您无法撤销此操作", + "delete_comment_thread": "删除评论线程流", + "delete_comment_thread_message": "这将删除整个评论线程。此操作无法撤消。", + "delete_figure": "删除图片", + "delete_projects": "删除项目", + "delete_row_or_column": "删除行或列", + "delete_sso_config": "删除 SSO 配置", + "delete_table": "删除表格", + "delete_tag": "删除标签", + "delete_token": "删除令牌", + "delete_user": "删除用户", + "delete_your_account": "删除您的账户", + "deleted_at": "删除于", + "deleted_by_email": "通过电子邮件删除", + "deleted_by_id": "通过 ID 删除", + "deleted_by_ip": "通过 IP 删除", + "deleted_by_on": "由 __name__ 于 __date__ 删除", + "deleting": "正在删除", + "demonstrating_git_integration": "演示Git集成", + "demonstrating_track_changes_feature": "演示跟踪更改功能", + "department": "部门", + "descending": "降序", + "description": "描述", + "details_provided_by_google_explanation": "您的详细信息是由您的 Google 帐户提供的。请检查一下哦。", + "dictionary": "字典", + "did_you_know_institution_providing_professional": "你知道吗__institutionName__向__institutionName__的每个人提供<0>免费的 __appName__ 专业功能吗?", + "disable_single_sign_on": "禁用 单点登录(SSO)", + "disable_sso": "关闭 SSO", + "disable_stop_on_first_error": "禁用 “出现第一个错误时停止”", + "disabling": "禁用", + "disconnected": "连接已断开", + "discount_of": "__amount__的折扣", + "dismiss_error_popup": "忽略第一个错误提示", + "display_deleted_user": "显示已删除的用户", + "do_not_have_acct_or_do_not_want_to_link": "如果您没有 __appName__ 帐户,或者您不想链接到您的 __institutionName__ 帐户,请单击 __clickText__。", + "do_not_link_accounts": "不链接帐户", + "do_you_need_edit_access": "您需要编辑权限吗?", + "do_you_want_to_change_your_primary_email_address_to": "是否要将主电子邮件地址更改为__email__?", + "do_you_want_to_overwrite_it": "您是否要覆盖它?", + "do_you_want_to_overwrite_it_plural": "您是否要覆盖它?", + "do_you_want_to_overwrite_them": "您想覆盖它们吗?", + "document_too_long": "文档超长", + "document_too_long_detail": "抱歉,该文件太长,无法手动编辑。 请直接上传。", + "document_too_long_tracked_deletes": "您还可以接受待处理的删除以减小文件的大小。", + "document_updated_externally": "文档外部已更新", + "document_updated_externally_detail": "该文档刚刚进行了外部更新。 您最近所做的任何更改都可能已被覆盖。 要查看以前的版本,请查看历史记录。", + "documentation": "文档", + "does_not_contain_or_significantly_match_your_email": "不包含或者匹配您的电子邮件", + "doesnt_match": "不一致", + "doing_this_allow_log_in_through_institution": "这样做将允许您通过机构门户登录到 __appName__,并重新确认您的机构电子邮件地址。", + "doing_this_allow_log_in_through_institution_2": "执行此操作将允许您通过您的机构登录<0>__appName__,并重新确认您的机构电子邮件地址。", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "这样做将验证您与__institutionName__的关系,并将允许您通过您的机构登录到 __appName__ 。", + "done": "完成", + "dont_have_account": "还没有账户?", + "dont_have_account_without_question_mark": "没有帐号", + "download": "下载", + "download_all": "下载全部", + "download_metadata": "下载 HajTeX 元数据", + "download_pdf": "下载PDF", + "download_zip_file": "下载 ZIP 格式文件", + "draft_sso_configuration": "起草 SSO 配置", + "drag_here": "拖到这里", + "drag_here_paste_an_image_or": "将图片拖到此处、粘贴图片,或者 ", + "drop_files_here_to_upload": "拖动文件到这里以上传", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "您的Dropbox帐户无法链接,因为它已与另一个HajTeX帐户链接。", + "dropbox_already_linked_error_with_email": "您的Dropbox帐户无法链接,因为它已与另一个HajTeX帐户 __otherUsersEmail__ 链接。", + "dropbox_checking_sync_status": "正在检查 Dropbox 更新", + "dropbox_duplicate_names_error": "您的 Dropbox 帐户无法链接,因为您有多个同名项目: ", + "dropbox_duplicate_project_names": "您的 Dropbox 帐户已取消关联,因为您有多个名为 <0>\"__projectName__\" 的项目。", + "dropbox_duplicate_project_names_suggestion": "请让您的项目名称在您的所有<0>活动、存档和废弃项目中唯一,然后重新关联您的 Dropbox 帐户。", + "dropbox_email_not_verified": "我们无法从您的 Dropbox 帐户检索更新。Dropbox 报告您的电子邮件地址未经验证。请在 Dropbox 帐户中验证您的电子邮件地址以解决此问题。", + "dropbox_for_link_share_projs": "此项目是通过链接共享访问的,除非项目所有者通过电子邮件邀请您,否则不会同步到您的Dropbox。", + "dropbox_integration_info": "使用双向Dropbox同步,在线和离线无缝工作。您在本地所做的更改将自动发送到HajTeX,反之亦然。", + "dropbox_integration_lowercase": "Dropbox 集成", + "dropbox_successfully_linked_description": "谢谢,我们已成功将您的Dropbox帐户链接到__appName__。", + "dropbox_sync": "Dropbox同步", + "dropbox_sync_both": "发送和接受更新", + "dropbox_sync_description": "保持您的 __appName__ 项目与您的Dropbox同步。SharaLaTeX中的更改将被自动发送到Dropbox,反之亦然。", + "dropbox_sync_error": "对不起,Dropbox 服务检测出现异常,请稍后再试", + "dropbox_sync_in": "从 Dropbox 更新", + "dropbox_sync_now_rate_limited": "手动同步仅限每分钟一次。 请稍等片刻,然后重试。", + "dropbox_sync_now_running": "该项目的手动同步已在后台启动。 请给它几分钟的时间来处理。", + "dropbox_sync_out": "将更新推送到 Dropbox", + "dropbox_sync_troubleshoot": "更改未出现在 Dropbox 中? 请稍等几分钟。 如果更改仍未显示,您可以<0>立即同步此项目。", + "dropbox_synced": "HajTeX 和 Dropbox 已处理所有更新。请注意,您的本地 Dropbox 可能仍在同步。", + "dropbox_unlinked_because_access_denied": "您的Dropbox帐户已取消链接,因为Dropbox服务拒绝了您存储的凭据。请重新链接您的Dropbox帐户,以便在HajTeX继续使用。", + "dropbox_unlinked_because_full": "您的Dropbox帐户已满,因此已取消链接,我们无法再向其发送更新。请释放一些空间并重新链接您的Dropbox帐户,以便在HajTeX继续使用。", + "dropbox_unlinked_premium_feature": "<0>您的 Dropbox 帐户已取消关联,因为 Dropbox Sync 是您通过机构许可获得的一项高级功能。", + "due_date": "到期 __date__", + "due_today": "今天截止", + "duplicate_file": "重复文件", + "duplicate_projects": "该用户有名称重复的项目", + "each_user_will_have_access_to": "每个用户都可以访问", + "easily_import_and_sync_your_references": "当您升级 HajTeX 订阅后,可以轻松从 Zotero 或 Mendeley 导入并同步您的参考文献。", + "easily_manage_your_project_files_everywhere": "随时随地轻松管理您的项目文件", + "easy_collaboration_for_students": "方便学生协作。支持更长或更复杂的项目。", + "edit": "编辑", + "edit_dictionary": "编辑词典", + "edit_dictionary_empty": "您的自定义词典为空。", + "edit_dictionary_remove": "从字典中删除", + "edit_figure": "编辑图片", + "edit_sso_configuration": "编辑 SSO 配置", + "edit_tag": "编辑标签", + "editing": "正在编辑", + "editing_and_collaboration": "编辑与协作", + "editing_captions": "编辑 captions", + "editor": "编辑器", + "editor_and_pdf": "编辑器 & PDF", + "editor_disconected_click_to_reconnect": "编辑器与网络的连接已经断开,重新连接请点击任何位置。", + "editor_limit_exceeded_in_this_project": "此项目中的编辑者过多", + "editor_only_hide_pdf": "仅编辑器 <0>(隐藏 PDF)", + "editor_theme": "编辑器主题", + "educational_discount_applied": "40% 教育折扣适用!", + "educational_discount_available_for_groups_of_ten_or_more": "10 人或以上团体可享受教育折扣", + "educational_discount_disclaimer": "该许可证用于教育目的(适用于使用 HajTeX 进行教学的学生或教师)", + "educational_discount_for_groups_of_ten_or_more": "HajTeX 为 10 人或以上团体提供 40% 的教育折扣。", + "educational_discount_for_groups_of_x_or_more": "教育折扣适用于__size__ 人或以上的团体", + "educational_percent_discount_applied": "应用 __percent__% 教育折扣!", + "email": "电子邮件", + "email_address": "邮件地址", + "email_address_is_invalid": "电子邮箱地址无效", + "email_already_associated_with": "__email1__已与__email2__ __appName__帐户相关联。", + "email_already_registered": "此邮箱已被注册", + "email_already_registered_secondary": "此电子邮件已注册为辅助电子邮件", + "email_already_registered_sso": "此电子邮件已注册。请以另一种方式登录您的帐户,并通过您的帐户设置将您的帐户链接到新的提供商。", + "email_confirmed_onboarding": "好极了!让我们帮你开始设置", + "email_confirmed_onboarding_message": "您的电子邮件地址已确认。单击<0>继续以完成设置。", + "email_does_not_belong_to_university": "我们认为此域名与您的大学并无关联,请与我们联系添加从属关系。", + "email_limit_reached": "此帐户上最多可以有<0>__emailAddressLimit__个电子邮件地址。若要添加其他电子邮件地址,请删除现有的电子邮件地址。", + "email_link_expired": "电子邮件链接已过期,请申请一个新的链接。", + "email_must_be_linked_to_institution": "作为 __institutionName__ 的成员,此电子邮件地址只能通过您的<0>帐户设置页面上的单点登录添加。 请添加不同的辅助邮箱地址。", + "email_or_password_wrong_try_again": "您的邮件地址或密码不正确。请重试", + "email_or_password_wrong_try_again_or_reset": "您的电子邮件或密码不正确。请重试,或者<0>重置您的密码。", + "email_required": "需要电子邮件", + "email_sent": "邮件已发送", + "emails": "邮箱", + "emails_and_affiliations_explanation": "向您的帐户添加其他电子邮件地址,以访问您的大学或机构的任何升级,使合作者更容易找到您,并确保您可以恢复您的帐户。", + "emails_and_affiliations_title": "电子邮件和从属关系", + "empty": "空", + "empty_zip_file": "Zip压缩包中没有任何文件", + "en": "英语", + "enable_managed_users": "启用托管用户", + "enable_single_sign_on": "开启单点登录", + "enable_sso": "开启 SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "在<1>重新编译下拉菜单下启用<0>“第一次出现错误时停止”,以帮助您立即查找并修复错误。", + "enabled": "已启用", + "enabling": "开启", + "end_of_document": "文档末尾", + "enter_6_digit_code": "输入6位数验证码", + "enter_any_size_including_units_or_valid_latex_command": "输入任意大小(包括单位)或有效的 LaTeX 命令", + "enter_image_url": "输入图片 URL", + "enter_the_confirmation_code": "输入发送到 __email__ 的六位验证码。", + "enter_your_email_address": "输入你的电子邮件", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "在下面输入您的电子邮件地址,我们将向您发送重置密码的链接", + "enter_your_new_password": "输入你的新密码", + "equation_preview": "公式预览", + "error": "错误", + "error_opening_document": "打开文档错误", + "error_opening_document_detail": "很抱歉,打开此文档时出现问题。请再试一次。", + "error_performing_request": "执行请求时出错。", + "error_processing_file": "抱歉,处理此文件时出错。 请再试一次。", + "error_submitting_comment": "提交评论时出错", + "es": "西班牙语", + "estimated_number_of_overleaf_users": "预计 __appName__ 用户的数量", + "every": "每个", + "everything_in_free_plus": "所有内容均免费,此外还有……", + "everything_in_group_professional_plus": "团队专业版的所有功能,附加...", + "everything_in_group_standard_plus": "标准版的所有内容,附加...", + "everything_in_standard_plus": "标准版中的所有内容,以及……", + "example": "样例", + "example_project": "样例项目", + "examples": "样例", + "exclusive_access_with_labs": "独家获取早期实验阶段功能", + "existing_plan_active_until_term_end": "您的现有计划及其功能将保持活动状态,直到当前计费周期结束。", + "expand": "展开", + "experiment_full": "抱歉,此实验人数已满", + "expired": "过期", + "expired_confirmation_code": "您的确认码已过期。单击<0>重新发送确认码以获取新的确认码。", + "expires": "过期时间", + "expires_in_days": "在 __days__ 天后过期", + "expires_on": "过期日期:__date__", + "expiry": "过期日期", + "export_csv": "导出CSV", + "export_project_to_github": "将项目导出到GitHub", + "failed_to_send_group_invite_to_email": "未能向<0>__email__发送团队邀请。请稍后再试。", + "failed_to_send_managed_user_invite_to_email": "无法将托管用户邀请发送至 <0>__email__。 请稍后再试。", + "failed_to_send_sso_link_invite_to_email": "无法向<0>__email__发送SSO邀请提醒。请稍后再试。", + "faq_change_plans_or_cancel_answer": "是的,您可以随时通过订阅设置执行此操作。您可以更改计划,在月度和年度计费选项之间切换,或者取消以降级为免费计划。取消时,您的订阅将持续到计费期结束。如果您的帐户暂时没有订阅,唯一的更改将是您可以使用的功能。您的项目将始终在您的帐户上可用。", + "faq_change_plans_or_cancel_question": "我可以稍后更改计划或取消吗?", + "faq_do_collab_need_on_paid_plan_answer": "不,他们可以在任何计划中,包括免费计划。如果您使用高级计划,您创建的项目中的合作者将可以使用一些高级功能,即使这些合作者使用免费计划。有关更多信息,请阅读<0>帐户和订阅以及<1>高级功能的工作原理。", + "faq_do_collab_need_on_paid_plan_question": "我的合作者是否也需要拥有付费计划?", + "faq_how_does_a_group_plan_work_answer": "团体订阅是升级多个HajTeX帐户的一种方式。它们易于管理,有助于节省文书工作,并降低单独购买多个订阅的成本。要了解更多信息,请阅读有关<0>加入团队订阅 和 <1>管理团队订阅 的信息。您可以在上面购买团队订阅,也可以通过 <2> 联系我们 购买。", + "faq_how_does_a_group_plan_work_question": "团队计划是如何运作的?如何将人员添加到计划中?", + "faq_how_does_free_trial_works_answer": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__计划。试用结束后不能继续免费。您的卡将在试用期结束时收费,除非您在此之前取消。您可以通过订阅设置取消。", + "faq_how_free_trial_works_answer_v2": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__高级计划。试用结束后不能继续免费。您的卡将在试用期结束时开始扣费,除非您在此之前取消。若要取消订阅,请转到您帐户中的订阅设置(试用仍将持续到__len__天为止)。", + "faq_how_free_trial_works_question": "如何体验免费使用?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "在HajTeX中,每个用户都创建并管理自己的HajTeX帐户。大多数用户从免费计划开始,但可以通过订阅计划、加入团队订阅或加入<0>Commons subscription来升级并享用高级功能。当您购买、加入或退出订阅时,您仍然可以保留相同的HajTeX帐户。", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "要了解更多信息,请阅读 <0>在HajTeX中帐户和订阅如何协同工作的有关内容。", + "faq_i_have_free_account_want_subscription_how_question": "我有一个免费帐户并想加入订阅,我该怎么做?", + "faq_pay_by_invoice_answer_v2": "是的,如果你想购买五人或五人以上的团队订阅或者许可证。对于个人订阅,我们只接受通过信用卡、借记卡或PayPal在线支付。", + "faq_pay_by_invoice_question": "可以稍后支付吗", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "不会。只需升级项目拥有者的帐户。个人标准订阅允许您邀请10名合作者加入您拥有的每个项目。", + "faq_the_individual_standard_plan_10_collab_question": "个人标准计划有10个项目合作者,这是否意味着这10个人都需要升级订阅?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "在加入到您作为订阅者与他们共享的项目后,您的合作者将能够访问一些高级功能,如完整的文档历史记录和特定项目的更长的编译时间。然而,邀请他们参加某个特定项目并不能全面提升他们的帐户。阅读有关<0>每个项目有哪些功能,每个帐户有哪些功能的更多信息。", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "在HajTeX中,每个用户都创建自己的帐户。您可以创建只有自己处理的项目,也可以邀请其他人查看或与您一起处理您拥有的项目。与您共享项目的用户称为<0>合作者。我们有时称他们为项目合作者。", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "换言之,合作者只是您在某个项目中合作的其他HajTeX的用户。", + "faq_what_is_the_difference_between_users_and_collaborators_question": "用户和合作者之间有什么区别?", + "fast": "快速", + "fastest": "最快", + "feature_included": "包含的功能", + "feature_not_included": "不包含的功能", + "featured": "Featured", + "featured_latex_templates": "特色LaTeX模板", + "features": "功能", + "features_and_benefits": "功能 & 优势", + "february": "二月", + "file_action_created": "创建", + "file_action_deleted": "删除", + "file_action_edited": "编辑", + "file_action_renamed": "重命名", + "file_action_restored": "已从 __date__ 恢复 __fileName__", + "file_action_restored_project": "恢复 __date__ 的项目", + "file_already_exists": "同名文件或文件夹已存在", + "file_already_exists_in_this_location": "此位置中已存在名为 <0>__fileName__ 的项。如果要移动此文件,请重命名或删除冲突文件,然后重试。", + "file_name": "文件名", + "file_name_figure_modal": "文件名", + "file_name_in_this_project": "此项目中的文件名", + "file_name_in_this_project_figure_modal": "此项目中的文件名", + "file_or_folder_name_already_exists": "同名文件或文件夹已存在", + "file_outline": "文件大纲", + "file_size": "文件大小", + "file_too_large": "文件太大", + "files_cannot_include_invalid_characters": "文件名为空或包含无效字符", + "files_selected": "个文件被选中。", + "fill_in_our_quick_survey": "填写我们的调查问卷", + "filter_projects": "过滤项目", + "filters": "筛选器", + "find_out_more": "了解更多", + "find_out_more_about_institution_login": "了解有关机构登录的更多信息", + "find_out_more_about_the_file_outline": "了解有关文件大纲的更多信息", + "find_out_more_nt": "了解更多。", + "finding_a_fix": "找到解决办法", + "first_name": "名", + "fit_to_height": "适应高度", + "fit_to_width": "适应宽度", + "fixed_width": "固定宽度", + "fixed_width_wrap_text": "固定宽度,文本自动换行", + "flexible_plans_for_everyone": "适合每个人的灵活计划——从个人学生和研究人员到大型企业和大学。", + "fold_line": "折线", + "folder_location": "文件夹位置", + "folders": "目录", + "following_paths_conflict": "下面的文件和文件夹拥有冲突的相同路径", + "font_family": "字体 (编辑器)", + "font_size": "字号 (编辑器)", + "footer_about_us": "关于我们", + "footer_contact_us": "联系我们", + "footer_navigation": "页脚导航", + "footer_plans_and_pricing": "套餐 & 价格", + "for_business": "商业用途", + "for_enterprise": "为企业提供", + "for_government": "为政府提供", + "for_groups_or_site_wide": "对于团体或整个站点", + "for_individuals_and_groups": "为个人 & 团队提供", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "对于需要站点范围访问或本地解决方案的大型机构和组织。", + "for_more_information_see_managed_accounts_section": "有关详细信息,请参阅<0>我们的使用条款中的“托管帐户”部分,您可以通过点击接受邀请来同意该部分。", + "for_publishers": "为出版社提供", + "for_small_teams_and_departments_who_want_to_write_collaborate": "适用于希望使用 LaTeX 轻松书写和协作的小型团队和部门。", + "for_students": "为学生提供", + "for_students_only": "仅针对学生", + "for_teaching": "为教学提供", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "针对需要简化登录流程和最强大的云安全性的团队和组织。", + "for_universities": "为大学提供", + "forever": "永久", + "forgot_your_password": "忘记密码", + "format": "格式", + "found_matching_deleted_users": "找到 __deletedUserCount__ 个匹配的已删除用户", + "four_minutes": "4 分钟", + "fr": "法语", + "free": "免费", + "free_7_day_trial_billed_annually": "免费试用 7 天,然后按年付费", + "free_7_day_trial_billed_monthly": "免费试用 7 天,然后按月付费", + "free_dropbox_and_history": "免费的Dropbox和历史功能", + "free_plan_label": "您现在是 免费计划", + "free_plan_tooltip": "单击了解如何从 HajTeX 高级功能中受益。", + "frequently_asked_questions": "常见问题", + "from_another_project": "从另一个项目中", + "from_enforcement_date": "自 __enforcementDate__ 起,该项目的任何其他编辑者都将成为查看者。", + "from_external_url": "从外部 URL", + "from_filename": "从文件 <0>__filename__", + "from_github": "从 Github", + "from_project_files": "从项目文件中", + "from_provider": "来自__provider__", + "from_url": "从 URL 上传", + "full_doc_history": "完整的文档历史", + "full_doc_history_info_v2": "您可以查看项目中的所有编辑以及每项更改的创建者。添加标签以快速访问特定版本。", + "full_document_history": "完整的文档<0>历史", + "full_project_search": "全项目搜索", + "full_width": "全宽", + "gallery": "模版集", + "gallery_find_more": "查找更多__itemPlural__", + "gallery_items_tagged": "__itemPlural__ 标记为 __title__", + "gallery_page_items": "模版项目", + "gallery_page_summary": "最新的LaTeX模板库,帮助您学习LaTeX的示例,以及我们社区发布的论文和演示。在下面搜索或浏览吧!", + "gallery_page_title": "模版集 - 用LaTeX编写的模板、示例和文章", + "gallery_show_all": "显示所有的__itemPlural__", + "generate_token": "生成令牌", + "generic_if_problem_continues_contact_us": "如果问题仍然存在,请与我们联系", + "generic_linked_file_compile_error": "此项目的输出文件不可用,因为它未能成功编译。请打开项目以查看编译错误的详细信息。", + "generic_something_went_wrong": "抱歉,出错了", + "get_advanced_reference_search": "获取高级引文搜索", + "get_collaborative_benefits": "从 __appName__ 获得协作优势,即使你喜欢离线工作", + "get_discounted_plan": "获得折扣计划", + "get_dropbox_sync": "获取 Dropbox 集成", + "get_early_access_to_ai": "抢先体验 HajTeX Labs 中的全新 AI 错误助手", + "get_exclusive_access_to_labs": "加入 HajTeX Labs 后,即可获得早期实验的独家访问权。我们唯一的要求就是您提供真实的反馈,以帮助我们发展和改进。", + "get_full_project_history": "获取完整的历史记录", + "get_git_integration": "获取 Git 集成", + "get_github_sync": "获取 GitHub 集成", + "get_in_touch": "联系", + "get_in_touch_having_problems": "如果遇到问题,请与支持部门联系", + "get_involved": "加入我们", + "get_more_compile_time": "获取更多的编译时间", + "get_most_subscription_by_checking_features": "查看 <0>__appName__ 的功能,以充分利用您的 __appName__ 订阅。", + "get_some_texnical_assistance": "获取 AI 的一些技术帮助来修复项目中的错误。", + "get_symbol_palette": "获取符号面板", + "get_the_best_overleaf_experience": "获取最佳的 HajTeX 体验", + "get_the_best_writing_experience": "获取最佳的写作体验", + "get_the_most_out_headline": "通过以下功能充分利用__appName__:", + "get_track_changes": "获取历史记录", + "git": "Git", + "git_authentication_token": "Git 身份验证令牌", + "git_authentication_token_create_modal_info_1": "这是你的Git身份验证令牌。当提示输入密码时,您应该输入此信息。", + "git_authentication_token_create_modal_info_2": "<0>您将只会看到此身份验证令牌仅一次,因此请复制它并确保其安全存储。有关使用身份验证令牌的完整说明,请访问我们的<1>帮助页面。", + "git_bridge_modal_click_generate": "单击生成令牌立即生成您的身份验证令牌。或者稍后在您的帐户设置中执行此操作。", + "git_bridge_modal_enter_authentication_token": "当提示输入密码时,请输入新的身份验证令牌:", + "git_bridge_modal_git_authentication_tokens": "Git 身份验证令牌", + "git_bridge_modal_git_clone_your_project": "使用下面的链接和 Git 身份验证令牌来克隆你的项目", + "git_bridge_modal_learn_more_about_authentication_tokens": "了解有关Git集成身份验证令牌的更多信息。", + "git_bridge_modal_read_only": "您对此项目具有只读访问权限这意味着您可以从__appName__中提取,但不能将您所做的任何更改推送回该项目。", + "git_bridge_modal_see_once": "您只能看到此令牌一次。要删除或生成新帐户,请访问“帐户设置”。有关详细说明和故障排除,请阅读我们的<0>帮助页面。", + "git_bridge_modal_use_previous_token": "如果系统提示您输入密码,您可以使用以前生成的Git身份验证令牌。或者,您可以在“帐户设置”中生成一个新帐户。有关更多支持,请阅读我们的<0>帮助页面。", + "git_bridge_modal_you_can_also_git_clone": "您也可以使用下面的链接和git身份验证令牌来git克隆您的项目。", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git、GitHub、Dropbox、Mendeley 和 Zotero 集成", + "git_integration": "Git 集成", + "git_integration_info": "通过Git集成,你可以用Git克隆你的HajTeX项目。有关完整教程, 请阅读 <0>我们的帮助页面。", + "git_integration_lowercase": "Git 集成", + "git_integration_lowercase_info": "您可以将您的HajTeX项目克隆到本地存储库,将您的HajTeX项目视为远程存储库,可以向其推送更改和从中提取更改。", + "github": "GitHub", + "github_commit_message_placeholder": "为 __appName__ 中的更改提交信息", + "github_credentials_expired": "您的 Github 授权凭证已过期", + "github_empty_repository_error": "您的 GitHub 存储库似乎为空或尚不可用。 在 GitHub.com 上创建一个新文件,然后重试。", + "github_file_name_error": "无法导入此存储库,因为它包含文件名无效的文件:", + "github_file_sync_error": "我们无法同步以下文件:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git 与 <0>Dropbox 集成", + "github_git_folder_error": "此项目在根目录中包含一个.git文件夹,这说明它已经是git存储库。HajTeX 的 Github 同步服务无法同步 git 历史记录。请删除.git文件夹,然后重试。", + "github_integration_lowercase": "Git 和 GitHub 支持", + "github_is_no_longer_connected": "GitHub 已不再链接到此项目。", + "github_is_premium": "与 GitHub 同步是一项付费功能", + "github_large_files_error": "合并失败:您的 Github 存储库包含超过 50mb 文件大小限制的文件 ", + "github_merge_failed": "您对 __appName__ 和 GitHub 的更改无法自动合并。 请手动将<0>__sharelatex_branch__分支合并到git中的默认分支中。 手动合并后,单击下面继续。", + "github_no_master_branch_error": "无法导入此存储库,因为它缺少主分支。请确保项目有一个主分支", + "github_only_integration_lowercase": "Github 集成", + "github_only_integration_lowercase_info": "将您的 HajTeX 项目直接链接到作为 HajTeX 项目远程存储库的GitHub存储库。这允许您与 HajTeX 之外的合作者共享,并将 HajTeX 集成到更复杂的工作流程中。", + "github_private_description": "您可以选择谁可以查看并提交到此存储库。", + "github_public_description": "任何人都可以看到该存储库。您可以选择谁有权提交。", + "github_repository_diverged": "已强制推送到链接存储库的主分支。在强制推送之后拉取 GitHub 更改可能会导致 HajTeX 和 GitHub 不同步。您可能需要在拉取后推送更改以恢复同步。", + "github_successfully_linked_description": "谢谢,您已成功建立了您的GitHub账户与 __appName__ 的关联。您现在可以导出您的 __appName__ 项目到GitHub,或者从您的GitHub存储困导入项目。", + "github_symlink_error": "您的Github存储库包含符号链接文件,HajTeX 暂时不支持这些文件。请删除这些文件并重试。", + "github_sync": "GitHub 同步", + "github_sync_description": "通过与 GitHub 同步,你可以将您的__appName__项目关联到GitHub的存储库,从 __appName__ 创建新的提交,并与线下或者GitHub中的提交合并。", + "github_sync_error": "抱歉,与我们的 GitHub 服务连接出错。请稍后重试。", + "github_sync_repository_not_found_description": "链接的存储库已被删除,或者您不再有权访问它。通过克隆项目并使用“Github”菜单项,可以设置与新存储库的同步。您还可以取消存储库与此项目的链接。", + "github_timeout_error": "将 HajTeX 项目与 Github 同步时超时。这可能是由于项目的总体大小,或者要同步的文件/更改的数量太大。", + "github_too_many_files_error": "无法导入此存储库,因为它超过了允许的最大文件数", + "github_validation_check": "请检查存储库的名字是否已被占用,且您有权限创建存储库。", + "github_workflow_authorize": "授权 GitHub 工作流文件", + "github_workflow_files_delete_github_repo": "已在 GitHub 上创建存储库,但链接不成功。 您必须删除 GitHub 存储库或选择一个新名称。", + "github_workflow_files_error": "__appName__ GitHub同步服务无法同步GitHub工作流文件(在 .github/workflows/ 中)。请授权 __appName__ 编辑您的GitHub工作流程文件,然后重试。", + "give_feedback": "给予反馈", + "give_your_feedback": "提供您的反馈", + "global": "整体的", + "go_back_and_link_accts": "返回并链接您的帐户", + "go_next_page": "转到下一页", + "go_page": "转到第 __page__ 页", + "go_prev_page": "转到上一页", + "go_to_account_settings": "前往账户设置", + "go_to_code_location_in_pdf": "转到PDF中的位置", + "go_to_overleaf": "前往 HajTeX", + "go_to_pdf_location_in_code": "转到代码中对应 PDF 的位置(提示:双击 PDF 以获得最佳结果)", + "go_to_settings": "转到“设置”", + "great_for_getting_started": "非常适合入门", + "great_for_small_teams_and_departments": "非常适合小型团队和部门", + "group": "团队", + "group_admin": "团队管理员", + "group_admins_get_access_to": "团队管理员可以获得", + "group_admins_get_access_to_info": "特有功能仅适用于团体计划。", + "group_full": "此组已满", + "group_invitations": "团队邀请", + "group_invite_has_been_sent_to_email": "团队邀请已发送至<0>__email__", + "group_libraries": "团队库", + "group_managed_by_group_administrator": "此团队中的用户帐户由团队管理员管理。", + "group_members_and_collaborators_get_access_to": "小组成员及其项目合作者可以访问", + "group_members_and_their_collaborators_get_access_to_info": "这些功能可供小组成员及其合作者(受邀加入小组成员拥有的项目的其他 HajTeX 用户)使用。", + "group_members_get_access_to": "团队成员将会获得", + "group_members_get_access_to_info": "这些功能仅对团队成员(订阅者)可用。", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "群组计划管理员可以轻松添加和删除群组中的用户。对于全站计划,用户在注册或将电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时会自动升级。", + "group_plan_tooltip": "您作为团体订阅的成员加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", + "group_plan_with_name_tooltip": "您作为团体订阅 __groupName__ 的成员加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", + "group_plans": "团队计划", + "group_professional": "团队专业版", + "group_sso_configuration_idp_metadata": "此处提供的信息来自您的身份提供商(IdP)。这通常被称为其SAML元数据。对于某些IdP,您必须将HajTeX配置为服务提供商,才能获得填写此表格所需的数据。有关更多指导,请参阅<0>我们的文档。", + "group_sso_configure_service_provider_in_idp": "对于某些 IdP,您必须将 HajTeX 配置为服务提供商才能获取填写此表单所需的数据。 为此,您需要下载 HajTeX 元数据。", + "group_sso_documentation_links": "请参阅我们的<0>文档和<1>问题排查指南以获取更多帮助。", + "group_standard": "团队标准版", + "group_subscription": "团队订阅", + "groups": "群", + "have_an_extra_backup": "有一个额外的备份", + "have_more_days_to_try": "试用期增加__days__ days!", + "headers": "标题", + "help": "帮助", + "help_articles_matching": "符合你的主题的帮助文章", + "help_improve_overleaf_fill_out_this_survey": "如果您想帮助我们改进HajTeX,请花费一点您的宝贵时间填写<0>此调查哦。", + "help_improve_screen_reader_fill_out_this_survey": "填写此简易调查,帮助我们改善您使用 __appName__ 屏幕阅读器的体验。", + "hide_configuration": "隐藏配置", + "hide_deleted_user": "隐藏已删除的用户", + "hide_document_preamble": "隐藏文档导言部分", + "hide_local_file_contents": "隐藏本地文件内容", + "hide_outline": "隐藏文件大纲", + "history": "历史记录", + "history_add_label": "添加标记", + "history_adding_label": "正在添加标记", + "history_are_you_sure_delete_label": "您确实要删除以下标记吗", + "history_compare_from_this_version": "与此版本比较", + "history_compare_up_to_this_version": "与此版本比较", + "history_delete_label": "删除标记", + "history_deleting_label": "正在删除标记", + "history_download_this_version": "下载此版本", + "history_entry_origin_dropbox": "通过 Dropbox", + "history_entry_origin_git": "通过 Git", + "history_entry_origin_github": "通过 Github", + "history_entry_origin_upload": "上传", + "history_label_created_by": "创建人", + "history_label_project_current_state": "当前状态", + "history_label_this_version": "标记此版本", + "history_new_label_name": "新标记名称", + "history_restore_promo_content": "现在,您可以将单个文件或整个项目恢复到以前的版本,包括注释和跟踪的更改。单击“恢复此版本”可恢复所选文件,或使用历史记录条目中的 <0>菜单 可恢复整个项目。", + "history_restore_promo_title": "需要回归历史版本吗?", + "history_resync": "重新同步历史记录", + "history_view_a11y_description": "显示所有项目历史记录或仅显示带标签的版本。", + "history_view_all": "所有历史", + "history_view_labels": "标记", + "hit_enter_to_reply": "按下回车即可回复", + "home": "主页", + "hotkey_add_a_comment": "添加评论", + "hotkey_autocomplete_menu": "自动完成菜单", + "hotkey_beginning_of_document": "文件开头", + "hotkey_bold_text": "粗体", + "hotkey_compile": "编译", + "hotkey_delete_current_line": "删除当前行", + "hotkey_end_of_document": "文档末尾", + "hotkey_find_and_replace": "查找(并替换)", + "hotkey_go_to_line": "转到行", + "hotkey_indent_selection": "缩进选择", + "hotkey_insert_candidate": "插入候选", + "hotkey_italic_text": "斜体", + "hotkey_redo": "重做", + "hotkey_search_references": "搜索引用", + "hotkey_select_all": "全选", + "hotkey_select_candidate": "选择候选", + "hotkey_to_lowercase": "改为小写", + "hotkey_to_uppercase": "改为大写", + "hotkey_toggle_comment": "切换评论", + "hotkey_toggle_review_panel": "切换审阅面板", + "hotkey_toggle_track_changes": "切换历史记录", + "hotkey_undo": "撤销", + "hotkeys": "快捷键", + "how_it_works": "工作原理", + "how_many_users_do_you_need": "你需要多少用户", + "how_to_create_tables": "如何创建表格", + "how_to_insert_images": "如何插入图片", + "how_we_use_your_data": "我们如何使用您的数据", + "how_we_use_your_data_explanation": "<0>请回答几个简短的问题,帮助我们继续改进HajTeX。您的回答将帮助我们和我们的企业集团更多地了解我们的用户群体。我们可能会使用这些信息来改善您的 HajTeX 体验,例如提供个性化的入门、升级提示、帮助建议和量身定制的营销沟通(如果您选择接收这些信息)<1>有关我们如何使用您的个人数据的更多详细信息,请参阅我们的<0>隐私声明", + "hundreds_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作漂亮的文档。", + "i_want_to_stay": "我要留下", + "id": "ID", + "if_have_existing_can_link": "如果您在另一封电子邮件中有一个现有的 __appName__ 帐户,您可以通过单击 __clickText__ 将其链接到您的 __institutionName__ 账户。", + "if_owner_can_link": "如果您在__appName__拥有账户__email__,您可以将其链接到您的 __institutionName__ 机构帐户。", + "if_you_need_to_customize_your_table_further_you_can": "如果您需要进一步自定义表也是可以的哦。使用LaTeX代码,您可以更改从表格样式和边框样式,到颜色和列宽等任何内容<0>阅读我们的指南在LaTeX中使用表格以帮助您入门。", + "if_your_occupation_not_listed_type_full_name": "如果您的__occupation__未列出,您可以键入全名。", + "ignore_and_continue_institution_linking": "您也可以忽略此项,然后继续在 __appName__ 上使用您的 __email__ 帐户。", + "ignore_validation_errors": "忽略语法检查", + "ill_take_it": "我要购买!", + "image_file": "图片文件", + "image_url": "图片 URL", + "image_width": "图片宽度", + "import_a_bibtex_file_from_your_provider_account": "从您的__provider__帐户导入BibTeX文件", + "import_from_github": "从GitHub导入", + "import_idp_metadata": "插入 IdP 元数据", + "import_to_sharelatex": "导入 __appName__", + "imported_from_another_project_at_date": "于 __formattedDate__ __relativeDate__,从<0>另一个项目/__sourceEntityPathHTML__导入", + "imported_from_external_provider_at_date": "于 __formattedDate__ __relativeDate__,从<0>__shortenedUrlHTML__导入", + "imported_from_mendeley_at_date": "于 __formattedDate__ __relativeDate__,从Mendeley导入", + "imported_from_the_output_of_another_project_at_date": "于 __formattedDate__ __relativeDate__,从<0>另一个项目的输出导入: __sourceOutputFilePathHTML__", + "imported_from_zotero_at_date": "于 __formattedDate__ __relativeDate__,从Zotero导入", + "importing": "正在倒入", + "importing_and_merging_changes_in_github": "正在导入合并GitHub中的更改", + "in_good_company": "您有优秀的我们陪伴", + "in_order_to_have_a_secure_account_make_sure_your_password": "为了确保您的帐户安全,请确保您的新密码:", + "in_order_to_match_institutional_metadata_2": "为了匹配您的机构元数据,我们使用 <0>__email__ 关联您的帐户。", + "in_order_to_match_institutional_metadata_associated": "为了匹配您的机构元数据,您的帐户与电子邮件 __email__ 相关联。", + "include_caption": "添加 caption", + "include_label": "添加 label", + "include_the_error_message_and_ai_response": "包含错误信息和 AI 响应", + "increased_compile_timeout": "延长的编译时限", + "individuals": "个人", + "indvidual_plans": "个人方案", + "info": "信息", + "inr_discount_modal_info": "以平价获取文档历史记录、跟踪更改、更多协作者等功能。", + "inr_discount_modal_title": "面向印度用户的所有 HajTeX 高级计划七折优惠", + "inr_discount_offer_plans_page_banner": "__flag__ 好消息!我们已为印度用户的高级计划提供70% 折扣折扣。 查看下面的最新低价。", + "insert": "插入", + "insert_column_left": "在左边插入列", + "insert_column_right": "在右边插入列", + "insert_figure": "插入图片", + "insert_from_another_project": "从另外一个项目中插入", + "insert_from_project_files": "从项目文件中插入", + "insert_from_url": "从URL中插入", + "insert_image": "插入图片", + "insert_row_above": "在上方插入行", + "insert_row_below": "在下方插入行", + "insert_x_columns_left": "在左边插入 __columns__ 列", + "insert_x_columns_right": "在右边插入 __columns__ 列", + "insert_x_rows_above": "在上方插入__rows__ 行", + "insert_x_rows_below": "在下方插入__rows__ 行", + "institution": "机构", + "institution_account": "机构帐户", + "institution_account_tried_to_add_affiliated_with_another_institution": "此电子邮件已与您的帐户关联,但隶属于其他机构。", + "institution_account_tried_to_add_already_linked": "此机构已通过另一个电子邮件地址与您的帐户链接。", + "institution_account_tried_to_add_already_registered": "您试图添加的电子邮件/机构帐户已在__appName__注册。", + "institution_account_tried_to_add_not_affiliated": "此电子邮件已与您的帐户关联,但未与此机构关联。", + "institution_account_tried_to_confirm_saml": "此电子邮件无法确认。请从您的帐户中删除电子邮件,然后再次尝试添加。", + "institution_acct_successfully_linked_2": "您的<0>__appName__帐户已成功链接到您的<0\\>__institutionName__机构帐户。", + "institution_and_role": "机构和角色", + "institution_email_new_to_app": "您的 __institutionName__ 电子邮件地址 (__email__) 对__appName__ 是新的。", + "institution_has_overleaf_subscription": "<0>__institutionName__已有HajTeX订阅。单击发送到__emailAddress__的确认链接,升级到<0>HajTeX Professional。", + "institution_templates": "机构模版", + "institutional": "机构", + "institutional_leavers_survey_notification": "提供一些快速反馈,即可获得年度订阅25%的折扣!", + "institutional_login_not_supported": "您的大学还暂不支持机构登录,但您仍然可以通过机构电子邮件注册。", + "institutional_login_unknown": "抱歉,我们不知道是哪个机构发的那个电子邮件地址。您可以浏览我们的\n机构列表 找到您的机构,也可以在此处使用您的电子邮件地址和密码注册。", + "integrations": "集成", + "interested_in_cheaper_personal_plan": "你会对更便宜的<0>__price__个人计划感兴趣吗?", + "invalid_certificate": "证书无效,请检查证书,然后重试。", + "invalid_confirmation_code": "无效!请检查代码,然后重试。", + "invalid_email": "有未验证的邮箱", + "invalid_file_name": "文件名无效", + "invalid_filename": "上传失败:检查文件名是否包含特殊字符、尾随/前导空格或超过 __nameLimit__ 个字符", + "invalid_institutional_email": "您机构的 SSO 服务返回的您的电子邮件地址是 __email__,但该域名并没有在我们这里注册。您可以通过您的机构将您的主电子邮件地址更改为您所在机构域的电子邮件地址。如果您有任何问题,请联系您的 IT 部门。", + "invalid_password": "密码错误", + "invalid_password_contains_email": "密码不能包含电子邮件地址的部分内容", + "invalid_password_invalid_character": "密码包含无效的字符", + "invalid_password_not_set": "需要密码哦", + "invalid_password_too_long": "超过最大密码长度 __maxLength__", + "invalid_password_too_short": "密码太短,最短 __minLength__ 位", + "invalid_password_too_similar": "密码与电子邮件地址过于相似", + "invalid_request": "无效的请求。请更正数据并重试。", + "invalid_zip_file": "zip文件无效", + "invite": "邀请", + "invite_expired": "此邀请已经过期", + "invite_more_collabs": "邀请更多的协作者", + "invite_not_accepted": "邀请尚未接受", + "invite_not_valid": "项目邀请无效", + "invite_not_valid_description": "邀请已经过期。请联系项目所有者", + "invite_resend_limit_hit": "已达到邀请重新发送限制", + "invited_to_group": "<0>__inviterName__ 现已邀请您加入 __appName__ 的团队", + "invited_to_group_have_individual_subcription": "__inviterName__ 邀请您加入群组 __appName__ 订阅。 如果您加入该群组,您可能不需要单独订阅。 您想取消吗?", + "invited_to_group_login": "要接受此邀请,您需要以 __emailAddress__ 身份登录。", + "invited_to_group_login_benefits": "作为该小组的一员,您将可以使用 __appName__ 高级功能,例如额外的协作者、更长的最大编译时间和实时跟踪更改。", + "invited_to_group_register": "要接受 __inviterName__ 的邀请,您需要创建一个帐户。", + "invited_to_group_register_benefits": "__appName__ 是一个协作式在线 LaTeX 编辑器,拥有数千个即用型模板和一系列 LaTeX 学习资源,可帮助您入门。", + "invited_to_join": "您已经被邀请加入", + "ip_address": "IP地址", + "is_email_affiliated": "你的邮件附属于某个机构的吗? ", + "is_longer_than_n_characters": "至少要 __n__ 个字符长", + "is_not_used_on_any_other_website": "未在任何其他网站上使用", + "issued_on": "发布于:__date__", + "it": "意大利语", + "ja": "日语", + "january": "一月", + "join_beta_program": "加入beta计划", + "join_labs": "加入实验室", + "join_now": "现在加入", + "join_overleaf_labs": "加入 HajTeX Labs", + "join_project": "加入项目", + "join_sl_to_view_project": "加入 __appName__ 来查看此项目", + "join_team_explanation": "请单击下面的按钮加入团队并享受升级的__appName__帐户的好处", + "joined_team": "您已加入由__inviterName__管理的团队", + "joining": "加入", + "july": "七月", + "june": "六月", + "justify": "调整", + "kb_suggestions_enquiry": "您检查过我们的 <0>__kbLink__ 了吗?", + "keep_current_plan": "保持我现在的计划", + "keep_personal_projects_separate": "将个人项目分开", + "keep_your_account_safe": "确保您的帐户安全", + "keep_your_account_safe_add_another_email": "确保您的帐户安全,并确保您不会因添加其他电子邮件地址而失去对该帐户的访问权限。", + "keep_your_email_updated": "保持您的电子邮件更新,这样您就不会失去对帐户和数据的访问权限。", + "keybindings": "组合键", + "knowledge_base": "知识库", + "ko": "韩语", + "labels_help_you_to_easily_reference_your_figures": "标签可以帮助您轻松地在整个文档中引用您的图片。要引用文档中的图片,请使用<0> ef{…} 命令引用标签。这使得引用图形变得容易,而无需手动记住图形编号<1> 了解更多信息", + "labels_help_you_to_reference_your_tables": "标签可以帮助您轻松地在整个文档中引用表。要引用文本中的表,请使用<0>ef{…}命令引用标签。这样就可以很容易地引用表格,而无需手动记住表格编号<1> 阅读标签和交叉引用。", + "labs_program_benefits": "__appName__ 一直在寻找新的方法来帮助用户更快、更有效地工作。 通过加入 HajTeX Labs,您可以参与探索协作写作和出版领域创新想法的实验。", + "language": "语言", + "language_feedback": "语言反馈", + "large_or_high-resolution_images_taking_too_long": "大型或高分辨率图像的处理时间过长。 您也许能够<0>优化一下。", + "last_active": "最后活跃于", + "last_active_description": "最近项目打开时间", + "last_edit": "最近编辑", + "last_logged_in": "最近登录", + "last_modified": "最近一次修改", + "last_name": "姓", + "last_resort_trouble_shooting_guide": "如果不起作用,请按照我们的<0>问题排查指南进行操作。", + "last_suggested_fix": "最后建议的修复", + "last_updated": "最近上传", + "last_updated_date_by_x": "由 __person__ 在 __lastUpdatedDate__", + "last_used": "最近使用", + "latam_discount_modal_info": "使用__currencyName__支付的高级订阅可享受__discount__%的折扣,充分释放HajTeX的潜力。获得更长的编译超时时间、完整的文档历史记录、跟踪更改、额外的合作者等等。", + "latam_discount_modal_title": "高级订阅折扣", + "latam_discount_offer_plans_page_banner": "__flag__好消息 我们已经为__country__的用户在此页面上的高级计划应用了__discount__折扣。看看新的低价 (in __currency__)。", + "latex_articles_page_summary": "用 LaTeX 编写并由我们社区发布的论文、演示文稿、报告等。 在下面搜索或浏览。", + "latex_articles_page_title": "文章 - 论文、演示、报告等", + "latex_examples_page_summary": "强大的LaTeX软件包和使用中的技术样例——通过示例学习LaTeX的好方法。在下面搜索或浏览。", + "latex_examples_page_title": "样例 - Equations, Formatting, TikZ, 软件包等", + "latex_in_thirty_minutes": "30分钟学会 LaTeX", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX 根据特殊算法放置图形。 您可以使用“放置参数”来调整图形的位置。 <0>了解具体方法", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX根据一种特殊的算法放置表格。可以使用“放置参数”来调整表格的位置<0>这篇文章解释了如何做到这一点。", + "latex_templates": "LaTeX模板", + "layout": "布局", + "layout_processing": "布局处理中", + "ldap": "LDAP", + "ldap_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在LDAP系统中的账户,请使用此账户登陆系统。", + "learn": "学习", + "learn_more": "了解更多", + "learn_more_about_account": "<0>详细了解如何管理您的 __appName__ 帐户。", + "learn_more_about_emails": "<0>详细了解如何管理您的 __appName__ 电子邮件。", + "learn_more_about_link_sharing": "了解分享链接", + "learn_more_about_managed_users": "学习关于管理用户", + "learn_more_about_other_causes_of_compile_timeouts": "<0>了解更多 关于其他导致编译超时的原因以及如何修复。", + "learn_more_lowercase": "了解更多", + "leave": "离开", + "leave_any_group_subscriptions": "保留除将管理您帐户的组订阅之外的任何团队订阅<0>将它们从“订阅”页面中删除", + "leave_group": "退出团队", + "leave_labs": "离开 HajTeX Labs", + "leave_now": "现在退出", + "leave_project": "离开项目", + "leave_projects": "离开项目", + "left": "左对齐", + "length_unit": "长度单位", + "let_us_know": "让我们知道", + "let_us_know_how_we_can_help": "告诉我们您需要什么帮助", + "let_us_know_what_you_think": "让我们知道您的想法", + "lets_fix_your_errors": "来修复您的错误", + "library": "库", + "license": "许可", + "license_for_educational_purposes": "此许可证用于教育目的(适用于使用__appName__进行教学的学生或教师)", + "limited_offer": "限时优惠", + "limited_to_n_editors": "仅限 __count__ 个编辑", + "limited_to_n_editors_per_project": "每个项目仅限 __count__ 个编辑者", + "limited_to_n_editors_per_project_plural": "每个项目最多可有 __count__ 名编辑者", + "limited_to_n_editors_plural": "仅限 __count__ 名编辑者", + "line_height": "行高 (编辑器)", + "line_width_is_the_width_of_the_line_in_the_current_environment": "行宽是当前环境下行的宽度。例如:单列布局中的全页宽度或两列布局中的半页宽度。", + "link": "链接", + "link_account": "链接帐户", + "link_accounts": "链接帐户", + "link_accounts_and_add_email": "链接帐户并添加电子邮件", + "link_institutional_email_get_started": "将机构电子邮件地址链接到您的帐户以开始。", + "link_sharing": "分享链接", + "link_sharing_is_off": "链接分享已关闭,只有被邀请的用户才能浏览此项目。", + "link_sharing_is_off_short": "链接共享已关闭", + "link_sharing_is_on": "通过链接分享功能已开启。", + "link_to_github": "建立与您的GitHub账户的关联", + "link_to_github_description": "您需要授权 __appName__ 访问您的GitHub账户,从而允许我们同步您的项目。", + "link_to_mendeley": "关联至Mendeley", + "link_to_zotero": "关联至Zotero", + "link_your_accounts": "链接您的帐户", + "linked_accounts": "关联账户", + "linked_accounts_explained": "您可以将您的__appName__帐户与其他服务链接,以启用下面描述的功能", + "linked_collabratec_description": "使用Collabratec管理您的__appName__项目。", + "linked_file": "导入的文件", + "links": "链接", + "loading": "正在加载", + "loading_content": "正在创建项目", + "loading_github_repositories": "正在读取您的GitHub存储库", + "loading_prices": "加载价格", + "loading_recent_github_commits": "正在装载最近的提交", + "loading_writefull": "加载 Writefull", + "log_entry_description": "级别为__level__的日志条目", + "log_entry_maximum_entries": "最大日志条目限制已达到", + "log_entry_maximum_entries_enable_stop_on_first_error": "尝试修复第一个错误并重新编译。通常一个错误会导致许多后续的错误消息。您可以<0>启用“第一次出现错误时停止”以专注于修复错误。我们建议尽快修复错误;让它们积累起来可能会导致难以调试和致命的错误<1> 了解更多信息", + "log_entry_maximum_entries_see_full_logs": "如果您需要查看完整的日志,您仍然可以下载它们或查看下面的原始日志。", + "log_entry_maximum_entries_title": "__total__ 条日志消息总数。 显示第一个 __displayed__", + "log_hint_extra_info": "了解更多", + "log_in": "登录", + "log_in_and_link": "登录并链接", + "log_in_and_link_accounts": "登录并链接帐户", + "log_in_first_to_proceed": "您需要先登录才能继续。", + "log_in_now": "现在登录", + "log_in_with": "用 __provider__ 账户登陆", + "log_in_with_a_different_account": "以另外一个账户登录", + "log_in_with_email": "使用 __email__ 登录", + "log_in_with_existing_institution_email": "请使用您现有的 __appName__ 帐户登录,以便将您的__appName____institutionName__ 机构帐户关联起来。", + "log_in_with_primary_email_address": "如果您使用电子邮件地址和密码登录,这将是要使用的电子邮件地址。 重要的 __appName__ 通知将发送到此电子邮件地址。", + "log_in_with_sso": "通过 SSO 登录", + "log_in_with_sso_email": "工作或大学电子邮件账户", + "log_out": "退出", + "log_out_from": "从 __email__ 注销", + "log_out_lowercase_dot": "退出", + "log_viewer_error": "显示此项目的编译错误和日志时出现问题。", + "logged_in_with_email": "您当前使用 __email__ 登录到__appName__。", + "logging_in": "正在登录", + "logging_in_or_managing_your_account": "登录或管理您的帐户", + "login": "登录", + "login_count": "登录次数", + "login_error": "登录错误", + "login_failed": "登陆失败", + "login_here": "在此登录", + "login_or_password_wrong_try_again": "注册名或密码错误,请重试", + "login_register_or": "或者", + "login_to_accept_invitation": "登录以接受邀请", + "login_to_overleaf": "登录到HajTeX", + "login_with_service": "使用__service__登录", + "logs_and_output_files": "日志和生成的文件", + "longer_compile_timeout": "更长的 <0>编译时间", + "longer_compile_timeout_on_faster_servers": "在更快的服务器上拥有更长编译时限", + "looking_multiple_licenses": "寻找多个许可证?", + "looks_like_logged_in_with_email": "您似乎已经使用 __email__ 登录到 __appName__。", + "looks_like_youre_at": "看起来你在<0>__institutionName__!", + "lost_connection": "网络连接已断开", + "main_document": "主文档 (main tex)", + "main_file_not_found": "未知主文件", + "main_navigation": "主导航栏", + "maintenance": "维护", + "make_a_copy": "复制一份", + "make_email_primary_description": "将此作为主要电子邮件,用于登录", + "make_owner": "指定所有者", + "make_primary": "设为主邮件", + "make_private": "允许私有访问", + "manage_beta_program_membership": "管理 Beta 计划账户", + "manage_files_from_your_dropbox_folder": "管理Dropbox文件夹中的文件", + "manage_group_managers": "管理团队管理员", + "manage_group_members_subtext": "在团队订阅中添加或删除成员", + "manage_group_settings": "管理团队设置", + "manage_group_settings_subtext": "配置和管理 SSO 和托管用户", + "manage_group_settings_subtext_group_sso": "配置和管理 SSO", + "manage_group_settings_subtext_managed_users": "启用托管用户", + "manage_institution_managers": "管理机构管理员", + "manage_managers_subtext": "分配或删除管理员权限", + "manage_members": "管理成员", + "manage_newsletter": "管理您的电子邮件偏好", + "manage_publisher_managers": "管理出版社管理员", + "manage_sessions": "管理会话", + "manage_subscription": "管理订购", + "managed": "托管", + "managed_user_accounts": "托管的用户账户", + "managed_user_invite_has_been_sent_to_email": "托管用户邀请已发送到<0>__email__", + "managed_users": "托管用户", + "managed_users_accounts": "托管用户帐户", + "managed_users_accounts_plan_info": "托管用户使您可以更好地控制您的组对 HajTeX 的使用。 它确保对用户访问和删除进行更严格的管理,并允许您在有人离开组时保持对项目的控制。", + "managed_users_explanation": "托管用户确保您能够控制组织的项目以及项目的所有者<0>阅读有关托管用户的更多信息", + "managed_users_gives_gives_you_more_control_over_your_group": "托管用户让您可以更好地控制您的群组对 __appName__ 的使用。它确保对用户访问和删除进行更严格的管理,并允许您在有人离开群组时继续控制您的项目。", + "managed_users_is_enabled": "托管用户已启用", + "managed_users_terms": "要使用托管用户功能,您必须代表您的组织在 <0>__link__ 上选择下面的“我同意”,同意最新版本的客户条款。 这些条款将适用于您的组织对 HajTeX 的使用,以取代任何先前商定的 HajTeX 条款。 例外情况是我们与您签署了协议,在这种情况下,签署的协议将继续有效。 请保留一份副本作为记录。", + "managers_cannot_remove_admin": "管理员无法删除", + "managers_cannot_remove_self": "管理者不能删除自己", + "managers_management": "管理管理者", + "managing_your_subscription": "管理您的订阅", + "march": "三月", + "mark_as_resolved": "标记为已解决", + "marked_as_resolved": "标记为已解决", + "math_display": "数学表达式", + "math_inline": "行内数学符号", + "max_collab_per_project": "每个项目的协作者数量", + "max_collab_per_project_info": "您可以邀请参与每个项目的人数。 他们只需要拥有一个 HajTeX 帐户即可。 他们可以是每个项目中的不同人。", + "maximum_files_uploaded_together": "最多可同时上传__max__个文件", + "may": "五月", + "maybe_later": "或许稍后", + "member_picker": "选择团体计划的用户数量", + "members_management": "成员管理", + "mendeley": "Mendeley", + "mendeley_cta": "获取 Mendeley 集成", + "mendeley_groups_loading_error": "从 Mendeley 加载群组时出错", + "mendeley_groups_relink": "访问您的 Mendeley 数据时出错。 这可能是由于缺乏权限造成的。 请重新关联您的帐户并重试。", + "mendeley_integration": "Mendeley 集成", + "mendeley_integration_lowercase": "Mendeley 集成", + "mendeley_integration_lowercase_info": "在 Mendeley 中管理您的参考文献,并将其直接链接到 HajTeX 中的 .bib 文件,以便您可以轻松引用文献中的任何内容。", + "mendeley_is_premium": "Mendeley集成是一个高级功能", + "mendeley_reference_loading_error": "错误,无法加载Mendeley的参考文献", + "mendeley_reference_loading_error_expired": "Mendeley令牌过期,请重新关联您的账户", + "mendeley_reference_loading_error_forbidden": "无法加载Mendeley的参考文献,请重新关联您的账户后重试", + "mendeley_sync_description": "集成 Mendeley 后,您可以将 mendeley 的参考文献导入 __appName__ 项目。", + "menu": "菜单", + "merge": "合并", + "merge_cells": "合并单元格", + "merging": "正在合并", + "message_received": "收到消息", + "missing_field_for_entry": "缺少字段", + "missing_fields_for_entry": "缺少字段", + "money_back_guarantee": "30天无理由退款", + "month": "月", + "monthly": "每个月", + "more": "更多", + "more_actions": "更多操作", + "more_info": "更多信息", + "more_lowercase": "更多", + "more_options": "更多选择", + "more_options_for_border_settings_coming_soon": "更多的边框设置选项即将推出。", + "more_project_collaborators": "<0>更多项目<0>合作者", + "more_than_one_kind_of_snippet_was_requested": "在HajTeX打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "most_popular": "最受欢迎的", + "most_popular_uppercase": "最受欢迎的", + "must_be_email_address": "必须是电邮地址", + "must_be_purchased_online": "必须通过在线订购", + "my_library": "我的库", + "n_items": "__count__ 个项目", + "n_items_plural": "__count__ 个项目", + "n_matches": "__n__ 个匹配", + "n_more_updates_above": "__count__处更新在上方", + "n_more_updates_above_plural": "__count__处更新在上方", + "n_more_updates_below": "__count__处更新在下方", + "n_more_updates_below_plural": "__count__处更新在下方", + "n_users": "__userCount__ 个用户", + "name": "名字", + "name_usage_explanation": "您的名字将显示给您的合作者(以便他们知道正在与谁合作)。", + "native": "本机", + "navigate_log_source": "导航到源代码中的日志位置:__location__", + "navigation": "导航", + "nearly_activated": "还有一步您的 __appName__ 账户就会被激活了!", + "need_anything_contact_us_at": "您有任何需要,请直接联系我们", + "need_contact_group_admin_to_make_changes": "如果您想对帐户进行某些更改,则需要联系群组管理员。 <0>了解有关托管用户的更多信息。", + "need_make_changes": "你需要做一些修改", + "need_more_than_50_users": "需要50多个用户?", + "need_more_than_to_licenses_get_in_touch": "需要 50 以上的许可证? 请联系我们", + "need_more_than_x_licenses": "需要 __x__ 个以上的许可证?", + "need_to_add_new_primary_before_remove": "在删除此电子邮件地址之前,您需要添加一个新的主电子邮件地址。", + "need_to_leave": "确定要删除账号?", + "need_to_upgrade_for_more_collabs": "您的账户需要升级方可添加更多的合作者", + "new_compile_domain_notice": "我们最近将 PDF 下载迁移到了新域,可能会阻止您的浏览器访问新域 <0>__compilesUserContentDomain__。 这可能是由网络阻止或严格的浏览器插件规则引起的。 请查阅我们的<1>问题排查指南。", + "new_file": "新建文件", + "new_folder": "新建目录", + "new_name": "新名字", + "new_password": "新密码", + "new_project": "创建新项目", + "new_snippet_project": "未命名", + "new_subscription_will_be_billed_immediately": "您的新订阅将立即通过您当前的付款方式计费。", + "new_tag": "新建标签", + "new_tag_name": "新标签名", + "newsletter": "电子邮件", + "newsletter_info_note": "请注意:您仍然会收到重要的电子邮件,例如项目邀请和安全通知(密码重置、帐户链接等)。", + "newsletter_info_subscribed": "您当前<0>订阅了__appName__ 新闻资讯。 如果您不想收到此电子邮件,则可以随时取消订阅。", + "newsletter_info_summary": "每隔几个月,我们就会发送一份简讯,总结可用的新功能。", + "newsletter_info_title": "电子邮件偏好", + "newsletter_info_unsubscribed": "您当前<0>未订阅__appName__ 新闻资讯。", + "newsletter_onboarding_accept": "我想要关于产品优惠、公司新闻和活动的电子邮件。", + "next": "下一步", + "next_page": "下一页", + "next_payment_of_x_collectected_on_y": "<0>__paymentAmmount__ 的下次支付时间为<1>__collectionDate__ 。", + "nl": "荷兰语", + "no": "挪威语", + "no_actions": "无操作", + "no_articles_matching_your_tags": "没有符合您标签的文章", + "no_borders": "无边框", + "no_caption": "无标题", + "no_comments": "没有评论", + "no_comments_or_suggestions": "没有评论或建议", + "no_existing_password": "请使用密码重置表单设置密码", + "no_featured_templates": "无特色模板", + "no_folder": "没有文件夹", + "no_i_dont_need_these": "不,我不需要这些", + "no_image_files_found": "没有找到图片文件", + "no_members": "没有成员", + "no_messages": "无消息", + "no_new_commits_in_github": "自上次合并后GitHub未收到新的提交", + "no_one_has_commented_or_left_any_suggestions_yet": "目前还没有人发表评论或留下任何建议。", + "no_other_projects_found": "找不到其他项目,请先创建另一个项目", + "no_other_sessions": "暂无其他活跃对话", + "no_pdf_error_explanation": "此编译未生成 PDF。 在以下情况下可能会发生这种情况:", + "no_pdf_error_reason_no_content": "document 环境中未包含任何内容。 如果为空,请您在其中添加一些内容并重新编译。", + "no_pdf_error_reason_output_pdf_already_exists": "该项目包含一个名为 output.pdf 的文件。 如果该文件存在,请重命名并重新编译。", + "no_pdf_error_reason_unrecoverable_error": "存在不可恢复的 LaTeX 错误。 如果在下面或原始日志中存在 LaTeX 错误,请尝试修复它们并重新编译。", + "no_pdf_error_title": "无 PDF", + "no_planned_maintenance": "目前没有维护计划", + "no_preview_available": "抱歉,无法预览。", + "no_projects": "没有任何项目", + "no_resolved_comments": "没有已解决的评论", + "no_resolved_threads": "没有未解决线程", + "no_search_results": "没有搜索到结果", + "no_selection_select_file": "当前未选择任何文件。请从文件树中选择一个文件。", + "no_symbols_found": "找不到符号", + "no_thanks_cancel_now": "不,谢谢,我还是想取消", + "no_update_email": "不,更新邮件", + "normal": "常规", + "normally_x_price_per_month": "通常每月__price__", + "normally_x_price_per_year": "通常每年__price__", + "not_found_error_from_the_supplied_url": "在HajTeX打开此内容的链接指向找不到的文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "not_managed": "未被托管", + "not_now": "稍后", + "not_registered": "未注册", + "note_features_under_development": "<0>请注意此计划中的功能仍在测试和快速开发中。 这意味着它们可能<0>改变、<0>被删除或<0>成为高级计划的一部分", + "notification_features_upgraded_by_affiliation": "好消息!您的组织__institutionName__已有 HajTeX 订阅,并且您现在可以访问 HajTeX 的所有专业功能。", + "notification_personal_and_group_subscriptions": "我们发现您有<0>多个活跃的 __appName__ 订阅。 为避免支付超出您需要的费用,请<1>检查您的订阅。", + "notification_personal_subscription_not_required_due_to_affiliation": " 好消息!您的组织 __institutionName__ 与 HajTeX 有合作关系。您可以取消您的个人订阅,而不会失去访问您的任何利益。", + "notification_project_invite": "__userName__ 想让您加入 __projectName__ 加入项目", + "notification_project_invite_accepted_message": "您已加入 __projectName__", + "notification_project_invite_message": "__userName__ 希望您加入 __projectName__", + "november": "十一月", + "number_collab": "合作者数量", + "number_collab_info": "您可以邀请与您一起处理项目的人数。每个项目都有限制,因此您可以邀请不同的人参与每个项目。", + "number_of_projects": "项目的数量", + "number_of_users": "用户数量", + "number_of_users_info": "如果你订阅此计划,可以升级的HajTeX账户的用户数量", + "number_of_users_with_colon": "用户数量:", + "oauth_orcid_description": " 通过将您的 ORCID iD 链接到您的__appName__帐户,安全地建立您的身份。提交给参与发布者的文件将自动包含您的ORCID iD,以改进工作流和可见性。 ", + "october": "十月", + "off": "关闭", + "official": "官方", + "ok": "好的", + "ok_continue_to_project": "好的,继续到项目", + "ok_join_project": "好的,加入项目", + "on": "开", + "on_free_plan_upgrade_to_access_features": "您使用的是 __appName__ 免费计划。 升级即可使用这些<0>高级功能", + "one_collaborator": "仅一个合作者", + "one_collaborator_per_project": "每个项目 1 名协作者", + "one_free_collab": "1个免费的合作者", + "one_per_project": "每个项目 1 个", + "one_step_away_from_professional_features": "您距离访问<0>HajTeX Professional 功能仅一步之遥!", + "one_user": "1 个用户", + "ongoing_experiments": "正在进行的实验", + "online_latex_editor": "在线LaTeX编辑器", + "only_group_admin_or_managers_can_delete_your_account_1": "通过成为托管用户,您的组织将对您的帐户拥有管理权限,并控制您的内容,包括关闭您的帐户以及访问、删除和共享您的内容的权限。因此:", + "only_group_admin_or_managers_can_delete_your_account_2": "只有您的群组管理员才能删除您的帐户。", + "only_group_admin_or_managers_can_delete_your_account_3": "您的群组管理员将能够将项目的所有权重新分配给其他群组成员。", + "only_group_admin_or_managers_can_delete_your_account_4": "一旦您成为托管用户,就无法再更改回来。 <0>了解有关托管 HajTeX 帐户的更多信息。", + "only_group_admin_or_managers_can_delete_your_account_5": "有关更多信息,请参阅我们的使用条款中的“托管帐户”部分,您可以通过单击“接受邀请”来同意该条款", + "only_importer_can_refresh": "只有最初导入此 __provider__ 文件的人才能刷新它。", + "open_a_file_on_the_left": "打开左侧的一个文件", + "open_advanced_reference_search": "打开高级引用搜索", + "open_as_template": "作为模版打开", + "open_file": "编辑文件", + "open_link": "前往页面", + "open_path": "打开 __path__", + "open_project": "打开项目", + "open_target": "前往目标", + "opted_out_linking": "您已选择取消将您的 __email__ __appName__ 帐户绑定到您的机构帐户。", + "optional": "选填", + "or": "或者", + "organization": "组织", + "organization_name": "组织名", + "organization_or_company_name": "组织或公司名称", + "organization_or_company_type": "组织或公司类型", + "organize_projects": "分类管理项目", + "original_price": "原价", + "other": "其他", + "other_actions": "其他", + "other_logs_and_files": "其他日志和文件", + "other_output_files": "下载其他输出文件", + "other_sessions": "其他会话", + "other_ways_to_log_in": "其他登录方式", + "our_values": "我们的价值观", + "out_of_sync": "同步失败", + "out_of_sync_detail": "很抱歉,此文件无法同步,我们需要刷新整个页面。<0><1>有关详细信息,请参阅本帮助指南", + "output_file": "输出文件", + "over": "超过", + "over_n_users_at_research_institutions_and_business": "全球有超过 __userCountMillion__ 万研究机构和企业用户喜爱 __appName__", + "overall_theme": "全局主题", + "overleaf": "HajTeX", + "overleaf_group_plans": "HajTeX 团队计划", + "overleaf_history_system": "HajTeX 历史跟踪系统", + "overleaf_individual_plans": "HajTeX 个人计划", + "overleaf_labs": "HajTeX Labs", + "overleaf_plans_and_pricing": "HajTeX 计划和价格", + "overview": "概览", + "overwrite": "覆盖", + "overwriting_the_original_folder": "覆盖原始文件夹将删除它及其包含的所有文件。", + "owned_by_x": "由__x__拥有", + "owner": "拥有者", + "page_current": "页面 __page__,当前页面", + "page_not_found": "找不到页面", + "pagination_navigation": "分页导航", + "partial_outline_warning": "文件大纲已过期。它将在您编辑文档时自行更新", + "password": "密码", + "password_cant_be_the_same_as_current_one": "密码不能和当前的完全一样", + "password_change_old_password_wrong": "您的旧密码错误", + "password_change_password_must_be_different": "您输入的密码与当前密码相同。请尝试其他密码。", + "password_change_passwords_do_not_match": "密码不匹配", + "password_change_successful": "密码已更改", + "password_compromised_try_again_or_use_known_device_or_reset": "您输入的密码位于<0>泄露密码的公开列表中。 请尝试从您之前使用过的设备登录或<1>重置您的密码", + "password_managed_externally": "密码设置由外部管理", + "password_reset": "重置密码", + "password_reset_email_sent": "已给您发送邮件以完成密码重置", + "password_reset_token_expired": "您的密码重置链接已过期。请申请新的密码重置email,并按照email中的链接操作。", + "password_too_long_please_reset": "超过最大密码长度限制。请重新设置密码。", + "password_updated": "密码已更新", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "在<0>已知泄露密码的公共列表中检测到此密码", + "paste_options": "粘贴选项", + "paste_with_formatting": "粘贴并附带格式", + "paste_without_formatting": "粘贴纯文本", + "payment_method_accepted": "__paymentMethod__ 已接受", + "payment_provider_unreachable_error": "抱歉,与我们的支付提供商交谈时出错。请稍后再试。\n如果您在浏览器中使用任何广告或脚本阻止扩展,则可能需要暂时禁用它们。", + "payment_summary": "付款摘要", + "pdf_compile_in_progress_error": "之前的编译仍在运行。 请稍等片刻,然后再尝试编译。", + "pdf_compile_rate_limit_hit": "编译率达到限制", + "pdf_compile_try_again": "请等待其他项目编译完成后再试", + "pdf_in_separate_tab": "PDF 为单独的选项卡", + "pdf_only_hide_editor": "仅 PDF <0>(隐藏编辑器)", + "pdf_preview_error": "显示此项目的编译结果时出现问题。", + "pdf_rendering_error": "PDF渲染错误", + "pdf_unavailable_for_download": "PDF 无法下载", + "pdf_viewer": "PDF 阅读器", + "pdf_viewer_error": "显示此项目的PDF时出现问题。", + "pending": "待定", + "pending_additional_licenses": "您的订阅正在更改为包括<0>__pendingAdditionalLicenses__个附加许可证,总共有<1>__pendingTotalLicenses__个许可证。", + "pending_invite": "等待中的邀请", + "per_month": "每个月", + "per_user": "每个用户", + "per_user_per_year": "每个用户 / 每年", + "per_user_year": "每个用户 / 每年", + "per_year": "每年", + "percent_discount_for_groups": "__appName__为__size__或以上的团体提供__percent__%的教育折扣。", + "percent_is_the_percentage_of_the_line_width": "% 是行宽的百分比", + "personal": "个人", + "personalized_onboarding": "个性化入门", + "personalized_onboarding_info": "我们将帮助您设置好一切,然后我们将在这里回答您的用户关于平台、模板或LaTeX的问题!", + "pl": "波兰语", + "plan": "计划", + "plan_tooltip": "你在__plan__计划中。点击了解如何充分利用您的 HajTeX 高级功能。", + "planned_maintenance": "计划中的维护", + "plans_amper_pricing": "套餐 & 价格", + "plans_and_pricing": "套餐及价格", + "plans_and_pricing_lowercase": "套餐 & 价格", + "please_ask_the_project_owner_to_upgrade_more_editors": "请要求项目所有者升级他们的计划,以允许更多的编辑者。", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "请要求项目所有者升级以使用历史查询功能。", + "please_change_primary_to_remove": "请更改您的主要电子邮件以删除它", + "please_check_your_inbox": "请检查您的收件箱", + "please_check_your_inbox_to_confirm": "请检查您的电子邮件收件箱以确认您属于<0>__institutionName__ 。", + "please_compile_pdf_before_download": "请在下载PDF之前编译您的项目", + "please_compile_pdf_before_word_count": "请您在统计字数之前先编译您的的项目", + "please_confirm_email": "请点击电子邮件中的链接确认您的电子邮件地址 __emailAddress__ ", + "please_confirm_your_email_before_making_it_default": "请先确认您的电子邮件,然后再将其作为主要邮件。", + "please_contact_support_to_makes_change_to_your_plan": "请<0>联系支持以更改您的计划", + "please_contact_us_if_you_think_this_is_in_error": "如果您认为此信息有误,请<0>联系我们。", + "please_enter_confirmation_code": "请输入您的验证码", + "please_enter_email": "请输入您的电子邮件地址", + "please_get_in_touch": "请联系", + "please_link_before_making_primary": "请确认您的电子邮件链接到您的机构帐户,然后再将其作为主要电子邮件。", + "please_provide_a_message": "请提供消息", + "please_provide_a_subject": "请提供主题", + "please_reconfirm_institutional_email": "请花点时间确认您的机构电子邮件地址,或<0>将其从您的帐户中删除。", + "please_reconfirm_your_affiliation_before_making_this_primary": "请确认您的从属关系,然后再将此作为主要。", + "please_refresh": "请刷新页面以继续", + "please_request_a_new_password_reset_email_and_follow_the_link": "请求一封新的密码重置电子邮件并点击链接", + "please_select": "请选择", + "please_select_a_file": "请选择一个文件", + "please_select_a_project": "请选择项目", + "please_select_an_output_file": "请选择输出文件", + "please_set_a_password": "请设置密码", + "please_set_main_file": "请在项目菜单中选择此项目的主文件。", + "please_wait": "请稍后", + "plus_additional_collaborators_document_history_track_changes_and_more": "(以及更多协作者、文档历史记录、跟踪更改等付费功能)。", + "plus_more": "加上更多", + "popular_tags": "热门标签", + "portal_add_affiliation_to_join": "您似乎已经登录到 __appName__!如果你有一封 __portalTitle__ 邮件,现在就可以添加了。", + "position": "职位", + "postal_code": "邮政编码", + "powerful_latex_editor_and_realtime_collaboration": "强大的LaTeX编辑器 & 实时协作", + "powerful_latex_editor_and_realtime_collaboration_info": "拼写检查、智能自动完成、语法高亮显示、数十种颜色主题、vim和emacs绑定、LaTeX警告和错误消息的帮助等等。每个人都有最新的版本,您可以实时看到合作者的光标和更改。", + "premium_feature": "Premium 功能", + "premium_features": "高级功能", + "premium_plan_label": "您正在使用 HajTeX Premium", + "presentation": "幻灯片", + "presentation_mode": "演示模式", + "press_and_awards": "新闻 & 奖项", + "previous_page": "上一页", + "price": "价格", + "primarily_work_study_question": "你主要在哪里工作或学习?", + "primarily_work_study_question_company": "公司", + "primarily_work_study_question_government": "政府", + "primarily_work_study_question_nonprofit_ngo": "非营利组织或非政府组织", + "primarily_work_study_question_other": "其他", + "primarily_work_study_question_university_school": "大学或高校", + "primary_certificate": "主证书", + "primary_email_check_question": "<0>__email__ 还是您的电子邮件地址吗?", + "priority_support": "优先支持", + "priority_support_info": "我们乐于助人的支持团队将在必要时优先考虑并升级您的支持请求。", + "privacy": "隐私", + "privacy_and_terms": "隐私和条款", + "privacy_policy": "隐私政策", + "private": "私有", + "problem_changing_email_address": "无法更改您的email地址。请您过一会儿重试。如果问题持续,请联系我们。", + "problem_talking_to_publishing_service": "我们的发布服务出现故障,请在几分钟后再试", + "problem_with_subscription_contact_us": "您的订购出现了问题。请联系我们以获得更多信息。", + "proceed_to_paypal": "继续使用 PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "继续访问 PayPal 将带您前往 PayPal 网站支付订阅费用。", + "processing": "处理中", + "processing_uppercase": "处理中", + "processing_your_request": "我们正在处理您的请求,请稍候。", + "professional": "专业版", + "progress_bar_percentage": "进度条从 0 到 100%", + "project": "项目", + "project_approaching_file_limit": "此项目已接近文件限制", + "project_figure_modal": "项目", + "project_flagged_too_many_compiles": "因频繁编译,项目被标旗。编译上限会稍后解除。", + "project_has_too_many_files": "此项目已达到 2000 个文件限制", + "project_last_published_at": "您的项目最近一次被发布在", + "project_layout_sharing_submission": "项目布局、分享和提交", + "project_name": "项目名称", + "project_not_linked_to_github": "该项目未与GitHub任一存储库关联。您可以在GitHub中为该项目创建一个存储库:", + "project_owner_plus_10": "项目作者 + 10人", + "project_ownership_transfer_confirmation_1": "是否确定要将 <0>__user__ 设为 <1>__project__ 的所有者?", + "project_ownership_transfer_confirmation_2": "此操作无法撤消。新所有者将收到通知,并可以更改项目访问权限设置(包括删除您自己的访问权限)。", + "project_renamed_or_deleted": "项目已重命名或删除", + "project_renamed_or_deleted_detail": "该项目已被外部数据源(例如 Dropbox)重命名或删除。 我们不想删除您在 HajTeX 上的数据,因此该项目仍然包含您的历史记录和合作者。 如果项目已重命名,请在项目列表中查找新名称下的新项目。", + "project_synced_with_git_repo_at": "该项目已与GitHub存储库同步,仓库地址为", + "project_synchronisation": "项目同步", + "project_timed_out_enable_stop_on_first_error": "<0>启用“出现第一个错误时停止”可帮助您立即查找并修复错误。", + "project_timed_out_fatal_error": "<0>致命编译错误可能会彻底阻止编译。", + "project_timed_out_intro": "抱歉,您的编译运行时间已超时。 超时的最常见原因是:", + "project_timed_out_learn_more": "<0>了解更多 关于其他导致编译超时的原因以及如何修复。", + "project_timed_out_optimize_images": "处理大图像或高分辨率图像需要很长时间。 您也许能够<0>优化一下。", + "project_too_large": "项目太大", + "project_too_large_please_reduce": "此项目的可编辑文本太多,请尝试减少它。最大的文件是:", + "project_too_much_editable_text": "该项目具有太多可编辑文本,请尝试减少它。", + "project_url": "受影响的项目URL", + "projects": "项目", + "projects_count": "项目数", + "projects_list": "项目列表", + "provide_details_of_your_sso_configuration": "添加、编辑或删除身份提供商的 SAML 元数据。", + "pt": "葡萄牙语", + "public": "公共", + "publish": "发布", + "publish_as_template": "管理模版", + "publisher_account": "发布者帐户", + "publishing": "正在发表", + "pull_github_changes_into_sharelatex": "将GitHub中的更改调入 __appName__", + "purchase_now": "现在订购", + "purchase_now_lowercase": "现在订购", + "push_sharelatex_changes_to_github": "将 __appName__ 中的更改推送到GitHub", + "quoted_text": "引用文本", + "quoted_text_in": "引文内容", + "raw_logs": "原始日志", + "raw_logs_description": "来自 LaTeX 编译器的原始日志", + "react_history_tutorial_content": "要比较一系列版本,请在范围的开头和结尾使用所需版本的 <0>。 要添加标签或下载版本,请使用三点菜单中的选项。 <1>了解有关使用HajTeX历史记录的更多信息。", + "react_history_tutorial_title": "历史跟踪操作迁移到了新位置", + "reactivate_subscription": "重新激活您的订阅", + "read_lines_from_path": "从 __path__ 读取行", + "read_more": "阅读更多", + "read_more_about_free_compile_timeouts_servers": "阅读有关免费计划编译超时和服务器更改的更多信息", + "read_only": "只读", + "read_only_token": "只读令牌", + "read_write_token": "可读写令牌", + "ready_to_join_x": "您已加入 __inviterName__", + "ready_to_join_x_in_group_y": "您已加入 __groupName__ 团队的 __inviterName__", + "ready_to_set_up": "准备好设置", + "ready_to_use_templates": "现成的模板", + "real_time_track_changes": "实时<0>跟踪更改", + "realtime_track_changes": "实时跟踪更改", + "realtime_track_changes_info_v2": "打开跟踪更改以查看谁进行了每项更改、接受或拒绝其他人的更改以及撰写评论。", + "reasons_for_compile_timeouts": "编译超时的原因", + "reauthorize_github_account": "重新授权 GitHub 帐号", + "recaptcha_conditions": "本网站受reCAPTCHA保护,谷歌<1>隐私政策和<2>服务条款适用。", + "recent": "最近的", + "recent_commits_in_github": "GitHub中最近的提交", + "recompile": "重新编译", + "recompile_from_scratch": "从头开始重新编译", + "recompile_pdf": "重新编译该PDF", + "reconfirm": "再次确认", + "reconfirm_explained": "我们需要再次确认你的帐户。请通过以下表格申请密码重置链接,以重新确认您的帐户。如果您在重新确认您的帐户时有任何问题,请联系我们", + "reconnect": "重试", + "reconnecting": "正在重新连接", + "reconnecting_in_x_secs": "__seconds__ 秒后重新连接", + "recurly_email_update_needed": "您当前的帐单邮件地址为 <0>__recurlyEmail__。如果需要,您可以将帐单地址修改为 <1>__userEmail__。", + "recurly_email_updated": "您的帐单邮件地址已成功更新", + "redirect_to_editor": "重定向到编辑器", + "redirect_url": "重定向 URL", + "redirecting": "重定向中", + "reduce_costs_group_licenses": "您可以通过我们的团体优惠许可证减少工作并降低成本。", + "reference_error_relink_hint": "如果仍出现此错误,请尝试在此重新关联您的账户:", + "reference_managers": "引文管理", + "reference_search": "高级搜索", + "reference_search_info_new": "轻松查找您的参考文献——按作者、标题、年份或期刊搜索。", + "reference_search_info_v2": "查找参考文献很容易 - 您可以按作者、标题、年份或期刊进行搜索。 您仍然可以通过引用键进行搜索。", + "reference_sync": "同步参考文献", + "refresh": "刷新", + "refresh_page_after_linking_dropbox": "请在将您的帐户链接到Dropbox后刷新此页。", + "refresh_page_after_starting_free_trial": "请在您开始免费试用之后刷新此页面", + "refreshing": "正在刷新", + "regards": "感谢", + "register": "注册", + "register_error": "注册错误", + "register_intercept_sso": "登录后,您可以从“帐户设置”页绑定您的 __authProviderName__ 帐户。", + "register_to_accept_invitation": "注册以接受邀请", + "register_to_edit_template": "请注册以编辑 __templateName__ 模板", + "register_with_another_email": "使用另一个邮件地址注册 __appName__", + "registered": "已注册", + "registering": "正在注册", + "registration_error": "注册错误", + "reject": "不要", + "reject_all": "拒绝全部", + "reject_change": "拒绝修改", + "related_tags": "相关标签", + "relink_your_account": "重新链接您的帐户", + "reload_editor": "重新加载编辑器", + "remind_before_trial_ends": "我们会在试用期结束前提醒您", + "remote_service_error": "远程服务产生错误", + "remove": "删除", + "remove_access": "移除权限", + "remove_collaborator": "移除合作者", + "remove_from_group": "从群组中移除", + "remove_link": "移除链接", + "remove_manager": "删除管理者", + "remove_or_replace_figure": "删除或替换图片", + "remove_secondary_email_addresses": "删除与您的帐户关联的所有辅助电子邮件地址。 <0>在帐户设置中将其删除。", + "remove_sso_login_option": "删除用户的 SSO 登录选项。", + "remove_tag": "移除标签 __tagName__", + "removed": "已被移除", + "removed_from_project": "从项目中删除", + "removing": "删除", + "rename": "重命名", + "rename_project": "重命名项目", + "renaming": "重命名中", + "reopen": "重新打开", + "replace_figure": "替换图片", + "replace_from_another_project": "从另一个项目替换", + "replace_from_computer": "从本地计算机替换", + "replace_from_project_files": "从项目文件替换", + "replace_from_url": "从 URL 替换", + "reply": "回复", + "repository_name": "存储库名称", + "republish": "重新发布", + "request_new_password_reset_email": "请求发送重置密码电子邮件", + "request_overleaf_common": "请求 HajTeX Commons", + "request_password_reset": "请求重置密码", + "request_password_reset_to_reconfirm": "请求密码重置邮件以重新确认", + "request_reconfirmation_email": "请求再确认电子邮件", + "request_sent_thank_you": "请求已发送,我们的团队将审核并通过电子邮件回复。", + "requesting_password_reset": "请求密码重置", + "required": "必填", + "resend": "重发", + "resend_confirmation_code": "重新发送确认码", + "resend_confirmation_email": "重新发送确认电子邮件", + "resend_email": "重新发送电子邮件", + "resend_group_invite": "重新发送群组邀请", + "resend_link_sso": "重新发送 SSO 邀请", + "resend_managed_user_invite": "重新发送托管用户邀请", + "resending_confirmation_code": "重新发送确认码", + "resending_confirmation_email": "重新发送确认电子邮件", + "reset_password": "重置密码", + "reset_password_link": "单击此链接重置您的密码", + "reset_your_password": "重置您的密码", + "resize": "调整大小", + "resolve": "解决", + "resolve_comment": "解决评论", + "resolved_comments": "已折叠的评论", + "restore": "恢复", + "restore_file": "恢复文件", + "restore_file_confirmation_message": "您当前的文件将恢复到 __date__ __time__ 的版本。", + "restore_file_confirmation_title": "恢复此版本?", + "restore_file_error_message": "恢复文件版本时出现问题。请稍后重试。如果问题仍然存在,请联系我们。", + "restore_file_error_title": "恢复文件错误", + "restore_file_version": "恢复此版本", + "restore_project_to_this_version": "将项目恢复至此版本", + "restore_this_version": "恢复此版本", + "restoring": "正在恢复", + "restricted": "受限的", + "restricted_no_permission": "访问受限,抱歉您没有权限访问此页面", + "resync_completed": "重新同步完成!", + "resync_message": "重新同步项目历史记录可能需要几分钟时间,具体取决于项目的大小。", + "resync_project_history": "重新同步项目历史记录", + "retry_test": "重试测试", + "return_to_login_page": "回到登录页", + "reverse_x_sort_order": "反向__x__排序顺序", + "revert_pending_plan_change": "撤销计划的套餐更改", + "review": "审阅", + "review_your_peers_work": "同行评议", + "revoke": "撤回", + "revoke_invite": "撤销邀请", + "right": "右对齐", + "ro": "罗马尼亚语", + "role": "角色", + "ru": "俄罗斯语", + "saml": "SAML", + "saml_auth_error": "很抱歉,您的身份提供程序响应时出错。有关详细信息,请与管理员联系。", + "saml_authentication_required_error": "其他登录方法已被您的群组管理员禁用。 请使用您的群组 SSO 登录。", + "saml_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在SAML系统中的账户,请使用此账户登陆系统。", + "saml_email_not_recognized_error": "此电子邮件地址未设置为SSO。请检查并重试,或者与管理员联系。", + "saml_identity_exists_error": "很抱歉,您的身份提供商返回的身份已链接到另一个HajTeX帐户。有关详细信息,请与您的管理员联系。", + "saml_invalid_signature_error": "很抱歉,从您的身份提供商处收到的信息签名无效。有关详细信息,请与您的管理员联系。", + "saml_login_disabled_error": "很抱歉,__email__的单点登录已被禁用。有关详细信息,请与管理员联系。", + "saml_login_failure": "抱歉,您登录时出现问题。请联系您的管理员以获取更多信息。", + "saml_login_identity_mismatch_error": "抱歉,您正在尝试以 __email__ 身份登录 HajTeX,但您的身份提供商返回的身份不是此 HajTeX 帐户的正确身份。", + "saml_login_identity_not_found_error": "抱歉,我们无法找到为此身份提供商设置单点登录的 HajTeX 帐户。", + "saml_metadata": "HajTeX SAML 元数据", + "saml_missing_signature_error": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。 请联系您的管理员以获取更多信息。", + "saml_response": "SAML 响应:", + "save": "保存", + "save_20_percent": "节省 20%", + "save_20_percent_by_paying_annually": "按年支付可节省20%", + "save_30_percent_or_more": "节省30%或更多", + "save_30_percent_or_more_uppercase": "节省30%或更多", + "save_n_percent": "节约 __percentage__%", + "save_or_cancel-cancel": "取消", + "save_or_cancel-or": "或者", + "save_or_cancel-save": "保存", + "save_x_percent_or_more": "节省 __percent__% 或更多", + "saving": "正在保存", + "saving_20_percent": "节省 20%!", + "saving_20_percent_no_exclamation": "节约20%", + "saving_notification_with_seconds": "保存 __docname__... (剩余 __seconds__ 秒)", + "search": "搜索", + "search_all_project_files": "搜索所有的项目文件", + "search_bib_files": "按作者、标题、年份搜索", + "search_by_citekey_author_year_title": "通过引文的关键词、作者、标题、年份搜索", + "search_command_find": "查找", + "search_command_replace": "替换", + "search_in_all_projects": "在所有项目中搜索", + "search_in_archived_projects": "在归档项目中搜索", + "search_in_shared_projects": "搜索与您共享的项目", + "search_in_trashed_projects": "在已删除项目中搜索", + "search_in_your_projects": "在您的项目中搜索", + "search_match_case": "区分大小写", + "search_next": "下一个", + "search_previous": "上一个", + "search_projects": "搜索项目", + "search_references": "搜索此项目中的.bib文件", + "search_regexp": "正则表达式", + "search_replace": "替换", + "search_replace_all": "全部替换", + "search_replace_with": "以...替换", + "search_search_for": "搜索", + "search_terms": "搜索词组", + "search_whole_word": "完整词组", + "search_within_selection": "在选择范围内", + "searched_path_for_lines_containing": "在 __path__ 中搜索包含“__query__”的行", + "secondary_email_password_reset": "该电子邮件已注册为辅助电子邮件。请输入您帐户的主要电子邮件。", + "security": "安全性", + "see_changes_in_your_documents_live": "实时查看文档修改情况", + "select_a_column_or_a_merged_cell_to_align": "选择要对齐的列或合并的单元格", + "select_a_column_to_adjust_column_width": "选择一列来调整列宽", + "select_a_file": "选择一个文件", + "select_a_file_figure_modal": "选择一个文件", + "select_a_group_optional": "选择一个团队(可选的)", + "select_a_language": "选择语言", + "select_a_new_owner_for_projects": "为此用户的项目选择新所有者", + "select_a_payment_method": "选择付款方式", + "select_a_project": "选择一个项目", + "select_a_project_figure_modal": "选择一个项目", + "select_a_row_or_a_column_to_delete": "选择要删除的行或列", + "select_access_level": "选择访问级别", + "select_access_levels": "选择访问级别", + "select_all": "选择全部", + "select_all_projects": "全选", + "select_an_output_file": "选择输出文件", + "select_an_output_file_figure_modal": "选择一个输出文件", + "select_cells_in_a_single_row_to_merge": "在一行中选择单元格合并", + "select_color": "选择颜色 __name__", + "select_folder_from_project": "从项目中选择文件夹", + "select_from_output_files": "从输出文件中选择", + "select_from_project_files": "从项目文件中选择", + "select_from_source_files": "从源文件中选择", + "select_from_your_computer": "从您的电脑文件中选择", + "select_github_repository": "选取要导入 __appName__ 的GitHub存储库", + "select_image_from_project_files": "从项目文件中选择图片", + "select_monthly_plans": "选择用于月计划", + "select_project": "选择 __project__", + "select_projects": "选择项目", + "select_tag": "选择标签__tagName__", + "select_user": "选择用户", + "selected": "选择的", + "selected_by_overleaf_staff": "由 HajTeX 工作人员精选", + "selected_by_overleaf_staff_description": "这些模板是由 HajTeX 工作人员精心挑选的,因为它们的质量很高,并且多年来从 HajTeX 社区收到了积极的反馈。", + "selection_deleted": "所选内容已删除", + "send": "发送", + "send_first_message": "向你的合作者发送第一条信息", + "send_message": "发送消息", + "send_test_email": "发送测试邮件", + "sending": "发送中", + "sent": "发送", + "september": "九月", + "server_error": "服务器错误", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro 许可证", + "server_pro_license_entitlement_line_2": "您当前有 <0>__count__ 活跃用户。 如果您需要增加许可证授权,请<1>联系 HajTeX。", + "server_pro_license_entitlement_line_3": "活跃用户是指在过去 12 个月内在此 Server Pro 实例中打开过项目的用户。", + "services": "服务", + "session_created_at": "会话创建于", + "session_error": "会话错误。请检查是否已启用Cookie。如果问题仍然存在,请尝试清除缓存和cookies。", + "session_expired_redirecting_to_login": "会话过期。将在__seconds__秒后重定向至登录页面", + "sessions": "会话", + "set_color": "设置颜色", + "set_column_width": "设置列宽", + "set_new_password": "设置新密码", + "set_password": "设置密码", + "set_up_single_sign_on": "设置单点登录 (SSO)", + "set_up_sso": "设置 SSO", + "settings": "设置", + "setup_another_account_under_a_personal_email_address": "在个人电子邮件地址下设置另一个 HajTeX 帐户。", + "share": "共享", + "share_project": "共享该项目", + "share_with_your_collabs": "和您的合作者共享", + "shared_with_you": "与您共享的", + "sharelatex_beta_program": "__appName__ Beta版项目", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace____altSpace__)", + "show_all": "显示全部", + "show_all_projects": "显示全部项目", + "show_document_preamble": "显示文档导言部分", + "show_hotkeys": "显示快捷键", + "show_in_code": "在代码中显示", + "show_in_pdf": "在 PDF 中显示", + "show_less": "折叠", + "show_local_file_contents": "显示本地文件内容", + "show_more": "显示更多", + "show_outline": "显示文件大纲", + "show_x_more_projects": "再显示 __x__ 个项目", + "show_your_support": "表示你的支持", + "showing_1_result": "显示 1 个结果", + "showing_1_result_of_total": "显示 1 个结果(共计 __total__ )", + "showing_x_out_of_n_projects": "显示 __x__ 个项目(共 __n__ 个)", + "showing_x_results": "显示 __x__ 结果", + "showing_x_results_of_total": "显示 __x__ 个结果(共计__total__ )", + "sign_up": "注册", + "sign_up_for_free": "免费注册", + "single_sign_on_sso": "单点登录 (SSO)", + "site_description": "一个简洁的在线 LaTeX 编辑器。无需安装,实时共享,版本控制,数百免费模板……", + "site_wide_option_available": "提供站点范围的选项", + "sitewide_option_available": "提供站点范围的选项", + "sitewide_option_available_info": "当用户注册或将其电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时,用户会自动升级。", + "six_collaborators_per_project": "每个项目6个合作者", + "six_per_project": "每个项目6个", + "skip": "跳过", + "skip_to_content": "跳到内容", + "something_not_right": "出了些问题", + "something_went_wrong": "出了些问题", + "something_went_wrong_canceling_your_subscription": "取消订阅时出错。请联系支持人员。", + "something_went_wrong_loading_pdf_viewer": "加载 PDF 查看器时出错。 这可能是由<0>临时网络问题或<0>过时的网络浏览器等问题引起的。 请按照<1>访问、加载和显示问题的故障排除步骤进行操作。 如果问题仍然存在,请<2>告知我们。", + "something_went_wrong_processing_the_request": "处理请求时出错", + "something_went_wrong_rendering_pdf": "渲染此PDF时出错了。", + "something_went_wrong_rendering_pdf_expected": "显示此 PDF 时出现问题。 <0>请重新编译", + "something_went_wrong_server": "与服务器交谈时出错 :(。请再试一次。", + "somthing_went_wrong_compiling": "抱歉,出错了,您的项目无法编译。请在几分钟后再试。", + "sorry_detected_sales_restricted_region": "抱歉,我们检测到您所在的地区目前无法接受付款。 如果您认为您错误地收到了此消息,请联系我们并提供您所在位置的详细信息,我们将为您调查此问题。 我们对不便表示抱歉。", + "sorry_it_looks_like_that_didnt_work_this_time": "抱歉!这次似乎没有成功。请重试。", + "sorry_something_went_wrong_opening_the_document_please_try_again": "很抱歉,尝试在HajTeX打开此内容时发生意外错误。请再试一次。", + "sorry_the_connection_to_the_server_is_down": "抱歉,服务器连接已断开。", + "sorry_there_are_no_experiments": "抱歉,HajTeX Labs 目前没有正在进行任何实验。", + "sorry_this_account_has_been_suspended": "抱歉,该账户已被暂停。", + "sorry_your_table_cant_be_displayed_at_the_moment": "抱歉,您的表格暂时无法显示。", + "sorry_your_token_expired": "抱歉,您的令牌已过期", + "sort_by": "排序方式", + "sort_by_x": "按 __x__ 排序", + "sort_projects": "排序项目", + "source": "源代码", + "spell_check": "拼写检查", + "sso": "单点登录(SSO)", + "sso_account_already_linked": "帐户已链接到另一个__appName__用户", + "sso_active": "SSO 激活", + "sso_already_setup_good_to_go": "您的帐户已设置单点登录,因此您可以开始使用了。", + "sso_config_deleted": "SSO 配置已删除", + "sso_config_prop_help_certificate": "Base64编码的、无空格的证书", + "sso_config_prop_help_first_name": "指定用户名字的 SAML 属性", + "sso_config_prop_help_last_name": "指定用户姓氏的 SAML 属性", + "sso_config_prop_help_redirect_url": "IdP 提供的单点登录重定向 URL(有时称为单点登录服务 HTTP 重定向位置)", + "sso_config_prop_help_user_id": "IdP 提供的用于标识每个用户的 SAML 属性", + "sso_configuration": "SSO 配置", + "sso_configuration_not_finalized": "您的配置尚未最终确定。", + "sso_configuration_saved": "SSO 配置已保存", + "sso_disabled_by_group_admin": "您的组管理员已禁用 SSO。 您仍然可以像平常一样登录并使用 HajTeX。", + "sso_error_audience_mismatch": "您的 IdP 中配置的服务提供商实体 ID 与我们的元数据中提供的不匹配。 请联系您的 IT 部门以获取更多信息。", + "sso_error_idp_error": "您的身份提供商响应错误。", + "sso_error_invalid_external_user_id": "IdP 提供的唯一标识您用户的 SAML 属性格式无效,应为字符串。 属性:<0> __expecting__ ", + "sso_error_invalid_signature": "抱歉,从您的身份提供商处收到的信息签名无效。", + "sso_error_missing_external_user_id": "您的 IdP 提供的唯一标识您用户的 SAML 属性要么丢失,要么使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_firstname_attribute": "指定用户名的 SAML 属性丢失或使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_lastname_attribute": "指定用户姓氏的 SAML 属性丢失或使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_signature": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。", + "sso_error_response_already_processed": "SAML 响应的 InResponseTo 无效。 如果它与 SAML 请求不匹配,或者登录处理时间过长且请求已过期,则可能会发生这种情况。", + "sso_explanation": "为您的组设置单点登录。 除非启用了托管用户,否则此登录方法对于群组成员来说是可选的。 <0>详细了解 HajTeX 组 SSO。", + "sso_here_is_the_data_we_received": "以下是我们在 SAML 响应中收到的数据:", + "sso_integration": "SSO 集成", + "sso_integration_info": "HajTeX 提供标准的基于 SAML 的单点登录集成。", + "sso_is_disabled": "SSO 已经关闭", + "sso_is_disabled_explanation_1": "群组成员将无法通过SSO登录", + "sso_is_disabled_explanation_2": "该组的所有成员都需要用户名和密码才能登录__appName__", + "sso_is_enabled": "SSO 已经开启", + "sso_is_enabled_explanation_1": "群组成员将 <0>只能 通过 SSO 登录", + "sso_is_enabled_explanation_1_sso_only": "群组成员可以选择通过 SSO 登录。", + "sso_is_enabled_explanation_2": "如果配置有任何问题,只有您(作为组管理员)才能禁用SSO。", + "sso_link_account_with_idp": "您的组使用 SSO。 这意味着我们需要通过组身份提供商验证您的帐户。 点击<0>设置 SSO 立即进行身份验证。", + "sso_link_error": "链接SSO帐户时出错", + "sso_link_invite_has_been_sent_to_email": "一封 SSO 邀请提示已经被发送到 <0>__email__", + "sso_login": "SSO 登录", + "sso_logs": "单点登录日志", + "sso_not_active": "单点登录未开启", + "sso_not_linked": "您尚未将帐户绑定到 __provider__。请以另一种方式登录到您的帐户,并通过您的帐户设置绑定您的 __provider__ 帐户。", + "sso_reauth_request": "SSO 二次身份验证请求已发送至 <0>__email__", + "sso_test_interstitial_info_1": "<0>开始此测试之前,请确保您已<1>将 HajTeX 配置为 IdP 中的服务提供商,并授权访问 HajTeX 服务。", + "sso_test_interstitial_info_2": "点击<0>测试配置会将您重定向到 IdP 的登录屏幕。 <1>阅读我们的文档,了解测试期间发生的情况的完整详细信息。 如果您遇到困难,请查看我们的<2>SSO 故障排除建议。", + "sso_test_interstitial_title": "让我们测试一下您的 SSO 配置", + "sso_test_result_error_message": "这次测试没有成功,但不用担心 - 通常可以通过调整配置设置来快速解决错误。 我们的<0>SSO 故障排除指南提供有关测试错误的一些常见原因的帮助。", + "sso_title": "单点登录", + "sso_user_denied_access": "无法登录,因为未授予 __appName__ 访问您的 __provider__ 帐户的权限。 请再试一次。", + "sso_user_explanation_enabled_with_admin_email": "您的群组由 <0>__adminEmail__ 管理,已启用 SSO,因此您无需记住密码即可登录。", + "sso_user_explanation_enabled_with_group_name": "您的群组 <0>__groupName__ 已启用 SSO,因此您无需记住密码即可登录。", + "sso_user_explanation_ready_with_admin_email": "您的群组由 <0>__adminEmail__ 管理,已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__开始。", + "sso_user_explanation_ready_with_group_name": "您的群组 <0>__groupName__ 已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__开始。", + "standard": "标准版", + "start_a_free_trial": "开始免费试用", + "start_by_adding_your_email": "从添加电子邮件地址开始。", + "start_by_fixing_the_first_error_in_your_doc": "首先修复文档中的第一个错误,以避免以后出现问题。", + "start_free_trial": "开始免费试用", + "start_free_trial_without_exclamation": "开始免费试用", + "start_typing_find_your_company": " 开始键入以查找您的公司", + "start_typing_find_your_organization": "开始键入以查找您的组织", + "start_typing_find_your_university": "开始键入以查找您的大学", + "state": "州", + "status_checks": "状态检查", + "still_have_questions": "还有问题?", + "stop_compile": "停止编译", + "stop_on_first_error": "出现第一处错误时停止", + "stop_on_first_error_enabled_description": "<0>“出现第一个错误时停止编译”已启用。禁用它可能允许编译器生成 PDF(但您的项目仍会出现错误)。", + "stop_on_first_error_enabled_title": "无 PDF:出现第一个错误时停止编译已启用", + "stop_on_validation_error": "编译前检查语法", + "store_your_work": "将工作存储在自己的硬件上", + "stretch_width_to_text": "拉伸宽度适应文本", + "student": "学生", + "student_and_faculty_support_make_difference": "学生和教师的支持会带来改变! 在讨论 HajTeX 机构账户时,我们可以与您所在大学的联系人分享此信息。", + "student_disclaimer": "教育折扣适用于中学和高等教育机构(学校和大学)的所有学生。 我们可能会与您联系以确认您是否有资格享受折扣。", + "student_plans": "学生计划", + "students": "学生", + "subject": "主题", + "subject_area": "主题区", + "subject_to_additional_vat": "价格可能会受到额外的增值税,取决于您的国家。", + "submit": "提交", + "submit_title": "提交", + "subscribe": "提交", + "subscribe_to_find_the_symbols_you_need_faster": "订阅以更快地找到您需要的符号", + "subscription": "订购", + "subscription_admin_panel": "管理员面板", + "subscription_admins_cannot_be_deleted": "订阅时不能删除您的帐户。请取消订阅并重试。如果您一直看到此消息,请与我们联系。", + "subscription_canceled": "订阅已取消", + "subscription_canceled_and_terminate_on_x": " 您的订阅已被取消,将于 <0>__terminateDate__ 停止。不必支付其他费用。", + "subscription_will_remain_active_until_end_of_billing_period_x": "您的订阅将保持有效,直到您的结算周期结束,<0>__terminationDate__。", + "subscription_will_remain_active_until_end_of_trial_period_x": "您的订阅将保持有效,直到试用期结束,<0>__terminationDate__。", + "success_sso_set_up": "成功! 单点登录已为您设置完毕。", + "suggest_a_different_fix": "建议其他修复方法", + "suggest_fix": "建议修复", + "suggested": "建议", + "suggested_fix_for_error_in_path": "针对 __path__ 中的错误建议修复", + "suggestion": "建议", + "suggestion_applied": "应用建议的修改", + "support": "支持", + "sure_you_want_to_cancel_plan_change": "是否确实要撤销计划的套餐更改?您将继续订阅<0>__planName__。", + "sure_you_want_to_change_plan": "您确定想要改变套餐为 <0>__planName__?", + "sure_you_want_to_delete": "您确定要永久删除以下文件吗?", + "sure_you_want_to_leave_group": "您确定要退出该群吗?", + "sv": "瑞典语", + "switch_to_editor": "切换到编辑器", + "switch_to_pdf": "切换到 PDF", + "symbol_palette": "数学符号面板", + "symbol_palette_highlighted": "<0>符号 面板", + "symbol_palette_info": "一种将数学符号插入文档的快速便捷的方法。", + "symbol_palette_info_new": "单击按钮即可将数学符号插入到您的文档中。", + "sync": "同步", + "sync_dropbox_github": "与dropbox或Github同步", + "sync_project_to_github_explanation": "您在 __appName__ 中的所有更改将被提交并与 GitHub 中的所有更新合并。", + "sync_to_dropbox": "同步到 Dropbox", + "sync_to_github": "同步到 GitHub", + "synctex_failed": "找不到相应的源文件", + "syntax_validation": "代码检查", + "tab_connecting": "与编辑器连接中", + "tab_no_longer_connected": "该选项卡与编辑器已断开连接", + "tag_color": "标签颜色", + "tag_name_cannot_exceed_characters": "标签名称不能超过 __maxLength__ 个字符", + "tag_name_is_already_used": "标签“__tagName__”已存在", + "tags": "标签", + "take_me_home": "我要返回!", + "take_short_survey": "做一个简短的调查", + "take_survey": "参加调查", + "tc_everyone": "所有人", + "tc_guests": "受邀用户", + "tc_switch_everyone_tip": "为所有用户切换记录模式", + "tc_switch_guests_tip": "为所有分享链接用户切换记录模式", + "tc_switch_user_tip": "为当前用户切换记录模式", + "tell_the_project_owner_and_ask_them_to_upgrade": "如果您需要更多编译时间,<0>告诉项目所有者并要求他们升级其 HajTeX 计划。", + "template": "模版", + "template_approved_by_publisher": "该模板已获得发布者批准", + "template_description": "模板描述", + "template_gallery": "模板库", + "template_not_found_description": "这种从模板创建项目的方法已被删除。请访问我们的模板库以查找更多模板。", + "template_title_taken_from_project_title": "模板标题将自动从项目标题中获取", + "template_top_pick_by_overleaf": "该模板是由 HajTeX 工作人员精心挑选的高质量模版", + "templates": "模板", + "templates_admin_source_project": "管理员:源项目", + "templates_page_summary": "使用高质量的LaTeX模板开始您的项目,包括期刊、个人履历、个人简历、论文、展示Pre、作业、信件、项目报告等。在下面搜索或浏览。", + "templates_page_title": "模板 - 期刊、简历、演示文稿、报告等", + "ten_collaborators_per_project": "每个项目 10 位协作者", + "ten_per_project": "每个项目 10 个", + "terminated": "编译取消", + "terms": "条款", + "test": "测试", + "test_configuration": "测试配置", + "test_configuration_successful": "测试配置成功", + "tex_live_version": "TeX Live 版本", + "thank_you": "谢谢您!", + "thank_you_email_confirmed": "谢谢您,您的电子邮件现已确认", + "thank_you_exclamation": "谢谢您!", + "thank_you_for_being_part_of_our_beta_program": "感谢您参与我们的测试版计划,您可以<0>尽早使用新功能并帮助我们更好地了解您的需求", + "thank_you_for_your_feedback": "感谢您的反馈意见!", + "thanks": "谢谢", + "thanks_for_confirming_your_email_address": "感谢您确认邮件地址", + "thanks_for_getting_in_touch": "感谢您联系我们。我们的团队将尽快通过电子邮件回复您。", + "thanks_for_subscribing": "感谢订购!", + "thanks_for_subscribing_you_help_sl": "感谢您订阅 __planName__ 计划。 正是像您这样的人的支持才使得 __appName__ 能够继续成长和改进。", + "thanks_settings_updated": "谢谢,您的设置已更新", + "the_file_supplied_is_of_an_unsupported_type ": "在HajTeX打开此内容的链接指向错误的文件类型。有效的文件类型是.tex文档和.zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_following_files_already_exist_in_this_project": "该项目中已存在以下文件:", + "the_following_files_and_folders_already_exist_in_this_project": "此项目中已存在以下文件和文件夹:", + "the_following_folder_already_exists_in_this_project": "该项目中已存在以下文件夹:", + "the_following_folder_already_exists_in_this_project_plural": "该项目中已存在以下文件夹:", + "the_original_text_has_changed": "原文本已发生改变,因此此建议无法应用", + "the_project_that_contains_this_file_is_not_shared_with_you": "包含此文件的项目未与您共享", + "the_requested_conversion_job_was_not_found": "在HajTeX打开此内容的链接指定了找不到的转换作业。作业可能已过期,需要重新运行。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_requested_publisher_was_not_found": "在HajTeX打开此内容的链接指定了找不到的发布者。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_required_parameters_were_not_supplied": "在HajTeX打开此内容的链接缺少一些必需的参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_supplied_parameters_were_invalid": "在HajTeX打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_supplied_uri_is_invalid": "在HajTeX打开此内容的链接包含无效的URI。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_target_folder_could_not_be_found": "找不到目标文件夹。", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "您在此处选择的宽度基于文档中文本的宽度。 或者,您可以直接在 LaTeX 代码中自定义图像大小。", + "their_projects_will_be_transferred_to_another_user": "他们的项目将全部转移给您选择的另一个用户", + "theme": "主题", + "then_x_price_per_month": "接着每月__price__", + "then_x_price_per_year": "接着每年__price__", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "有很多选项可用于编辑和自定义图形,例如在图形周围环绕文本、旋转图像或在单个图形中包含多个图像。 您需要编辑 LaTeX 代码才能执行此操作。 <0>了解具体方法", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "恢复项目时出现问题。请稍后重试。如果问题仍然存在,请联系我们。", + "there_was_an_error_opening_your_content": "创建项目时出错", + "thesis": "论文", + "they_lose_access_to_account": "他们将立即失去对此 HajTeX 帐户的所有访问权限", + "this_action_cannot_be_reversed": "此操作无法撤消。", + "this_action_cannot_be_undone": "此操作无法撤消。", + "this_address_will_be_shown_on_the_invoice": "该地址将显示在发票上", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "这可能是因为我们尚无法在表格预览中支持表格的某些元素。 或者表格的 LaTeX 代码可能有错误。", + "this_experiment_isnt_accepting_new_participants": "此实验不接受新参与者。", + "this_field_is_required": "此字段必填", + "this_grants_access_to_features_2": "这将授予您访问 <0>__appName__ <0>__featureType__ 功能的权限。", + "this_is_a_labs_experiment": "这是实验性功能", + "this_is_your_template": "这是从你的项目提取的模版", + "this_project_already_has_maximum_editors": "此项目的编辑者人数已达到所有者方案允许的最大数量。这意味着您可以查看但无法编辑该项目。", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "该项目超出了我们免费计划的编译超时限制。", + "this_project_exceeded_editor_limit": "此项目超出了您的方案的编辑者限制。所有协作者现在都只有查看权限。", + "this_project_has_more_than_max_collabs": "此项目的协作者数量超出了项目所有者的 HajTeX 计划允许的最大数量。这意味着您可能会失去 __linkSharingDate__ 的编辑权限。", + "this_project_is_public": "此项目是公共的,可以被任何人通过URL编辑", + "this_project_is_public_read_only": "该项目是公开的,任何人都可以通过该URL查看,但是不能编辑。", + "this_project_will_appear_in_your_dropbox_folder_at": "此项目将显示在您的Dropbox的目录 ", + "this_tool_helps_you_insert_figures": "该工具可帮助您将图片插入项目中,而无需编写 LaTeX 代码。 以下信息详细介绍了该工具中的选项以及如何进一步自定义您的图片。", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "该工具可帮助您将简单的表格插入项目中,而无需编写 LaTeX 代码。 该工具是新工具,因此请<0>向我们提供反馈并留意即将推出的其他功能。", + "this_was_helpful": "很有帮助", + "this_wasnt_helpful": "没有帮助", + "thousands_templates": "数千个模板", + "thousands_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作精美的文档。", + "three_free_collab": "3个免费的合作者", + "timedout": "超时", + "tip": "提示", + "title": "标题", + "to_add_email_accounts_need_to_be_linked_2": "要添加此电子邮件,您的 <0>__appName__ 和 <0>__institutionName__ 帐户需要关联。", + "to_add_more_collaborators": "若要添加更多合作者或打开链接共享,请询问项目所有者", + "to_change_access_permissions": "若要更改访问权限,请询问项目所有者", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "要确认电子邮件地址,您必须使用请求新的辅助电子邮件的 HajTeX 帐户登录。", + "to_confirm_transfer_enter_email_address": "要接受邀请,请输入与您的帐户关联的电子邮件地址。", + "to_confirm_unlink_all_users_enter_email": "要确认您要取消所有用户的链接,请输入您的电子邮件地址:", + "to_fix_this_you_can": "要解决此问题,您可以:", + "to_fix_this_you_can_ask_the_github_repository_owner": "要解决此问题,您可以要求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 续订其 __appName__ 订阅并重新连接项目。", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "要插入或移动标题,请确保 \\begin{tabular} 直接位于table环境中", + "to_keep_edit_access": "要保留编辑权限,请要求项目所有者升级其计划或减少具有编辑权限的人数。", + "to_many_login_requests_2_mins": "您的账户尝试登录次数过多。请等待2分钟后再试", + "to_modify_your_subscription_go_to": "如需修改您的订阅,请到", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>请注意: 要在表格中使用文本换行,请确保在文档序言中包含 <1>array 包:", + "toggle_compile_options_menu": "切换编译选项菜单", + "token": "令牌", + "token_access_failure": "无法授予访问权限;联系项目负责人寻求帮助", + "token_limit_reached": "您已达到 10 个令牌的限制。 要生成新的身份验证令牌,请删除现有的身份验证令牌。", + "token_read_only": "只读令牌", + "token_read_write": "可读写令牌", + "too_many_attempts": "尝试太多。请稍等片刻,然后再试一次。", + "too_many_comments_or_tracked_changes": "太多评论或跟踪更改", + "too_many_comments_or_tracked_changes_detail": "抱歉,此文件有太多评论或跟踪更改。 请尝试接受或拒绝某些现有更改,或解决并删除某些评论。", + "too_many_confirm_code_resend_attempts": "尝试次数过多。请等 1 分钟,然后重试。", + "too_many_confirm_code_verification_attempts": "验证尝试次数过多。 请等待 1 分钟,然后重试。", + "too_many_files_uploaded_throttled_short_period": "上传的文件数量过多,您的上传将被暂停一会儿。请等待15分钟,然后重试。", + "too_many_requests": "短时间内收到的请求太多。请稍等片刻,然后重试。", + "too_many_search_results": "有超过 100 个结果。 请细化您的搜索。", + "too_recently_compiled": "此项目是最近编译的,所以已跳过此编译。", + "took_a_while": "这会花一段时间...", + "toolbar_bullet_list": "无序列表", + "toolbar_choose_section_heading_level": "选择章节标题级别", + "toolbar_decrease_indent": "减少缩进", + "toolbar_format_bold": "粗体格式", + "toolbar_format_italic": "斜体格式", + "toolbar_increase_indent": "增加缩进", + "toolbar_insert_citation": "插入引文", + "toolbar_insert_cross_reference": "插入交叉引用", + "toolbar_insert_display_math": "插入行间数学公式", + "toolbar_insert_figure": "插入图片", + "toolbar_insert_inline_math": "插入行内数学公式", + "toolbar_insert_link": "插入链接", + "toolbar_insert_math": "插入数学公式", + "toolbar_insert_table": "插入表格", + "toolbar_numbered_list": "有序列表", + "toolbar_redo": "重做", + "toolbar_selected_projects": "选择的项目", + "toolbar_selected_projects_management_actions": "选定的项目管理方法", + "toolbar_selected_projects_remove": "删除选定的项目", + "toolbar_selected_projects_restore": "恢复选定的项目", + "toolbar_table_insert_size_table": "插入 __size__ 表格", + "toolbar_table_insert_table_lowercase": "插入表格", + "toolbar_toggle_symbol_palette": "数学符号面板开关", + "toolbar_undo": "撤销", + "tooltip_hide_filetree": "单击以隐藏文件树", + "tooltip_hide_pdf": "单击隐藏PDF", + "tooltip_show_filetree": "单击以显示文件树", + "tooltip_show_pdf": "单击显示PDF", + "top_pick": "首选", + "total": "总计", + "total_per_month": "每月总计", + "total_per_year": "每年合计", + "total_per_year_for_x_users": "__licenseSize__ 个用户每年总计", + "total_per_year_lowercase": "每年合计", + "total_with_subtotal_and_tax": "总计:每年 <0> __total__ (__subtotal__ + __tax__税)", + "total_words": "总字数", + "tr": "土耳其语", + "track_any_change_in_real_time": "实时记录文档的任何修改情况", + "track_changes": "修订", + "track_changes_for_everyone": "跟踪每个人的更改", + "track_changes_for_x": "跟踪 __name__ 的更改", + "track_changes_is_off": "修改追踪功能 关闭", + "track_changes_is_on": "修改追踪功能 开启", + "tracked_change_added": "已添加", + "tracked_change_deleted": "已删除", + "transfer_management_of_your_account": "HajTeX 账户的转移管理", + "transfer_management_of_your_account_to_x": "将您 HajTeX 帐户的管理权转移至 __groupName__", + "transfer_management_resolve_following_issues": "如需转移账户管理权,您需要解决以下问题:", + "transfer_this_users_projects": "转移该用户的项目", + "transfer_this_users_projects_description": "该用户的项目将转移给新所有者。", + "transferring": "正在转移中", + "trash": "回收站", + "trash_projects": "已删除项目", + "trashed": "被删除", + "trashed_projects": "已删除项目", + "trashing_projects_wont_affect_collaborators": "删除项目不会影响你的合作者。", + "trial_last_day": "这是您的 HajTeX Premium 试用期的最后一天", + "trial_remaining_days": "HajTeX Premium 试用期还有 __days__ 天", + "tried_to_log_in_with_email": "您已尝试使用 __email__ 登录。", + "tried_to_register_with_email": "您已尝试使用 __email__ 进行注册,该帐户已在 __appName__ 中注册为机构帐户。", + "troubleshooting_tip": "故障修复提示", + "try_again": "请再试一次", + "try_for_free": "免费试用", + "try_it_for_free": "免费体验", + "try_now": "立刻尝试", + "try_premium_for_free": "免费试用 Premium", + "try_recompile_project_or_troubleshoot": "请尝试从头开始重新编译项目,如果仍然无效,请按照我们的<0>问题排查指南进行操作。", + "try_relinking_provider": "您似乎需要重新链接您的 __provider__ 帐户。", + "try_to_compile_despite_errors": "忽略错误编译", + "turn_off": "关闭", + "turn_off_link_sharing": "关闭通过链接分享功能。", + "turn_on": "打开", + "turn_on_link_sharing": "开启通过链接分享功能。", + "tutorials": "教程", + "two_users": "2 个用户", + "uk": "乌克兰语", + "unable_to_extract_the_supplied_zip_file": "在HajTeX打开此内容失败,因为无法提取zip文件。请确保它是有效的zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "unarchive": "恢复", + "uncategorized": "未分类", + "uncategorized_projects": "未分类的项目", + "unconfirmed": "未确认的", + "undelete": "恢复删除", + "undeleting": "取消删除", + "understanding_labels": "了解标签", + "unfold_line": "展开线", + "unique_identifier_attribute": "唯一标识符属性", + "university": "大学", + "university_school": "大学或学校名称", + "unknown": "未知", + "unlimited": "无限制", + "unlimited_bold": "<0>无限制的", + "unlimited_collaborators_in_each_project": "每个项目无限的合作者数量", + "unlimited_collaborators_per_project": "每个项目的合作者数量不受限制", + "unlimited_collabs": "无限制的合作者数", + "unlimited_collabs_rt": "<0>无限个合作者", + "unlimited_projects": "项目无限制", + "unlimited_projects_info": "默认情况下,您的项目是私有的。这意味着只有你才能查看它们,只有你才能允许其他人访问它们。", + "unlink": "取消关联", + "unlink_all_users": "取消所有用户的链接", + "unlink_all_users_explanation": "您即将删除组中所有用户的 SSO 登录选项。 如果启用 SSO,这将强制用户使用您的 IdP 重新验证其 HajTeX 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_dropbox_folder": "取消 Dropbox 帐户链接", + "unlink_dropbox_warning": "您与 Dropbox 同步的所有项目都将断开连接,并且不再与 Dropbox 保持同步。 您确定要取消 Dropbox 帐户的关联吗?", + "unlink_github_repository": "取消链接 Github 存储库", + "unlink_github_warning": "任何您已经同步到GitHub的项目将被切断联系,并且不再保持与GitHub同步。您确定要取消与您的GitHub账户的关联吗?", + "unlink_linked_accounts": "取消链接任何链接的帐户(例如 ORCID ID、IEEE)。 <0>在“帐户设置”(“关联帐户”下)中将其删除。", + "unlink_linked_google_account": "取消与您的 Google 帐户的关联。 <0>在“帐户设置”(“关联帐户”下)中将其删除。", + "unlink_provider_account_title": "取消链接 __provider__ 帐户", + "unlink_provider_account_warning": "警告:当您取消帐户与 __provider__ 的链接后,您将无法再使用 __provider__ 登录。", + "unlink_reference": "取消关联参考文献提供者", + "unlink_the_project_from_the_current_github_repo": "取消项目与当前 GitHub 存储库的链接,并创建与您拥有的存储库的连接。 (您需要有效的 __appName__ 订阅才能设置 GitHub 同步)。", + "unlink_user": "取消链接用户", + "unlink_user_explanation": "您即将删除 <0>__email__ 的 SSO 登录选项。 这将迫使他们向您的 IdP 重新验证其 HajTeX 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_users": "取消用户链接", + "unlink_warning_reference": "警告:如果将账户与此提供者取消关联,您将无法把参考文献导入到项目中。", + "unlinking": "取消链接", + "unmerge_cells": "取消合并单元格", + "unpublish": "未出版", + "unpublishing": "取消发布", + "unsubscribe": "取消订阅", + "unsubscribed": "订阅被取消", + "unsubscribing": "正在取消订阅", + "untrash": "恢复", + "up_to": "最多", + "update": "更新", + "update_account_info": "更新账户信息", + "update_dropbox_settings": "更新Dropbox设置", + "update_your_billing_details": "更新您的帐单细节", + "updates_to_project_sharing": "项目共享的更新", + "updating": "更新中", + "updating_site": "升级站点", + "upgrade": "升级", + "upgrade_cc_btn": "现在升级,7天后付款", + "upgrade_for_12x_more_compile_time": "升级以获得 12 倍以上的编译时间", + "upgrade_now": "现在升级", + "upgrade_to_add_more_editors": "升级以便添加更多的编辑者到您的项目中", + "upgrade_to_add_more_editors_and_access_collaboration_features": "升级以添加更多编辑器并访问协作功能,如跟踪更改和完整的项目历史记录。", + "upgrade_to_get_feature": "升级以获得__feature__,以及:", + "upgrade_to_track_changes": "升级以记录文档修改历史", + "upload": "上传", + "upload_failed": "上传失败", + "upload_from_computer": "从电脑本地上传", + "upload_project": "上传项目", + "upload_zipped_project": "上传项目的压缩包", + "url_to_fetch_the_file_from": "获取文件的URL", + "usage_metrics": "使用指标", + "usage_metrics_info": "显示有多少用户正在访问许可证、正在创建和处理多少项目以及 HajTeX 中正在进行多少协作的指标。", + "use_a_different_password": "请使用不同的密码", + "use_saml_metadata_to_configure_sso_with_idp": "使用 HajTeX SAML 元数据通过您的身份提供商配置 SSO。", + "use_your_own_machine": "使用你自己的机器,有你自己的设置", + "used_latex_before": "您以前使用过 LaTeX 吗?", + "used_latex_response_never": "没有,从不", + "used_latex_response_occasionally": "是的,偶尔", + "used_latex_response_often": "是的,经常", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "在引用文档其他地方的图时使用", + "user_administration": "用户管理", + "user_already_added": "用户已添加", + "user_deletion_error": "抱歉,删除您的帐户时出错。请稍后再试。", + "user_deletion_password_reset_tip": "如果您忘记了密码,或者您使用其他提供商(例如 ORCID 或 Google)的单点登录进行登录,请<0>重置您的密码并重试。", + "user_first_name_attribute": "用户名字属性", + "user_is_not_part_of_group": "用户不属于团队", + "user_last_name_attribute": "用户姓氏属性", + "user_management": "用户管理", + "user_management_info": "团体计划管理员可以访问管理面板,可以在其中轻松添加和删除用户。 对于站点范围的计划,用户在注册或将其电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时会自动升级。", + "user_metrics": "用户数据指标", + "user_not_found": "找不到用户", + "user_sessions": "用户会话", + "user_wants_you_to_see_project": "__username__ 邀请您加入 __projectname__", + "using_latex": "使用 LaTeX", + "using_premium_features": "使用高级功能", + "using_the_overleaf_editor": "使用 __appName__ 编辑器", + "valid": "有效的", + "valid_sso_configuration": "有效的 SSO 配置", + "validation_issue_entry_description": "阻止此项目编译的验证问题", + "vat": "增值税", + "vat_number": "增值税号", + "verify_email_address_before_enabling_managed_users": "在启用托管用户之前,您需要验证您的电子邮件地址。", + "view_all": "预览所有", + "view_code": "查看代码", + "view_configuration": "查看配置", + "view_group_members": "查看群组成员", + "view_hub": "查看管理中心", + "view_hub_subtext": "访问和下载订阅统计数据和用户列表", + "view_in_template_gallery": "在模板库查看", + "view_invitation": "查看邀请", + "view_labs_experiments": "查看实验性的内容", + "view_less": "查看更少", + "view_logs": "查看日志", + "view_metrics": "查看指标", + "view_metrics_commons_subtext": "监控和下载 Commons 订阅的使用指标", + "view_metrics_group_subtext": "监控和下载团队订阅的使用指标", + "view_more": "查看更多", + "view_only_access": "只读访问", + "view_only_downgraded": "仅可查看。升级可恢复编辑权限。", + "view_options": "查看选项", + "view_pdf": "查看 PDF", + "view_source": "查看源代码", + "view_your_invoices": "查看您的账单", + "viewer": "查看者", + "viewing_x": "正在查看<0>__endTime__", + "visual_editor": "可视化编辑器", + "visual_editor_is_only_available_for_tex_files": "可视化编辑器仅适用于 TeX 文件", + "want_access_to_overleaf_premium_features_through_your_university": "想要通过您的大学访问__appName__高级功能吗?", + "want_change_to_apply_before_plan_end": "如果您希望在当前计费周期结束前应用此更改,请与我们联系。", + "we_are_unable_to_opt_you_into_this_experiment": "目前我们无法让您加入此实验,请确保您的组织已允许此功能,或稍后重试。", + "we_cant_confirm_this_email": "我们无法确认此电子邮件", + "we_cant_find_any_sections_or_subsections_in_this_file": "在此文件中找不到任何 sections 或 subsections", + "we_do_not_share_personal_information": "有关我们如何处理您的个人数据的详细信息,请参阅我们的<0>隐私声明", + "we_logged_you_in": "我们已为您登录。", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>我们也可能联系您 通过电子邮件进行调查,或询问您是否愿意参与其他用户研究计划", + "we_sent_new_code": "我们发送了一个新代码。如果您没有收到,请检查您的垃圾邮件和任何促销邮件等。", + "webinars": "在线教程", + "website_status": "网站状态", + "wed_love_you_to_stay": "我们希望你留下来", + "welcome_to_sl": "欢迎使用 __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "我们正在<0>对项目共享进行一些更改。这意味着,作为具有编辑权限的人,项目所有者和其他编辑者将可以看到您的姓名和电子邮件地址。", + "were_performing_maintenance": "我们正在对HajTeX进行维护,您需要等待片刻。很抱歉给您带来不便。编辑器将在 __seconds__ 秒后自动刷新。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "我们最近<0>降低了免费计划的编译超时限制,这可能会影响这个项目。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "我们最近<0>降低了免费计划的编译时限,这可能会影响这个项目。", + "what_do_you_need": "你需要什么?", + "what_do_you_need_help_with": "你有什么需要帮助的?", + "what_do_you_think_of_the_ai_error_assistant": "您对 AI 错误助手有何看法?", + "what_does_this_mean": "这是什么意思?", + "what_does_this_mean_for_you": "这意味着:", + "what_happens_when_sso_is_enabled": "开启单点登录后会发生什么?", + "what_should_we_call_you": "我们该怎么称呼你?", + "when_you_join_labs": "加入实验室后,您可以选择要参与的实验。完成此操作后,您可以正常使用 HajTeX,但您会看到所有实验室功能都标有此徽章:", + "when_you_tick_the_include_caption_box": "当您勾选“包含标题”框时,图像将带有占位符标题插入到文档中。 要编辑它,您只需选择占位符文本并键入以将其替换为您自己的文本。", + "why_latex": "为何用 LaTeX?", + "wide": "宽松的", + "will_lose_edit_access_on_date": "将于 __date__ 失去编辑权限", + "will_need_to_log_out_from_and_in_with": "您需要从 __email1__ 帐户注销,然后使用 __email2__ 登录。", + "with_premium_subscription_you_also_get": "通过HajTeX Premium订阅,您还可以获得", + "word_count": "字数统计", + "work_offline": "离线工作", + "work_or_university_sso": "工作/高校账户 单点登录", + "work_with_non_overleaf_users": "和非HajTeX用户一起工作", + "would_you_like_to_see_a_university_subscription": "您想在你的大学看到风靡全球各大学的__appName__订阅吗?", + "write_and_collaborate_faster_with_features_like": "借助以下功能更快地写作和协作:", + "writefull": "Writefull", + "writefull_learn_more": "了解更多关于 Writefull for HajTeX", + "writefull_loading_error_body": "尝试刷新页面,如果无效,尝试禁用所有的浏览器拓展,以便检查是否他们阻止了 Writefull 的加载。", + "writefull_loading_error_title": "Writefull 加载失败", + "x_changes_in": "__count__ 处变化在", + "x_changes_in_plural": "__count__ 处变化在", + "x_collaborators_per_project": "每个项目__collaboratorsCount__个协作者", + "x_price_for_first_month": "首月 <0>__price__", + "x_price_for_first_year": "首年 <0>__price__", + "x_price_for_y_months": "您前 __discountMonths__ 个月的费用:<0>__price__", + "x_price_per_user": "__price__ 每个用户", + "x_price_per_year": "每年 <0>__price__", + "year": "年", + "yearly": "每年", + "yes_im_in": "是的,我已经在", + "yes_move_me_to_personal_plan": "好的,前往个人计划", + "yes_that_is_correct": "是正确的", + "you": "你", + "you_already_have_a_subscription": "你已经有一个订阅啦", + "you_and_collaborators_get_access_to": "你与你的项目协作者将会获得", + "you_and_collaborators_get_access_to_info": "这些功能可供您和您的协作者(您邀请加入项目的其他 HajTeX 用户)使用。", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员和<1>成员", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__)管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员和<1>成员。", + "you_are_a_manager_of_commons_at_institution_x": "您是 <0>__institutionName__ 的 HajTeX Commons 订阅的<0>管理者", + "you_are_a_manager_of_publisher_x": "您是 <0>__publisherName__ 的<0>管理者", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__) 管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员。", + "you_are_currently_logged_in_as": "您当前以 __email__ 身份登录。", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "您使用的是 __appName__ 付费计划。 <0>联系支持人员以了解更多信息。", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "您作为 <1>__institutionName__ 的<1>确认成员加入了我们的<0>__planName__计划", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "您作为<1>__groupName__群组订阅的<1>成员加入了我们的<0>__planName__计划,该群组订阅由<1>__adminEmail__管理", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "您还可以选择<0>匿名查看(您将失去编辑权限)或<1>离开项目。", + "you_can_buy_this_plan_but_not_as_a_trial": "您可以购买此计划,但不能试用,因为您最近已经完成试用。", + "you_can_now_enable_sso": "现在,您可以在“组设置”页面上启用SSO。", + "you_can_now_log_in_sso": "您现在可以通过您的机构登录,如果符合条件,您将获得<0>__appName__ 专业功能。", + "you_can_only_add_n_people_to_edit_a_project": "当前计划下您只能添加 __count__ 人与您一起编辑项目。升级可添加更多人。", + "you_can_only_add_n_people_to_edit_a_project_plural": "当前计划下您只能添加 __count__ 个人与您一起编辑项目。升级可添加更多人。", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "您可以随时在此页面上<0>选择加入和退出该计划", + "you_can_request_a_maximum_of_limit_fixes_per_day": "您每天最多可以请求 __limit__ 个修复。请明天再试。", + "you_can_select_or_invite": "您可以在当前计划中选择或邀请__count__位编辑者,或者升级以获得更多编辑者。", + "you_can_select_or_invite_plural": "您可以在当前计划中选择或邀请__count__位编辑者,也可以升级以获得更多编辑者。", + "you_cant_add_or_change_password_due_to_sso": "您无法添加或更改密码,因为您的群组或组织使用<0>单点登录 (SSO)。", + "you_cant_join_this_group_subscription": "您无法加入此团队订阅", + "you_cant_reset_password_due_to_sso": "您无法重置密码,因为您的群组或组织使用 SSO。 <0>使用单点登录登录。", + "you_dont_have_any_repositories": "您没有任何仓库", + "you_get_access_to": "你将获得", + "you_get_access_to_info": "这些功能仅供您(订阅者)使用。", + "you_have_added_x_of_group_size_y": "您已经添加 <0>__addedUsersSize__ / <1>__groupSize__ 个可用成员。", + "you_have_been_invited_to_transfer_management_of_your_account": "您已被邀请转移您帐户的管理权。", + "you_have_been_invited_to_transfer_management_of_your_account_to": "您已被邀请将帐户管理转移到__groupName__。", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "您已从该项目中删除,将不再有权访问该项目。您将被立即重定向到项目面板。", + "you_need_to_configure_your_sso_settings": "在启用SSO之前,您需要配置并测试SSO设置", + "you_plus_1": "你 + 1人", + "you_plus_10": "你 + 10人", + "you_plus_6": "你 + 6人", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "您可以随时联系我们分享您的反馈", + "you_will_be_able_to_reassign_subscription": "您可以将他们的订阅成员资格重新分配给组织中的其他人", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "尽管您仍可使用此工具在<1>代码编辑器中插入表格,但在<0>可视化编辑器中使用此工具将获得最佳结果。 选择所需的行数和列数后,表格将出现在文档中,您可以双击单元格向其中添加内容。", + "youll_need_to_ask_the_github_repository_owner": "您需要请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 重新连接该项目。", + "youll_no_longer_need_to_remember_credentials": "您将不再需要记住单独的电子邮件地址和密码。相反,您将使用单点登录登录到HajTeX。<0>阅读有关SSO的更多信息。", + "your_account_is_managed_by_admin_cant_join_additional_group": "您的__appName__帐户由您当前的组管理员(__admin__)管理。这意味着您不能加入其他组订阅<0>阅读有关托管用户的更多信息", + "your_account_is_managed_by_your_group_admin": "您的帐户由您的群组管理员管理。 您无法更改或删除您的电子邮件地址。", + "your_account_is_suspended": "你的账户暂时无法使用", + "your_affiliation_is_confirmed": "您已确认属于<0>__institutionName__。", + "your_browser_does_not_support_this_feature": "很抱歉,您的浏览器不支持此功能。请将浏览器更新到最新版本。", + "your_compile_timed_out": "您的编译超时", + "your_current_project_will_revert_to_the_version_from_time": "您当前的项目将恢复到时间戳为 __timestamp__ 的版本", + "your_git_access_info": "当进行 Git 操作时,若系统提示您输入密码,请输入您的 Git 身份验证令牌。", + "your_git_access_info_bullet_1": "您最多可以拥有 10 个令牌。", + "your_git_access_info_bullet_2": "如果达到最大限制,您需要先删除令牌,然后才能生成新令牌。", + "your_git_access_info_bullet_3": "您可以使用<0>生成令牌按钮生成令牌。", + "your_git_access_info_bullet_4": "首次查看生成令牌后,您将无法再次查看该令牌的完整内容。请复制并保证其安全", + "your_git_access_info_bullet_5": "此处将显示以前生成的令牌。", + "your_git_access_tokens": "您的 Git 身份验证令牌", + "your_message_to_collaborators": "向您的合作者发送消息", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "项目所有者和其他编辑者将可以看到您的姓名和电子邮件地址。", + "your_new_plan": "你的新计划", + "your_password_has_been_successfully_changed": "您的密码已成功更改", + "your_password_was_detected": "您的密码位于<0>已知泄露密码的公开列表中。 立即更改密码,确保您的帐户安全。", + "your_plan": "您的订购", + "your_plan_is_changing_at_term_end": "在当前计费周期结束时,您的计划将更改为<0>__pendingPlanName__。", + "your_plan_is_limited_to_n_editors": "您的计划允许 __count__ 位合作者拥有编辑权限和无限位查看者。", + "your_plan_is_limited_to_n_editors_plural": "您的计划允许 __count__ 位合作者拥有编辑权限和无限数量的查看者。", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "你的项目超过了我们免费计划的编译时限。", + "your_project_exceeded_editor_limit": "您的项目超出了编辑者限制,访问级别已更改。请为您的协作者选择新的访问级别,或升级以添加更多编辑者。", + "your_project_near_compile_timeout_limit": "对于我们的免费计划,你的项目已经达到编译时限。", + "your_projects": "您的项目", + "your_questions_answered": "您的问题已被解答", + "your_role": "您的角色", + "your_sessions": "我的会话", + "your_subscription": "您的订阅", + "your_subscription_has_expired": "您的订购已过期", + "youre_a_member_of_overleaf_labs": "您是 HajTeX Labs 的成员。别忘了定期查看您可以报名参加哪些实验。", + "youre_about_to_disable_single_sign_on": "您将禁用所有群成员的单点登录。", + "youre_about_to_enable_single_sign_on": "您即将启用单点登录(SSO)。在执行此操作之前,您应该确保您确信SSO配置是正确的,并且您的所有组成员都具有托管用户帐户。", + "youre_about_to_enable_single_sign_on_sso_only": "您即将启用单点登录 (SSO)。 在执行此操作之前,您应该确保 SSO 配置正确。", + "youre_already_setup_for_sso": "您已完成 SSO 设置", + "youre_joining": "您正在加入", + "youre_on_free_trial_which_ends_on": "您正在享受免费试用,试用期将于<0>__date__结束。", + "youre_signed_in_as_logout": "您已使用 <0>__email__ 登录。 <1>退出。", + "youre_signed_up": "您已注册", + "youve_lost_edit_access": "您已失去编辑连接", + "youve_unlinked_all_users": "您已取消所有用户的关联", + "zh-CN": "中文", + "zip_contents_too_large": "压缩包太大", + "zoom_in": "放大", + "zoom_out": "缩小", + "zoom_to": "缩放至", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero 与 <0>Mendeley 集成", + "zotero_cta": "获取 Zotero 集成", + "zotero_groups_loading_error": "从 Zotero 加载群组时出错", + "zotero_groups_relink": "访问您的Zotero数据时出错。这可能是由于缺乏权限造成的。请重新链接您的帐户,然后重试。", + "zotero_integration": "Zotero 集成", + "zotero_integration_lowercase": "Zotero集成", + "zotero_integration_lowercase_info": "在Zotero中管理您的参考库,并将其直接链接到HajTeX中的.bib文件,这样您就可以轻松引用库中的任何内容。", + "zotero_is_premium": "Zotero 集成是一个高级(付费)功能", + "zotero_reference_loading_error": "错误,无法加载Zotero的参考文献", + "zotero_reference_loading_error_expired": "Zotero令牌过期,请重新关联您的账户", + "zotero_reference_loading_error_forbidden": "无法加载Zotero的参考文献,请重新关联您的账户后重试", + "zotero_sync_description": "集成 Zotero 后,您可以将 Zotero 的参考文献导入__appName__项目。" +} diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js new file mode 100644 index 0000000..8bdca29 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js @@ -0,0 +1,1376 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, adminUserExists, authMethod, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription, wsUrl) { + pug_mixins["launchpad-check"] = pug_interp = function(section){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv" + (pug.attr("data-ol-launchpad-check", section, true, true)) + "\u003E\u003Cspan data-ol-inflight=\"pending\"\u003E\u003Ci class=\"fa fa-fw fa-spinner fa-spin\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('checking')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"idle\"\u003E\u003Cdiv data-ol-result=\"success\"\u003E\u003Ci class=\"fa fa-check\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('ok')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton class=\"btn btn-inline-link\"\u003E\u003Cspan class=\"text-danger\"\u003E " + (pug.escape(null == (pug_interp = translate('retry')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003Cdiv hidden data-ol-result=\"error\"\u003E\u003Ci class=\"fa fa-exclamation\"\u003E\u003C\u002Fi\u003E\u003Cspan\u003E " + (pug.escape(null == (pug_interp = translate('error')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cbutton class=\"btn btn-inline-link\"\u003E\u003Cspan class=\"text-danger\"\u003E " + (pug.escape(null == (pug_interp = translate('retry')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"alert alert-danger\"\u003E\u003Cspan data-ol-error\u003E\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E"; +}; +pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'modules/launchpad/pages/launchpad' +metadata = metadata || {} +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-adminUserExists\" data-type=\"boolean\""+pug.attr("content", adminUserExists, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ideJsPath\""+pug.attr("content", buildJsPath('ide.js'), true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", (wsUrl || '/socket.io') + '/socket.io.js', true, true)) + "\u003E\u003C\u002Fscript\u003E\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003Cdiv class=\"card launchpad-body\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate('welcome_to_sl')) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003Cp\u003E\u003Cimg" + (pug.attr("src", buildImgPath('/ol-brand/overleaf-o.svg'), true, true)) + "\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- wrapper --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-8 col-md-offset-2\"\u003E\u003C!-- create first admin form --\u003E"; +if (!adminUserExists) { +pug_html = pug_html + "\u003Cdiv class=\"row\" data-ol-not-sent\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('create_first_admin_account')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C!-- Local Auth Form--\u003E"; +if (authMethod === 'local') { +pug_html = pug_html + "\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"password\"\u003E" + (pug.escape(null == (pug_interp = translate("password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" id=\"passwordField\" type=\"password\" name=\"password\" placeholder=\"********\" autocomplete=\"new-password\" required\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C!-- Ldap Form--\u003E"; +if (authMethod === 'ldap') { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('ldap')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('ldap_create_admin_instructions')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_ldap_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C!-- Saml Form--\u003E"; +if (authMethod === 'saml') { +pug_html = pug_html + "\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('saml')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cp\u003E" + (pug.escape(null == (pug_interp = translate('saml_create_admin_instructions')) ? "" : pug_interp)) + "\u003C\u002Fp\u003E\u003Cform data-ol-async-form data-ol-register-admin action=\"\u002Flaunchpad\u002Fregister_saml_admin\" method=\"POST\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\" required autofocus=\"true\"\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("register")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("registering")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cbr\u003E"; +} +pug_html = pug_html + "\u003C!-- status indicators --\u003E"; +if (adminUserExists) { +pug_html = pug_html + "\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12 status-indicators\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('status_checks')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003C!-- websocket --\u003E\u003Cdiv class=\"row row-spaced-small\"\u003E\u003Cdiv class=\"col-sm-5\"\u003E" + (pug.escape(null == (pug_interp = translate('websockets')) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003Cdiv class=\"col-sm-7\"\u003E"; +pug_mixins["launchpad-check"]('websocket'); +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- break --\u003E\u003Chr class=\"thin\"\u003E\u003C!-- other actions --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Ch2\u003E" + (pug.escape(null == (pug_interp = translate('other_actions')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Ch3\u003E" + (pug.escape(null == (pug_interp = translate('send_test_email')) ? "" : pug_interp)) + "\u003C\u002Fh3\u003E\u003Cform class=\"form\" data-ol-async-form action=\"\u002Flaunchpad\u002Fsend_test_email\" method=\"POST\"\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003EEmail\u003C\u002Flabel\u003E\u003Cinput class=\"form-control\" type=\"text\" id=\"email\" name=\"email\" required\u003E\u003C\u002Fdiv\u003E\u003Cbutton class=\"btn-primary btn\" type=\"submit\" data-ol-disabled-inflight\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate("send")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate("sending")) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003Cp\u003E"; +pug_mixins["formMessages"](); +pug_html = pug_html + "\u003C\u002Fp\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C!-- break --\u003E\u003Chr class=\"thin\"\u003E\u003C!-- Go to app --\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-12\"\u003E\u003Cdiv class=\"text-center\"\u003E\u003Cbr\u003E\u003Cp\u003E\u003Ca class=\"btn btn-info\" href=\"\u002Fadmin\"\u003EGo To Admin Panel\u003C\u002Fa\u003E \u003Ca class=\"btn btn-primary\" href=\"\u002Fproject\"\u003EStart Using " + (pug.escape(null == (pug_interp = settings.appName) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cbr\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "adminUserExists" in locals_for_with ? + locals_for_with.adminUserExists : + typeof adminUserExists !== 'undefined' ? adminUserExists : undefined, "authMethod" in locals_for_with ? + locals_for_with.authMethod : + typeof authMethod !== 'undefined' ? authMethod : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined, "wsUrl" in locals_for_with ? + locals_for_with.wsUrl : + typeof wsUrl !== 'undefined' ? wsUrl : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js new file mode 100644 index 0000000..82a2ade --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js @@ -0,0 +1,1351 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, email, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, token, translate, user, userRestrictions, userSettings, usersBestSubscription) { + pug_mixins["formMessages"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cdiv data-ol-form-messages=\"\" role=\"alert\"\u003E\u003C\u002Fdiv\u003E"; +}; + + + + +pug_mixins["customFormMessage"] = pug_interp = function(key, kind){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +if (kind === 'success') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-success\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else +if (kind === 'danger') { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-danger\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"assertive\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +else { +pug_html = pug_html + "\u003Cdiv" + (" class=\"alert alert-warning\""+pug.attr("hidden", true, true, true)+pug.attr("data-ol-custom-form-message", key, true, true)+" role=\"alert\" aria-live=\"polite\"") + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +} +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'marketing' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cmain class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"alert alert-success\"\u003E" + (pug.escape(null == (pug_interp = translate("nearly_activated")) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"row\"\u003E\u003Cdiv class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\"\u003E\u003Cdiv class=\"card\"\u003E\u003Cdiv class=\"page-header\"\u003E\u003Ch1\u003E" + (pug.escape(null == (pug_interp = translate("please_set_a_password")) ? "" : pug_interp)) + "\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E\u003Cform data-ol-async-form name=\"activationForm\" action=\"\u002Fuser\u002Fpassword\u002Fset\" method=\"POST\"\u003E"; +pug_mixins["formMessages"](); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate("activation_token_expired")) ? "" : pug_interp)); +} +}, 'token-expired', 'danger'); +pug_mixins["customFormMessage"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('invalid_password')) ? "" : pug_interp)); +} +}, 'invalid-password', 'danger'); +pug_html = pug_html + "\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cinput" + (" type=\"hidden\" name=\"passwordResetToken\""+pug.attr("value", token, true, true)) + "\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"email\"\u003E" + (pug.escape(null == (pug_interp = translate("email")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" aria-label=\"email\" type=\"email\" name=\"email\" placeholder=\"email@example.com\" autocomplete=\"username\""+pug.attr("value", email, true, true)+pug.attr("required", true, true, true)+pug.attr("disabled", true, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"form-group\"\u003E\u003Clabel for=\"password\"\u003E" + (pug.escape(null == (pug_interp = translate("password")) ? "" : pug_interp)) + "\u003C\u002Flabel\u003E\u003Cinput" + (" class=\"form-control\""+" id=\"passwordField\" type=\"password\" name=\"password\" placeholder=\"********\" autocomplete=\"new-password\""+pug.attr("autofocus", true, true, true)+pug.attr("required", true, true, true)+pug.attr("minlength", settings.passwordStrengthOptions.length.min, true, true)) + "\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"actions\"\u003E\u003Cbutton" + (" class=\"btn btn-primary\""+" type=\"submit\""+pug.attr("data-ol-disabled-inflight", true, true, true)+pug.attr("aria-label", translate('activate'), true, true)) + "\u003E\u003Cspan data-ol-inflight=\"idle\"\u003E" + (pug.escape(null == (pug_interp = translate('activate')) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003Cspan hidden data-ol-inflight=\"pending\"\u003E" + (pug.escape(null == (pug_interp = translate('activating')) ? "" : pug_interp)) + "…\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fform\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fmain\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "email" in locals_for_with ? + locals_for_with.email : + typeof email !== 'undefined' ? email : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "token" in locals_for_with ? + locals_for_with.token : + typeof token !== 'undefined' ? token : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js new file mode 100644 index 0000000..fd5f81e --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js @@ -0,0 +1,1335 @@ +var pug = require("pug-runtime");function template(locals) {var pug_html = "", pug_mixins = {}, pug_interp;; + var locals_for_with = (locals || {}); + + (function (Date, ExposedSettings, Object, bootstrap5Override, brandVariation, buildBaseAssetPath, buildCssPath, buildImgPath, buildJsPath, canDisplayAdminMenu, canDisplayAdminRedirect, canDisplaySplitTestMenu, canDisplaySurveyMenu, canRedirectToAdminDomain, csrfToken, currentLngCode, currentUrl, currentUrlWithQueryParams, deferScripts, dictionariesRoot, enableUpgradeButton, entrypoint, entrypointScripts, entrypointStyles, fixedSizeDocument, getCssThemeModifier, getLoggedInUserId, getSessionAnalyticsId, getSessionUser, getUserEmail, hasAdminAccess, hasCustomLeftNav, hasFeature, hideFatFooter, isManagedAccount, mathJaxPath, metadata, moduleIncludes, nav, projectDashboardReact, scriptNonce, settings, showLanguagePicker, showThinFooter, splitTestInfo, splitTestVariants, suppressCookieBanner, suppressFooter, suppressGoogleAnalytics, suppressNavContentLinks, suppressNavbar, suppressNavbarRight, suppressRelAlternateLinks, suppressSkipToContent, title, translate, user, userRestrictions, userSettings, usersBestSubscription) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pug_mixins["bootstrap-js"] = pug_interp = function(bootstrapVersion){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')) +;(function(){ + var $$obj = (entrypointScripts(bootstrapVersion === 5 ? 'bootstrap-5' : 'bootstrap-3')); + if ('number' == typeof $$obj.length) { + for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) { + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index0 in $$obj) { + $$l++; + var file = $$obj[pug_index0]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +}; +pug_mixins["foot-scripts"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +// iterate entrypointScripts(entrypoint) +;(function(){ + var $$obj = entrypointScripts(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index1 = 0, $$l = $$obj.length; pug_index1 < $$l; pug_index1++) { + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index1 in $$obj) { + $$l++; + var file = $$obj[pug_index1]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +if ((settings.devToolbar.enabled)) { +// iterate entrypointScripts("devToolbar") +;(function(){ + var $$obj = entrypointScripts("devToolbar"); + if ('number' == typeof $$obj.length) { + for (var pug_index2 = 0, $$l = $$obj.length; pug_index2 < $$l; pug_index2++) { + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } else { + var $$l = 0; + for (var pug_index2 in $$obj) { + $$l++; + var file = $$obj[pug_index2]; +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", file, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; + } + } +}).call(this); + +} +}; +pug_html = pug_html + "\u003C!DOCTYPE html\u003E\u003Chtml" + (pug.attr("class", pug.classes([(fixedSizeDocument ? 'fixed-size-document' : undefined)], [true]), false, true)+pug.attr("lang", (currentLngCode || 'en'), true, true)) + "\u003E"; +metadata = metadata || {} +let bootstrap5PageStatus = 'disabled' // One of 'disabled', 'enabled', and 'queryStringOnly' +let bootstrap5PageSplitTest = '' // Limits Bootstrap 5 usage on this page to users with an assignment of "enabled" for the specified split test. If left empty and bootstrap5PageStatus is "enabled", the page always uses Bootstrap 5. +let isWebsiteRedesign = false +entrypoint = 'modules/user-activate/pages/user-activate-page' +pug_html = pug_html + "\u003Chead\u003E"; +if ((metadata && metadata.title)) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = metadata.title + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", metadata.title, true, true)) + "\u003E"; +} +else +if ((typeof(title) == "undefined")) { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = settings.appName + ', '+ translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", settings.appName + ', '+ translate("online_latex_editor"), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Ctitle\u003E" + (pug.escape(null == (pug_interp = translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor")) ? "" : pug_interp)) + "\u003C\u002Ftitle\u003E\u003Cmeta" + (" name=\"twitter:title\""+pug.attr("content", translate(title), true, true)) + "\u003E\u003Cmeta" + (" name=\"og:title\""+pug.attr("content", translate(title), true, true)) + "\u003E"; +} +if ((metadata && metadata.description)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", metadata.description, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E\u003Cmeta" + (" itemprop=\"description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.image && metadata.image.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image.fields.file.url, true, true)) + "\u003E"; +} +else +if ((metadata && metadata.image_src)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", metadata.image_src, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E\u003Cmeta" + (" name=\"image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta itemprop=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E\u003Cmeta name=\"image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.keywords)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"keywords\""+pug.attr("content", metadata.keywords, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" itemprop=\"name\""+pug.attr("content", settings.appName + ", the Online LaTeX Editor", true, true)) + "\u003E"; +if ((metadata && metadata.robotsNoindexNofollow)) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex, nofollow\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:card\""+pug.attr("content", metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary', true, true)) + "\u003E"; +if ((settings.social && settings.social.twitter && settings.social.twitter.handle)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:site\""+pug.attr("content", "@" + settings.social.twitter.handle, true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", metadata.twitterDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.twitterImage && metadata.twitterImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", metadata.twitterImage.fields.file.url, true, true)) + "\u003E\u003Cmeta" + (" name=\"twitter:image:alt\""+pug.attr("content", metadata.twitterImage.fields.title, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"twitter:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta name=\"twitter:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((settings.social && settings.social.facebook && settings.social.facebook.appId)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"fb:app_id\""+pug.attr("content", settings.social.facebook.appId, true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphDescription)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", metadata.openGraphDescription, true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:description\""+pug.attr("content", translate("site_description"), true, true)) + "\u003E"; +} +if ((metadata && metadata.openGraphImage && metadata.openGraphImage.fields)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", metadata.openGraphImage.fields.file.url, true, true)) + "\u003E"; +} +else +if ((settings.overleaf)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:image\""+pug.attr("content", buildImgPath('ol-brand/overleaf_og_logo.png'), true, true)) + "\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:image\" content=\"\u002Fapple-touch-icon.png\"\u003E"; +} +if ((metadata && metadata.openGraphType)) { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" metadata.openGraphType\u003E"; +} +else { +pug_html = pug_html + "\u003Cmeta property=\"og:type\" content=\"website\"\u003E"; +} +if ((metadata && metadata.openGraphVideo)) { +pug_html = pug_html + "\u003Cmeta" + (" property=\"og:video\""+pug.attr("content", metadata.openGraphVideo, true, true)) + "\u003E"; +} +if (!metadata || metadata.viewport !== false) { +pug_html = pug_html + "\u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\"\u003E"; +} +if (settings.robotsNoindex) { +pug_html = pug_html + "\u003Cmeta name=\"robots\" content=\"noindex\"\u003E"; +} +pug_html = pug_html + "\u003Cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003E\u003Cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"\u003E\u003Clink rel=\"icon\" sizes=\"32x32\" href=\"\u002Ffavicon-32x32.png\"\u003E\u003Clink rel=\"icon\" sizes=\"16x16\" href=\"\u002Ffavicon-16x16.png\"\u003E\u003Clink rel=\"icon\" href=\"\u002Ffavicon.svg\" type=\"image\u002Fsvg+xml\"\u003E\u003Clink rel=\"apple-touch-icon\" href=\"\u002Fapple-touch-icon.png\"\u003E\u003Clink rel=\"mask-icon\" href=\"\u002Fmask-favicon.svg\" color=\"#046530\"\u003E"; +if ((metadata && metadata.canonicalURL)) { +pug_html = pug_html + "\u003Clink" + (" rel=\"canonical\""+pug.attr("href", metadata.canonicalURL, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Clink rel=\"manifest\" href=\"\u002Fweb.sitemanifest\"\u003E"; +const bootstrapVersion = bootstrap5PageStatus !== 'disabled' && (bootstrap5Override || (bootstrap5PageStatus === 'enabled' && (bootstrap5PageSplitTest === '' || splitTestVariants[bootstrap5PageSplitTest] === 'enabled'))) ? 5 : 3 +const ieeeStylesheetEnabled = splitTestVariants?.['ieee-stylesheet'] !== 'disabled' +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", buildCssPath(getCssThemeModifier(userSettings, brandVariation, ieeeStylesheetEnabled), bootstrapVersion), true, true)+" id=\"main-stylesheet\"") + "\u003E"; +// iterate entrypointStyles(entrypoint) +;(function(){ + var $$obj = entrypointStyles(entrypoint); + if ('number' == typeof $$obj.length) { + for (var pug_index3 = 0, $$l = $$obj.length; pug_index3 < $$l; pug_index3++) { + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index3 in $$obj) { + $$l++; + var file = $$obj[pug_index3]; +pug_html = pug_html + "\u003Clink" + (" rel=\"stylesheet\""+pug.attr("href", file, true, true)) + "\u003E"; + } + } +}).call(this); + +if ((typeof suppressRelAlternateLinks == "undefined")) { +if (settings.i18n.subdomainLang) { +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var pug_index4 = 0, $$l = $$obj.length; pug_index4 < $$l; pug_index4++) { + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index4 in $$obj) { + $$l++; + var subdomainDetails = $$obj[pug_index4]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Clink" + (" rel=\"alternate\""+pug.attr("href", subdomainDetails.url + currentUrl, true, true)+pug.attr("hreflang", subdomainDetails.lngCode, true, true)) + "\u003E"; +} + } + } +}).call(this); + +} +} +if ((entrypoint !== 'marketing')) { +pug_html = pug_html + "\u003Clink" + (" rel=\"preload\""+pug.attr("href", buildJsPath(currentLngCode + "-json.js"), true, true)+" as=\"script\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003E"; +} +if ((typeof suppressGoogleAnalytics == "undefined")) { +if ((typeof(ExposedSettings.gaTokenV4) != "undefined" || typeof(ExposedSettings.gaToken) != "undefined")) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+" id=\"ga-loader\""+pug.attr("data-ga-token", ExposedSettings.gaToken, true, true)+pug.attr("data-ga-token-v4", ExposedSettings.gaTokenV4, true, true)+pug.attr("data-cookie-domain", ExposedSettings.cookieDomain, true, true)+pug.attr("data-session-analytics-id", getSessionAnalyticsId(), true, true)) + "\u003Evar gaSettings = document.querySelector('#ga-loader').dataset;\nvar gaid = gaSettings.gaTokenV4;\nvar gaToken = gaSettings.gaToken;\nvar cookieDomain = gaSettings.cookieDomain;\nvar sessionAnalyticsId = gaSettings.sessionAnalyticsId;\nif(gaid) {\n var additionalGaConfig = sessionAnalyticsId ? { 'user_id': sessionAnalyticsId } : {};\n window.dataLayer = window.dataLayer || [];\n function gtag(){\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n gtag('config', gaid, { 'anonymize_ip': true, ...additionalGaConfig });\n}\nif (gaToken) {\n window.ga = window.ga || function () {\n (window.ga.q = window.ga.q || []).push(arguments);\n }, window.ga.l = 1 * new Date();\n}\nvar loadGA = window.olLoadGA = function() {\n if (gaid) {\n var s = document.createElement('script');\n s.setAttribute('async', 'async');\n s.setAttribute('src', 'https:\u002F\u002Fwww.googletagmanager.com\u002Fgtag\u002Fjs?id=' + gaid);\n document.querySelector('head').append(s);\n } \n if (gaToken) {\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','\u002F\u002Fwww.google-analytics.com\u002Fanalytics.js','ga');\n ga('create', gaToken, cookieDomain.replace(\u002F^\\.\u002F, \"\"));\n ga('set', 'anonymizeIp', true);\n if (sessionAnalyticsId) {\n ga('set', 'userId', sessionAnalyticsId);\n }\n ga('send', 'pageview');\n }\n};\n\u002F\u002F Check if consent given (features\u002Fcookie-banner)\nvar oaCookie = document.cookie.split('; ').find(function(cookie) {\n return cookie.startsWith('oa=');\n});\nif(oaCookie) {\n var oaCookieValue = oaCookie.split('=')[1];\n if(oaCookieValue === '1') {\n loadGA();\n }\n}\n\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaTokenV4) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.gtag = function() { console.log(\"would send to GA4\", arguments) };\u003C\u002Fscript\u003E"; +} +if (typeof(ExposedSettings.gaToken) === "undefined") { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.ga = function() { console.log(\"would send to GA\", arguments) };\u003C\u002Fscript\u003E"; +} +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-csrfToken\""+pug.attr("content", csrfToken, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-baseAssetPath\""+pug.attr("content", buildBaseAssetPath(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-mathJaxPath\""+pug.attr("content", mathJaxPath, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-dictionariesRoot\""+pug.attr("content", dictionariesRoot, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-usersEmail\""+pug.attr("content", getUserEmail(), true, true)) + "\u003E\u003Cmeta name=\"ol-ab\" data-type=\"json\" content=\"{}\"\u003E\u003Cmeta" + (" name=\"ol-user_id\""+pug.attr("content", getLoggedInUserId(), true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-i18n\" data-type=\"json\""+pug.attr("content", { + currentLangCode: currentLngCode + }, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-ExposedSettings\" data-type=\"json\""+pug.attr("content", ExposedSettings, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestVariants\" data-type=\"json\""+pug.attr("content", splitTestVariants || {}, true, true)) + "\u003E\u003Cmeta" + (" name=\"ol-splitTestInfo\" data-type=\"json\""+pug.attr("content", splitTestInfo || {}, true, true)) + "\u003E"; +if ((typeof settings.algolia != "undefined")) { +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-algolia\" data-type=\"json\""+pug.attr("content", { + appId: settings.algolia.app_id, + apiKey: settings.algolia.read_only_api_key, + indexes: settings.algolia.indexes + }, true, true)) + "\u003E"; +} +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-isManagedAccount\" data-type=\"boolean\""+pug.attr("content", isManagedAccount, true, true)) + "\u003E"; +// iterate userRestrictions || [] +;(function(){ + var $$obj = userRestrictions || []; + if ('number' == typeof $$obj.length) { + for (var pug_index5 = 0, $$l = $$obj.length; pug_index5 < $$l; pug_index5++) { + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } else { + var $$l = 0; + for (var pug_index5 in $$obj) { + $$l++; + var restriction = $$obj[pug_index5]; +pug_html = pug_html + "\u003Cmeta" + (pug.attr("name", 'ol-cannot-' + restriction, true, true)+" data-type=\"boolean\" content") + "\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003Cmeta" + (" name=\"ol-bootstrapVersion\" data-type=\"json\""+pug.attr("content", bootstrapVersion, true, true)) + "\u003E\u003C\u002Fhead\u003E\u003Cbody" + (pug.attr("class", pug.classes([{ + 'thin-footer': showThinFooter, + 'website-redesign': isWebsiteRedesign === true + }], [true]), false, true)+" data-theme=\"default\"") + "\u003E"; +if ((settings.recaptcha && settings.recaptcha.siteKeyV3)) { +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)+pug.attr("src", "https://www.recaptcha.net/recaptcha/api.js?render=" + settings.recaptcha.siteKeyV3, true, true)+pug.attr("defer", deferScripts, true, true)) + "\u003E\u003C\u002Fscript\u003E"; +} +if ((typeof suppressSkipToContent == "undefined")) { +pug_html = pug_html + "\u003Ca class=\"skip-to-content\" href=\"#main-content\"\u003E" + (pug.escape(null == (pug_interp = translate('skip_to_content')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if ((typeof suppressNavbar === "undefined")) { +if (bootstrapVersion === 5) { +pug_mixins["nav-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli" + (pug.attrs(pug.merge([{"role": "none"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["nav-link"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "nav-link","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +}; +pug_mixins["dropdown-menu"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cul" + (pug.attrs(pug.merge([{"class": "dropdown-menu","role": "menu"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Ful\u003E"; +}; +pug_mixins["dropdown-menu-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli role=\"none\"\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fli\u003E"; +}; +pug_mixins["dropdown-menu-link-item"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Ca" + (pug.attrs(pug.merge([{"class": "dropdown-item","role": "menuitem"},attributes]), true)) + "\u003E"; +block && block(); +pug_html = pug_html + "\u003C\u002Fa\u003E"; +} +}); +}; +pug_mixins["dropdown-menu-divider"] = pug_interp = function(){ +var block = (this && this.block), attributes = (this && this.attributes) || {}; +pug_html = pug_html + "\u003Cli class=\"dropdown-divider d-none d-lg-block\" role=\"separator\"\u003E\u003C\u002Fli\u003E"; +}; +pug_html = pug_html + "\u003Cnav" + (pug.attr("class", pug.classes(["navbar","navbar-default","navbar-main","navbar-expand-lg",{ + 'website-redesign-navbar': isWebsiteRedesign +}], [false,false,false,false,true]), false, true)) + "\u003E\u003Cdiv class=\"container-fluid navbar-container\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary me-2 d-md-none\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof suppressNavbarRight === "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggler collapsed\""+" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbar-main-collapse\" aria-controls=\"navbar-main-collapse\" aria-expanded=\"false\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right ms-auto\" role=\"menubar\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +if (canDisplayAdminMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Site"; +}, +attributes: {"href": "\u002Fadmin"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Users"; +}, +attributes: {"href": "\u002Fadmin\u002Fuser"} +}); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Project URL Lookup"; +}, +attributes: {"href": "\u002Fadmin\u002Fproject"} +}); +} +if (canDisplayAdminRedirect) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Switch to Admin"; +}, +attributes: {"href": pug.escape(settings.adminUrl)} +}); +} +if (canDisplaySplitTestMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Feature Flags"; +}, +attributes: {"href": "\u002Fadmin\u002Fsplit-test"} +}); +} +if (canDisplaySurveyMenu) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "Manage Surveys"; +}, +attributes: {"href": "\u002Fadmin\u002Fsurvey"} +}); +} +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown subdued"} +}); +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index6 = 0, $$l = $$obj.length; pug_index6 < $$l; pug_index6++) { + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index7 = 0, $$l = $$obj.length; pug_index7 < $$l; pug_index7++) { + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index7 in $$obj) { + $$l++; + var child = $$obj[pug_index7]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index6 in $$obj) { + $$l++; + var item = $$obj[pug_index6]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index8 = 0, $$l = $$obj.length; pug_index8 < $$l; pug_index8++) { + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } else { + var $$l = 0; + for (var pug_index8 in $$obj) { + $$l++; + var child = $$obj[pug_index8]; +if (child.divider) { +pug_mixins["dropdown-menu-divider"](); +} +else +if (child.isContactUs) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E"; +}, +attributes: {"data-ol-open-contact-form-modal": "contact-us","data-bs-target": "#contactUsModal","href": pug.escape(true),"data-bs-toggle": "modal"} +}); +} +else { +if (child.url) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([child.class], [true]),"href": pug.escape(child.url),"event-tracking": pug.escape(child.event),"event-tracking-mb": "true","event-tracking-trigger": "click","event-segmentation": pug.escape(child.eventSegmentation)} +}); +} +else { +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +}); +} +} + } + } +}).call(this); + +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": pug.classes(["dropdown",item.class], [false,true])} +}); +} +else { +pug_mixins["nav-item"].call({ +block: function(){ +if (item.url) { +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +}, +attributes: {"class": pug.classes([item.class], [true]),"href": pug.escape(item.url),"event-tracking": pug.escape(item.event),"event-tracking-mb": "true","event-tracking-trigger": "click"} +}); +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +}, +attributes: {"class": pug.classes([item.class], [true])} +}); +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fregister","event-tracking": "menu-clicked-register","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +}, +attributes: {"class": "primary"} +}); +} +pug_html = pug_html + "\u003C!-- login link--\u003E"; +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Flogin","event-tracking": "menu-clicked-login","event-tracking-action": "clicked","event-tracking-trigger": "click","event-tracking-mb": "true","event-segmentation": pug.escape({ page: currentUrl })} +}); +} +}); +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_mixins["nav-item"].call({ +block: function(){ +pug_mixins["nav-link"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fproject"} +}); +} +}); +pug_mixins["nav-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"dropdown-toggle\" aria-haspopup=\"true\" aria-expanded=\"false\" data-bs-toggle=\"dropdown\" role=\"menuitem\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fbutton\u003E"; +pug_mixins["dropdown-menu"].call({ +block: function(){ +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cdiv class=\"disabled dropdown-item\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E"; +} +}); +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsettings"} +}); +if (nav.showSubscriptionLink) { +pug_mixins["dropdown-menu-link-item"].call({ +block: function(){ +pug_html = pug_html + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)); +}, +attributes: {"href": "\u002Fuser\u002Fsubscription"} +}); +} +pug_mixins["dropdown-menu-divider"](); +pug_mixins["dropdown-menu-item"].call({ +block: function(){ +pug_html = pug_html + "\u003Cbutton class=\"btn-link text-left dropdown-menu-button dropdown-item\" role=\"menuitem\" tabindex=\"-1\" form=\"logOutForm\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\" id=\"logOutForm\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003C\u002Fform\u003E"; +} +}); +}, +attributes: {"class": "dropdown-menu-end"} +}); +}, +attributes: {"class": "dropdown"} +}); +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +else { +pug_html = pug_html + "\u003Cnav class=\"navbar navbar-default navbar-main\"\u003E\u003Cdiv class=\"container-fluid\"\u003E\u003Cdiv class=\"navbar-header\"\u003E"; +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cbutton" + (" class=\"navbar-toggle collapsed\""+" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbar-main-collapse\""+pug.attr("aria-label", "Toggle " + translate('navigation'), true, true)) + "\u003E\u003Ci class=\"fa fa-bars\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003C\u002Fbutton\u003E"; +} +var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' +if ((enableUpgradeButton)) { +pug_html = pug_html + "\u003Ca class=\"btn btn-primary pull-right me-2 visible-xs\" href=\"\u002Fuser\u002Fsubscription\u002Fplans\" event-tracking=\"upgrade-button-click\" event-tracking-mb=\"true\" event-tracking-label=\"upgrade\" event-tracking-trigger=\"click\" event-segmentation=\"{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}\"\u003E" + (pug.escape(null == (pug_interp = translate("upgrade")) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +if (settings.nav.custom_logo) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)+pug.attr("style", pug.style('background-image:url("'+settings.nav.custom_logo+'")'), true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +else +if ((nav.title)) { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-title\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = nav.title) ? "" : pug_interp)) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + "\u003Ca" + (" class=\"navbar-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E"; +var canDisplayAdminMenu = hasAdminAccess() +var canDisplayAdminRedirect = canRedirectToAdminDomain() +var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) +var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu +if ((typeof(suppressNavbarRight) == "undefined")) { +pug_html = pug_html + "\u003Cdiv class=\"navbar-collapse collapse\" id=\"navbar-main-collapse\"\u003E\u003Cul class=\"nav navbar-nav navbar-right\"\u003E"; +if ((canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu)) { +pug_html = pug_html + "\u003Cli class=\"dropdown subdued\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003EAdmin\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +if (canDisplayAdminMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\"\u003EManage Site\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fuser\"\u003EManage Users\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fproject\"\u003EProject URL Lookup\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplayAdminRedirect) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca" + (pug.attr("href", settings.adminUrl, true, true)) + "\u003ESwitch to Admin\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySplitTestMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsplit-test\"\u003EManage Feature Flags\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +if (canDisplaySurveyMenu) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fadmin\u002Fsurvey\"\u003EManage Surveys\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- loop over header_extras--\u003E"; +// iterate nav.header_extras +;(function(){ + var $$obj = nav.header_extras; + if ('number' == typeof $$obj.length) { + for (var pug_index9 = 0, $$l = $$obj.length; pug_index9 < $$l; pug_index9++) { + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index10 = 0, $$l = $$obj.length; pug_index10 < $$l; pug_index10++) { + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index10 in $$obj) { + $$l++; + var child = $$obj[pug_index10]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } else { + var $$l = 0; + for (var pug_index9 in $$obj) { + $$l++; + var item = $$obj[pug_index9]; +if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) +){ + var showNavItem = true +} else { + var showNavItem = false +} + +if (showNavItem) { +if (item.dropdown) { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes(["dropdown",item.class], [false,true]), false, true)) + "\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E"; +// iterate item.dropdown +;(function(){ + var $$obj = item.dropdown; + if ('number' == typeof $$obj.length) { + for (var pug_index11 = 0, $$l = $$obj.length; pug_index11 < $$l; pug_index11++) { + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var pug_index11 in $$obj) { + $$l++; + var child = $$obj[pug_index11]; +if (child.divider) { +pug_html = pug_html + "\u003Cli class=\"divider\"\u003E\u003C\u002Fli\u003E"; +} +else +if (child.isContactUs) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca data-ol-open-contact-form-modal=\"contact-us\" href\u003E\u003Cspan event-tracking=\"menu-clicked-contact\" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"\u003E" + (pug.escape(null == (pug_interp = translate("contact_us")) ? "" : pug_interp)) + "\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli\u003E"; +if (child.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([child.class], [true]), false, true)+pug.attr("href", child.url, true, true)+pug.attr("event-tracking", child.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\""+pug.attr("event-segmentation", child.eventSegmentation, true, true)) + "\u003E" + (null == (pug_interp = translate(child.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(child.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli" + (pug.attr("class", pug.classes([item.class], [true]), false, true)) + "\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("event-tracking", item.event, true, true)+" event-tracking-mb=\"true\" event-tracking-trigger=\"click\"") + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = translate(item.text)) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; +} +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C!-- logged out--\u003E"; +if (!getSessionUser()) { +pug_html = pug_html + "\u003C!-- register link--\u003E"; +if (hasFeature('registration-page')) { +pug_html = pug_html + "\u003Cli class=\"primary\"\u003E\u003Ca" + (" href=\"\u002Fregister\" event-tracking=\"menu-clicked-register\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('sign_up')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- login link--\u003E\u003Cli\u003E\u003Ca" + (" href=\"\u002Flogin\" event-tracking=\"menu-clicked-login\" event-tracking-action=\"clicked\" event-tracking-trigger=\"click\" event-tracking-mb=\"true\""+pug.attr("event-segmentation", { page: currentUrl }, true, true)) + "\u003E" + (pug.escape(null == (pug_interp = translate('log_in')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C!-- projects link and account menu--\u003E"; +if (getSessionUser()) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fproject\"\u003E" + (pug.escape(null == (pug_interp = translate('Projects')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli class=\"dropdown\"\u003E\u003Ca class=\"dropdown-toggle\" href=\"#\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" data-toggle=\"dropdown\"\u003E" + (pug.escape(null == (pug_interp = translate('Account')) ? "" : pug_interp)) + "\u003Cspan class=\"caret\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\"\u003E\u003Cli\u003E\u003Cdiv class=\"subdued\"\u003E" + (pug.escape(null == (pug_interp = getSessionUser().email) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsettings\"\u003E" + (pug.escape(null == (pug_interp = translate('Account Settings')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (nav.showSubscriptionLink) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\"\u003E" + (pug.escape(null == (pug_interp = translate('subscription')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003Cli class=\"divider hidden-xs hidden-sm\"\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cform method=\"POST\" action=\"\u002Flogout\"\u003E\u003Cinput" + (" name=\"_csrf\" type=\"hidden\""+pug.attr("value", csrfToken, true, true)) + "\u003E\u003Cbutton class=\"btn-link text-left dropdown-menu-button\"\u003E" + (pug.escape(null == (pug_interp = translate('log_out')) ? "" : pug_interp)) + "\u003C\u002Fbutton\u003E\u003C\u002Fform\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fdiv\u003E\u003C\u002Fnav\u003E"; +} +} +pug_html = pug_html + "\u003Cdiv class=\"content content-alt\" id=\"main-content\"\u003E\u003Cdiv class=\"container\"\u003E\u003Cdiv id=\"user-activate-register-container\"\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +if ((typeof suppressFooter === "undefined")) { +if (showThinFooter) { +pug_html = pug_html + "\u003Cfooter class=\"site-footer\"\u003E"; +var showLanguagePicker = Object.keys(settings.i18n.subdomainLang).length > 1 +var hasCustomLeftNav = nav.left_footer && nav.left_footer.length > 0 +pug_html = pug_html + "\u003Cdiv class=\"site-footer-content hidden-print\"\u003E\u003Cdiv class=\"row\"\u003E\u003Cul class=\"col-md-9\"\u003E"; +if (hasFeature('saas')) { +pug_html = pug_html + "\u003Cli\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fli\u003E"; +} +else +if (!settings.nav.hide_powered_by) { +pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (showLanguagePicker || hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +} +if (showLanguagePicker) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +if (showLanguagePicker && hasCustomLeftNav) { +pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; +} +// iterate nav.left_footer +;(function(){ + var $$obj = nav.left_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index13 = 0, $$l = $$obj.length; pug_index13 < $$l; pug_index13++) { + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index13 in $$obj) { + $$l++; + var item = $$obj[pug_index13]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)) + "\u003E" + (null == (pug_interp = translate(item.text)) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003Cul class=\"col-md-3 text-right\"\u003E"; +// iterate nav.right_footer +;(function(){ + var $$obj = nav.right_footer; + if ('number' == typeof $$obj.length) { + for (var pug_index14 = 0, $$l = $$obj.length; pug_index14 < $$l; pug_index14++) { + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } else { + var $$l = 0; + for (var pug_index14 in $$obj) { + $$l++; + var item = $$obj[pug_index14]; +pug_html = pug_html + "\u003Cli\u003E"; +if (item.url) { +pug_html = pug_html + "\u003Ca" + (pug.attr("class", pug.classes([item.class], [true]), false, true)+pug.attr("href", item.url, true, true)+pug.attr("aria-label", item.label, true, true)) + "\u003E" + (null == (pug_interp = item.text) ? "" : pug_interp) + "\u003C\u002Fa\u003E"; +} +else { +pug_html = pug_html + (null == (pug_interp = item.text) ? "" : pug_interp); +} +pug_html = pug_html + "\u003C\u002Fli\u003E"; + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +else { +pug_html = pug_html + "\u003Cfooter class=\"fat-footer hidden-print\"\u003E\u003Cdiv" + (" class=\"fat-footer-container\""+" role=\"navigation\""+pug.attr("aria-label", translate('footer_navigation'), true, true)) + "\u003E\u003Cdiv" + (pug.attr("class", pug.classes(["fat-footer-sections",hideFatFooter ? 'hidden' : undefined], [false,true]), false, true)) + "\u003E\u003Cdiv class=\"footer-section\" id=\"footer-brand\"\u003E\u003Ca" + (" class=\"footer-brand\""+" href=\"\u002F\""+pug.attr("aria-label", settings.appName, true, true)) + "\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('About')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_about_us')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fvalues\"\u003E" + (pug.escape(null == (pug_interp = translate('our_values')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fcareers\"\u003E" + (pug.escape(null == (pug_interp = translate('careers')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fpress\"\u003E" + (null == (pug_interp = translate('press_and_awards')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fblog\"\u003E" + (pug.escape(null == (pug_interp = translate('blog')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('learn')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FLearn_LaTeX_in_30_minutes\"\u003E" + (pug.escape(null == (pug_interp = translate('latex_in_thirty_minutes')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flatex\u002Ftemplates\"\u003E" + (pug.escape(null == (pug_interp = translate('templates')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fevents\u002Fwebinars\"\u003E" + (pug.escape(null == (pug_interp = translate('webinars')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTutorials\"\u003E" + (pug.escape(null == (pug_interp = translate('tutorials')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FInserting_Images\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_insert_images')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Flatex\u002FTables\"\u003E" + (pug.escape(null == (pug_interp = translate('how_to_create_tables')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (null == (pug_interp = translate('footer_plans_and_pricing')) ? "" : pug_interp) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\u002Fhow-to\u002FOverleaf_premium_features\"\u003E" + (pug.escape(null == (pug_interp = translate('premium_features')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-indv-groups\"\u003E" + (null == (pug_interp = translate('for_individuals_and_groups')) ? "" : pug_interp) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fenterprises\"\u003E" + (pug.escape(null == (pug_interp = translate('for_enterprise')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Funiversities\"\u003E" + (pug.escape(null == (pug_interp = translate('for_universities')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca data-ol-for-students-link href=\"\u002Fuser\u002Fsubscription\u002Fplans?itm_referrer=footer-for-students#student-annual\"\u003E" + (pug.escape(null == (pug_interp = translate('for_students')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fgovernment\"\u003E" + (pug.escape(null == (pug_interp = translate('for_government')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('get_involved')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Ffor\u002Fcommunity\u002Fadvisors\"\u003E" + (pug.escape(null == (pug_interp = translate('become_an_advisor')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fforms.gle\u002F67PSpN1bLnjGCmPQ9\"\u003E" + (pug.escape(null == (pug_interp = translate('let_us_know_what_you_think')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +if (user) { +pug_html = pug_html + "\u003Cli\u003E\u003Ca href=\"\u002Fbeta\u002Fparticipate\"\u003E" + (pug.escape(null == (pug_interp = translate('join_beta_program')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"footer-section\"\u003E\u003Ch2 class=\"footer-section-heading\"\u003E" + (pug.escape(null == (pug_interp = translate('help')) ? "" : pug_interp)) + "\u003C\u002Fh2\u003E\u003Cul class=\"list-unstyled\"\u003E\u003Cli\u003E\u003Ca href=\"\u002Fabout\u002Fwhy-latex\"\u003E" + (pug.escape(null == (pug_interp = translate('why_latex')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Flearn\"\u003E" + (pug.escape(null == (pug_interp = translate('Documentation')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"\u002Fcontact\"\u003E" + (pug.escape(null == (pug_interp = translate('footer_contact_us')) ? "" : pug_interp)) + " \u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ca href=\"https:\u002F\u002Fstatus.overleaf.com\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('website_status')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base\"\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-meta\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E \u003Cdiv class=\"fat-footer-base-copyright\"\u003E© " + (pug.escape(null == (pug_interp = new Date().getFullYear()) ? "" : pug_interp)) + " Overleaf\u003C\u002Fdiv\u003E\u003Ca href=\"\u002Flegal\"\u003E" + (pug.escape(null == (pug_interp = translate('privacy_and_terms')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Ca href=\"https:\u002F\u002Fwww.digital-science.com\u002Fsecurity-certifications\u002F\"\u003E" + (pug.escape(null == (pug_interp = translate('compliance')) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003Cul class=\"fat-footer-base-item list-unstyled fat-footer-base-language\"\u003E"; +if (bootstrapVersion === 5) { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-bs-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +let isActive = subdomainDetails.lngCode === currentLngCode +pug_html = pug_html + ("\u003Cli class=\"lng-option\"\u003E\u003Ca" + (pug.attr("class", pug.classes(["menu-indent",isActive ? 'dropdown-item active' : 'dropdown-item'], [false,true]), false, true)+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\""+pug.attr("aria-selected", isActive ? 'true' : 'false', true, true)) + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp))); +if (subdomainDetails.lngCode === currentLngCode) { +pug_html = pug_html + "\u003Cspan class=\"material-symbols dropdown-item-trailing-icon pull-right\" aria-hidden=\"true\"\u003Echeck\u003C\u002Fspan\u003E"; +} +pug_html = pug_html + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +else { +pug_html = pug_html + "\u003Cli class=\"dropdown dropup subdued language-picker\" dropdown\u003E\u003Ca" + (" class=\"dropdown-toggle\""+" id=\"language-picker-toggle\" href=\"#\""+pug.attr("dropdown-toggle", true, true, true)+pug.attr("data-ol-lang-selector-tooltip", true, true, true)+" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\""+pug.attr("aria-label", "Select " + translate('language'), true, true)+pug.attr("tooltip", translate('language'), true, true)+pug.attr("title", translate('language'), true, true)) + "\u003E\u003Ci class=\"fa fa-fw fa-language\"\u003E\u003C\u002Fi\u003E\n" + (pug.escape(null == (pug_interp = settings.translatedLanguages[currentLngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003Cul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language-picker-toggle\"\u003E\u003Cli class=\"dropdown-header\"\u003E" + (pug.escape(null == (pug_interp = translate("language")) ? "" : pug_interp)) + "\u003C\u002Fli\u003E"; +// iterate settings.i18n.subdomainLang +;(function(){ + var $$obj = settings.i18n.subdomainLang; + if ('number' == typeof $$obj.length) { + for (var subdomain = 0, $$l = $$obj.length; subdomain < $$l; subdomain++) { + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } else { + var $$l = 0; + for (var subdomain in $$obj) { + $$l++; + var subdomainDetails = $$obj[subdomain]; +if (!subdomainDetails.hide) { +pug_html = pug_html + "\u003Cli class=\"lng-option\"\u003E\u003Ca" + (" class=\"menu-indent\""+pug.attr("href", subdomainDetails.url+currentUrlWithQueryParams, true, true)+" role=\"menuitem\"") + "\u003E" + (pug.escape(null == (pug_interp = settings.translatedLanguages[subdomainDetails.lngCode]) ? "" : pug_interp)) + "\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; +} + } + } +}).call(this); + +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fli\u003E"; +} +pug_html = pug_html + "\u003C\u002Ful\u003E\u003C\u002Fdiv\u003E\u003Cdiv class=\"fat-footer-base-section fat-footer-base-social\"\u003E\u003Cdiv class=\"fat-footer-base-item\"\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Ftwitter.com\u002Foverleaf\"\u003E\u003Ci class=\"fa fa-twitter-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Twitter"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.facebook.com\u002Foverleaf.editor\"\u003E\u003Ci class=\"fa fa-facebook-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "Facebook"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003Ca class=\"fat-footer-social\" href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fwritelatex-limited\"\u003E\u003Ci class=\"fa fa-linkedin-square\" aria-hidden=\"true\"\u003E\u003C\u002Fi\u003E\u003Cdiv class=\"sr-only\"\u003E" + (pug.escape(null == (pug_interp = translate("app_on_x", {social: "LinkedIn"})) ? "" : pug_interp)) + "\u003C\u002Fdiv\u003E\u003C\u002Fa\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E\u003C\u002Ffooter\u003E"; +} +} +if ((typeof(suppressCookieBanner) == 'undefined')) { +pug_html = pug_html + "\u003Cdiv class=\"cookie-banner hidden-print hidden\"\u003E\u003Cdiv class=\"cookie-banner-content\"\u003EWe only use cookies for essential purposes and to improve your experience on our site. You can find out more in our \u003Ca href=\"\u002Flegal#Cookies\"\u003Ecookie policy\u003C\u002Fa\u003E.\u003C\u002Fdiv\u003E\u003Cdiv class=\"cookie-banner-actions\"\u003E\u003Cbutton class=\"btn btn-link btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"essential\"\u003EEssential cookies only\u003C\u002Fbutton\u003E\u003Cbutton class=\"btn btn-primary btn-sm\" type=\"button\" data-ol-cookie-banner-set-consent=\"all\"\u003EAccept all cookies\u003C\u002Fbutton\u003E\u003C\u002Fdiv\u003E\u003C\u002Fdiv\u003E"; +} +if (bootstrapVersion === 5) { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing-bootstrap-5", locals)) ? "" : pug_interp); +} +else { +pug_html = pug_html + (null == (pug_interp = moduleIncludes("contactModal-marketing", locals)) ? "" : pug_interp); +} +if ((settings.devToolbar.enabled)) { +pug_html = pug_html + "\u003Cdiv id=\"dev-toolbar\"\u003E\u003C\u002Fdiv\u003E"; +} +pug_html = pug_html + "\u003C\u002Fbody\u003E"; +pug_mixins["bootstrap-js"](bootstrapVersion); +pug_mixins["foot-scripts"](); +pug_html = pug_html + "\u003Cscript" + (" type=\"text\u002Fjavascript\""+pug.attr("nonce", scriptNonce, true, true)) + "\u003Ewindow.addEventListener('DOMContentLoaded', function() {\n\t\u002F\u002F- Look for bundle\n\tvar cdnBlocked = typeof Frontend === 'undefined'\n\t\u002F\u002F- Prevent loops\n\tvar noCdnAlreadyInUrl = window.location.href.indexOf(\"nocdn=true\") != -1\n\tif (cdnBlocked && !noCdnAlreadyInUrl && navigator.userAgent.indexOf(\"Googlebot\") == -1) {\n\t\t\u002F\u002F- Set query param, server will not set CDN url\n\t\twindow.location.search += \"&nocdn=true\";\n\t}\n})\u003C\u002Fscript\u003E\u003C\u002Fhtml\u003E"; + }.call(this, "Date" in locals_for_with ? + locals_for_with.Date : + typeof Date !== 'undefined' ? Date : undefined, "ExposedSettings" in locals_for_with ? + locals_for_with.ExposedSettings : + typeof ExposedSettings !== 'undefined' ? ExposedSettings : undefined, "Object" in locals_for_with ? + locals_for_with.Object : + typeof Object !== 'undefined' ? Object : undefined, "bootstrap5Override" in locals_for_with ? + locals_for_with.bootstrap5Override : + typeof bootstrap5Override !== 'undefined' ? bootstrap5Override : undefined, "brandVariation" in locals_for_with ? + locals_for_with.brandVariation : + typeof brandVariation !== 'undefined' ? brandVariation : undefined, "buildBaseAssetPath" in locals_for_with ? + locals_for_with.buildBaseAssetPath : + typeof buildBaseAssetPath !== 'undefined' ? buildBaseAssetPath : undefined, "buildCssPath" in locals_for_with ? + locals_for_with.buildCssPath : + typeof buildCssPath !== 'undefined' ? buildCssPath : undefined, "buildImgPath" in locals_for_with ? + locals_for_with.buildImgPath : + typeof buildImgPath !== 'undefined' ? buildImgPath : undefined, "buildJsPath" in locals_for_with ? + locals_for_with.buildJsPath : + typeof buildJsPath !== 'undefined' ? buildJsPath : undefined, "canDisplayAdminMenu" in locals_for_with ? + locals_for_with.canDisplayAdminMenu : + typeof canDisplayAdminMenu !== 'undefined' ? canDisplayAdminMenu : undefined, "canDisplayAdminRedirect" in locals_for_with ? + locals_for_with.canDisplayAdminRedirect : + typeof canDisplayAdminRedirect !== 'undefined' ? canDisplayAdminRedirect : undefined, "canDisplaySplitTestMenu" in locals_for_with ? + locals_for_with.canDisplaySplitTestMenu : + typeof canDisplaySplitTestMenu !== 'undefined' ? canDisplaySplitTestMenu : undefined, "canDisplaySurveyMenu" in locals_for_with ? + locals_for_with.canDisplaySurveyMenu : + typeof canDisplaySurveyMenu !== 'undefined' ? canDisplaySurveyMenu : undefined, "canRedirectToAdminDomain" in locals_for_with ? + locals_for_with.canRedirectToAdminDomain : + typeof canRedirectToAdminDomain !== 'undefined' ? canRedirectToAdminDomain : undefined, "csrfToken" in locals_for_with ? + locals_for_with.csrfToken : + typeof csrfToken !== 'undefined' ? csrfToken : undefined, "currentLngCode" in locals_for_with ? + locals_for_with.currentLngCode : + typeof currentLngCode !== 'undefined' ? currentLngCode : undefined, "currentUrl" in locals_for_with ? + locals_for_with.currentUrl : + typeof currentUrl !== 'undefined' ? currentUrl : undefined, "currentUrlWithQueryParams" in locals_for_with ? + locals_for_with.currentUrlWithQueryParams : + typeof currentUrlWithQueryParams !== 'undefined' ? currentUrlWithQueryParams : undefined, "deferScripts" in locals_for_with ? + locals_for_with.deferScripts : + typeof deferScripts !== 'undefined' ? deferScripts : undefined, "dictionariesRoot" in locals_for_with ? + locals_for_with.dictionariesRoot : + typeof dictionariesRoot !== 'undefined' ? dictionariesRoot : undefined, "enableUpgradeButton" in locals_for_with ? + locals_for_with.enableUpgradeButton : + typeof enableUpgradeButton !== 'undefined' ? enableUpgradeButton : undefined, "entrypoint" in locals_for_with ? + locals_for_with.entrypoint : + typeof entrypoint !== 'undefined' ? entrypoint : undefined, "entrypointScripts" in locals_for_with ? + locals_for_with.entrypointScripts : + typeof entrypointScripts !== 'undefined' ? entrypointScripts : undefined, "entrypointStyles" in locals_for_with ? + locals_for_with.entrypointStyles : + typeof entrypointStyles !== 'undefined' ? entrypointStyles : undefined, "fixedSizeDocument" in locals_for_with ? + locals_for_with.fixedSizeDocument : + typeof fixedSizeDocument !== 'undefined' ? fixedSizeDocument : undefined, "getCssThemeModifier" in locals_for_with ? + locals_for_with.getCssThemeModifier : + typeof getCssThemeModifier !== 'undefined' ? getCssThemeModifier : undefined, "getLoggedInUserId" in locals_for_with ? + locals_for_with.getLoggedInUserId : + typeof getLoggedInUserId !== 'undefined' ? getLoggedInUserId : undefined, "getSessionAnalyticsId" in locals_for_with ? + locals_for_with.getSessionAnalyticsId : + typeof getSessionAnalyticsId !== 'undefined' ? getSessionAnalyticsId : undefined, "getSessionUser" in locals_for_with ? + locals_for_with.getSessionUser : + typeof getSessionUser !== 'undefined' ? getSessionUser : undefined, "getUserEmail" in locals_for_with ? + locals_for_with.getUserEmail : + typeof getUserEmail !== 'undefined' ? getUserEmail : undefined, "hasAdminAccess" in locals_for_with ? + locals_for_with.hasAdminAccess : + typeof hasAdminAccess !== 'undefined' ? hasAdminAccess : undefined, "hasCustomLeftNav" in locals_for_with ? + locals_for_with.hasCustomLeftNav : + typeof hasCustomLeftNav !== 'undefined' ? hasCustomLeftNav : undefined, "hasFeature" in locals_for_with ? + locals_for_with.hasFeature : + typeof hasFeature !== 'undefined' ? hasFeature : undefined, "hideFatFooter" in locals_for_with ? + locals_for_with.hideFatFooter : + typeof hideFatFooter !== 'undefined' ? hideFatFooter : undefined, "isManagedAccount" in locals_for_with ? + locals_for_with.isManagedAccount : + typeof isManagedAccount !== 'undefined' ? isManagedAccount : undefined, "mathJaxPath" in locals_for_with ? + locals_for_with.mathJaxPath : + typeof mathJaxPath !== 'undefined' ? mathJaxPath : undefined, "metadata" in locals_for_with ? + locals_for_with.metadata : + typeof metadata !== 'undefined' ? metadata : undefined, "moduleIncludes" in locals_for_with ? + locals_for_with.moduleIncludes : + typeof moduleIncludes !== 'undefined' ? moduleIncludes : undefined, "nav" in locals_for_with ? + locals_for_with.nav : + typeof nav !== 'undefined' ? nav : undefined, "projectDashboardReact" in locals_for_with ? + locals_for_with.projectDashboardReact : + typeof projectDashboardReact !== 'undefined' ? projectDashboardReact : undefined, "scriptNonce" in locals_for_with ? + locals_for_with.scriptNonce : + typeof scriptNonce !== 'undefined' ? scriptNonce : undefined, "settings" in locals_for_with ? + locals_for_with.settings : + typeof settings !== 'undefined' ? settings : undefined, "showLanguagePicker" in locals_for_with ? + locals_for_with.showLanguagePicker : + typeof showLanguagePicker !== 'undefined' ? showLanguagePicker : undefined, "showThinFooter" in locals_for_with ? + locals_for_with.showThinFooter : + typeof showThinFooter !== 'undefined' ? showThinFooter : undefined, "splitTestInfo" in locals_for_with ? + locals_for_with.splitTestInfo : + typeof splitTestInfo !== 'undefined' ? splitTestInfo : undefined, "splitTestVariants" in locals_for_with ? + locals_for_with.splitTestVariants : + typeof splitTestVariants !== 'undefined' ? splitTestVariants : undefined, "suppressCookieBanner" in locals_for_with ? + locals_for_with.suppressCookieBanner : + typeof suppressCookieBanner !== 'undefined' ? suppressCookieBanner : undefined, "suppressFooter" in locals_for_with ? + locals_for_with.suppressFooter : + typeof suppressFooter !== 'undefined' ? suppressFooter : undefined, "suppressGoogleAnalytics" in locals_for_with ? + locals_for_with.suppressGoogleAnalytics : + typeof suppressGoogleAnalytics !== 'undefined' ? suppressGoogleAnalytics : undefined, "suppressNavContentLinks" in locals_for_with ? + locals_for_with.suppressNavContentLinks : + typeof suppressNavContentLinks !== 'undefined' ? suppressNavContentLinks : undefined, "suppressNavbar" in locals_for_with ? + locals_for_with.suppressNavbar : + typeof suppressNavbar !== 'undefined' ? suppressNavbar : undefined, "suppressNavbarRight" in locals_for_with ? + locals_for_with.suppressNavbarRight : + typeof suppressNavbarRight !== 'undefined' ? suppressNavbarRight : undefined, "suppressRelAlternateLinks" in locals_for_with ? + locals_for_with.suppressRelAlternateLinks : + typeof suppressRelAlternateLinks !== 'undefined' ? suppressRelAlternateLinks : undefined, "suppressSkipToContent" in locals_for_with ? + locals_for_with.suppressSkipToContent : + typeof suppressSkipToContent !== 'undefined' ? suppressSkipToContent : undefined, "title" in locals_for_with ? + locals_for_with.title : + typeof title !== 'undefined' ? title : undefined, "translate" in locals_for_with ? + locals_for_with.translate : + typeof translate !== 'undefined' ? translate : undefined, "user" in locals_for_with ? + locals_for_with.user : + typeof user !== 'undefined' ? user : undefined, "userRestrictions" in locals_for_with ? + locals_for_with.userRestrictions : + typeof userRestrictions !== 'undefined' ? userRestrictions : undefined, "userSettings" in locals_for_with ? + locals_for_with.userSettings : + typeof userSettings !== 'undefined' ? userSettings : undefined, "usersBestSubscription" in locals_for_with ? + locals_for_with.usersBestSubscription : + typeof usersBestSubscription !== 'undefined' ? usersBestSubscription : undefined)); + ;;return pug_html;} module.exports = template; \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-192x192.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-192x192.png new file mode 100644 index 0000000..b98a286 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-192x192.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-512x512.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-512x512.png new file mode 100644 index 0000000..d22f921 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/android-chrome-512x512.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/apple-touch-icon.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/apple-touch-icon.png new file mode 100644 index 0000000..f56aacb Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/apple-touch-icon.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-16x16.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-16x16.png new file mode 100644 index 0000000..95fcbe9 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-16x16.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-32x32.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-32x32.png new file mode 100644 index 0000000..1fb6892 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon-32x32.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.ico b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.ico new file mode 100644 index 0000000..6898af1 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.ico differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.svg new file mode 100644 index 0000000..02217fb --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/favicon.svg @@ -0,0 +1,7 @@ + + + hajtex-padded + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/logo-horizontal.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/logo-horizontal.png new file mode 100644 index 0000000..32fcc92 Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/logo-horizontal.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-black.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-black.svg new file mode 100644 index 0000000..d827f5b --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-black.svg @@ -0,0 +1,7 @@ + + + Artboard + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-green.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-green.svg new file mode 100644 index 0000000..9accdaf --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-green.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 7 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-dark.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-dark.svg new file mode 100644 index 0000000..59492fb --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-dark.svg @@ -0,0 +1,7 @@ + + + Artboard 2 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-grey.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-grey.svg new file mode 100644 index 0000000..71355b5 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-grey.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 6 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-white.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-white.svg new file mode 100644 index 0000000..0bb8daf --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o-white.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 5 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o.svg new file mode 100644 index 0000000..6c2cc62 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-o.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 3 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-white.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-white.svg new file mode 100644 index 0000000..eaa7d8f --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf-white.svg @@ -0,0 +1,8 @@ + + + Artboard 3 + + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf.svg new file mode 100644 index 0000000..3a98614 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf.svg @@ -0,0 +1,7 @@ + + + Artboard Copy 2 + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf_og_logo.png b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf_og_logo.png new file mode 100644 index 0000000..89ddf3f Binary files /dev/null and b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/img/ol-brand/overleaf_og_logo.png differ diff --git a/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/mask-favicon.svg b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/mask-favicon.svg new file mode 100644 index 0000000..e98f6c6 --- /dev/null +++ b/docker/features/hajtex-branding/5.2.1/overleaf/services/web/public/mask-favicon.svg @@ -0,0 +1,7 @@ + + + hajtex-padded-sw + + + + \ No newline at end of file diff --git a/docker/features/hajtex-branding/README.md b/docker/features/hajtex-branding/README.md new file mode 100644 index 0000000..1d03029 --- /dev/null +++ b/docker/features/hajtex-branding/README.md @@ -0,0 +1,17 @@ +# HajTeX Branding + +This adjustment changes the color scheme and logos used throughout Overleaf to represent HajTeX instead. + +Effectively, this changes how all of Overleaf looks. + +## Config options + +This feature cannot be configured or disabled through config options. + +## Installing + +To enable this feature, no other changes are required. + +## Uninstalling + +To remove this feature, just remove the respective commit from your build. No changes on the database or related code are required. diff --git a/docker/features/hajtex-branding/_intern/files.yaml b/docker/features/hajtex-branding/_intern/files.yaml new file mode 100644 index 0000000..1b71fbd --- /dev/null +++ b/docker/features/hajtex-branding/_intern/files.yaml @@ -0,0 +1,14 @@ +volumes: + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/modules/symbol-palette/index.mjs:/overleaf/services/web/modules/symbol-palette/index.mjs + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json:/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js:/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js diff --git a/docker/features/hajtex-branding/_prep/prep.sh b/docker/features/hajtex-branding/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/admin/index.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/admin/index.js.diff new file mode 100644 index 0000000..578008e --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/admin/index.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/admin/index.js 2024-12-11 19:57:12.824375071 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/admin/index.js 2024-12-11 00:47:11.580148778 +0000 +@@ -1121,7 +1121,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js.diff new file mode 100644 index 0000000..6994670 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js 2024-12-11 19:57:08.429427588 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/beta_program/opt_in.js 2024-12-11 00:47:11.567148930 +0000 +@@ -1043,7 +1043,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/404.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/404.js.diff new file mode 100644 index 0000000..1ee6f8a --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/404.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/404.js 2024-12-11 19:57:15.042348568 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/general/404.js 2024-12-11 00:47:11.587148695 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/closed.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/closed.js.diff new file mode 100644 index 0000000..9052b12 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/closed.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/closed.js 2024-12-11 19:57:19.484295489 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/general/closed.js 2024-12-11 00:47:11.601148531 +0000 +@@ -1030,7 +1030,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/post-gateway.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/post-gateway.js.diff new file mode 100644 index 0000000..3152a0a --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/general/post-gateway.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/general/post-gateway.js 2024-12-11 19:57:17.202322757 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/general/post-gateway.js 2024-12-11 00:47:11.594148613 +0000 +@@ -1046,7 +1046,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug.diff new file mode 100644 index 0000000..5afd7ef --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug 2024-12-11 19:57:10.654401001 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/layout/footer-marketing.pug 2024-12-11 00:47:11.573148860 +0000 +@@ -11,7 +11,7 @@ + //- year of Server Pro release, static + | © 2024 + | +- a(href='https://www.overleaf.com/for/enterprises') Powered by Overleaf ++ a(href='https://github.com/HajTeX/HajTeX') Powered by HajTex + + if showLanguagePicker || hasCustomLeftNav + li diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js.diff new file mode 100644 index 0000000..36e91d7 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js 2024-12-11 19:58:24.513518442 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/editor/new_from_template.js 2024-12-11 00:47:11.778146450 +0000 +@@ -1030,7 +1030,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js.diff new file mode 100644 index 0000000..09728d5 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js 2024-12-11 19:58:17.739599384 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/ide-react-detached.js 2024-12-11 00:47:11.792146285 +0000 +@@ -610,7 +610,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react.js.diff new file mode 100644 index 0000000..145a7d4 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/ide-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/ide-react.js 2024-12-11 19:58:27.066487936 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/ide-react.js 2024-12-11 00:47:11.799146203 +0000 +@@ -612,7 +612,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js.diff new file mode 100644 index 0000000..76e9bfd --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js 2024-12-11 19:58:11.009679801 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/invite/not-valid.js 2024-12-11 00:47:11.750146779 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/show.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/show.js.diff new file mode 100644 index 0000000..c88394e --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/invite/show.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/invite/show.js 2024-12-11 19:58:13.223653346 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/invite/show.js 2024-12-11 00:47:11.757146697 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/list-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/list-react.js.diff new file mode 100644 index 0000000..5a88de8 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/list-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/list-react.js 2024-12-11 19:58:15.459626628 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/list-react.js 2024-12-11 00:47:11.785146368 +0000 +@@ -611,7 +611,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/access-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/access-react.js.diff new file mode 100644 index 0000000..0d79dbe --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/access-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/access-react.js 2024-12-11 19:58:20.144570647 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/token/access-react.js 2024-12-11 00:47:11.764146615 +0000 +@@ -1026,7 +1026,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js.diff new file mode 100644 index 0000000..1a8adcc --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js 2024-12-11 19:58:22.314544717 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/project/token/sharing-updates.js 2024-12-11 00:47:11.771146532 +0000 +@@ -1026,7 +1026,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/referal/bonus.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/referal/bonus.js.diff new file mode 100644 index 0000000..ca4fff2 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/referal/bonus.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/referal/bonus.js 2024-12-11 19:58:29.442459545 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/referal/bonus.js 2024-12-11 00:47:11.806146121 +0000 +@@ -1052,7 +1052,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js.diff new file mode 100644 index 0000000..f2d1c4b --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js 2024-12-11 19:58:42.936298306 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/canceled-subscription-react.js 2024-12-11 00:47:11.877145286 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js.diff new file mode 100644 index 0000000..e2e0011 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js 2024-12-11 19:58:40.690325143 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/dashboard-react.js 2024-12-11 00:47:11.870145369 +0000 +@@ -1029,7 +1029,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js.diff new file mode 100644 index 0000000..50fe20a --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js 2024-12-11 19:58:36.120379750 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment-light-design.js 2024-12-11 00:47:11.855145545 +0000 +@@ -1350,7 +1350,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js.diff new file mode 100644 index 0000000..fb2b2d4 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js 2024-12-11 19:58:45.144271923 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/interstitial-payment.js 2024-12-11 00:47:11.885145192 +0000 +@@ -1730,7 +1730,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js.diff new file mode 100644 index 0000000..2a17f39 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js 2024-12-11 19:58:33.859406767 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/plans-light-design.js 2024-12-11 00:47:11.848145627 +0000 +@@ -1438,7 +1438,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js.diff new file mode 100644 index 0000000..09b4797 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/plans.js 2024-12-11 19:58:38.492351407 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/plans.js 2024-12-11 00:47:11.863145451 +0000 +@@ -1790,7 +1790,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js.diff new file mode 100644 index 0000000..edb133c --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js 2024-12-11 19:58:31.609433652 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/successful-subscription-react.js 2024-12-11 00:47:11.841145709 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js.diff new file mode 100644 index 0000000..8e6b3f2 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js 2024-12-11 19:58:47.426244656 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/team/group-invites.js 2024-12-11 00:47:11.813146039 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js.diff new file mode 100644 index 0000000..dde2eec --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js 2024-12-11 19:58:52.096188854 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/team/invite-managed.js 2024-12-11 00:47:11.827145874 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js.diff new file mode 100644 index 0000000..2479a91 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js 2024-12-11 19:58:54.286162686 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/team/invite.js 2024-12-11 00:47:11.834145792 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js.diff new file mode 100644 index 0000000..d31df98 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js 2024-12-11 19:58:49.756216815 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/subscriptions/team/invite_logged_out.js 2024-12-11 00:47:11.820145956 +0000 +@@ -1033,7 +1033,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js.diff new file mode 100644 index 0000000..693ccf2 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/accountSuspended.js 2024-12-11 19:57:52.345902817 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/accountSuspended.js 2024-12-11 00:47:11.695147426 +0000 +@@ -1026,7 +1026,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js.diff new file mode 100644 index 0000000..367e67b --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js 2024-12-11 19:57:47.669958691 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/addSecondaryEmail.js 2024-12-11 00:47:11.682147579 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/compromised_password.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/compromised_password.js.diff new file mode 100644 index 0000000..676ade2 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/compromised_password.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/compromised_password.js 2024-12-11 19:57:54.561876338 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/compromised_password.js 2024-12-11 00:47:11.702147343 +0000 +@@ -1026,7 +1026,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js.diff new file mode 100644 index 0000000..6c9535a --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js 2024-12-11 19:57:40.598043195 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/confirmSecondaryEmail.js 2024-12-11 00:47:11.662147814 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirm_email.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirm_email.js.diff new file mode 100644 index 0000000..2aa5cc0 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/confirm_email.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/confirm_email.js 2024-12-11 19:57:59.325819413 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/confirm_email.js 2024-12-11 00:47:11.715147191 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/email-preferences.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/email-preferences.js.diff new file mode 100644 index 0000000..010c9a1 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/email-preferences.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/email-preferences.js 2024-12-11 19:57:56.931848019 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/email-preferences.js 2024-12-11 00:47:11.709147261 +0000 +@@ -1052,7 +1052,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.js.diff new file mode 100644 index 0000000..06dde32 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/login.js 2024-12-11 19:57:33.676125907 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/login.js 2024-12-11 00:47:11.641148060 +0000 +@@ -1035,7 +1035,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/one_time_login.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/one_time_login.js.diff new file mode 100644 index 0000000..db38947 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/one_time_login.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/one_time_login.js 2024-12-11 19:58:06.362735328 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/one_time_login.js 2024-12-11 00:47:11.736146944 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/passwordReset.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/passwordReset.js.diff new file mode 100644 index 0000000..998e038 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/passwordReset.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/passwordReset.js 2024-12-11 19:57:45.351986389 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/passwordReset.js 2024-12-11 00:47:11.675147661 +0000 +@@ -1047,7 +1047,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js.diff new file mode 100644 index 0000000..a3790ec --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js 2024-12-11 19:58:08.692707487 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/primaryEmailCheck.js 2024-12-11 00:47:11.743146861 +0000 +@@ -1025,7 +1025,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/reconfirm.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/reconfirm.js.diff new file mode 100644 index 0000000..6b30c3b --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/reconfirm.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/reconfirm.js 2024-12-11 19:57:38.262071108 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/reconfirm.js 2024-12-11 00:47:11.655147896 +0000 +@@ -1038,7 +1038,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/register.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/register.js.diff new file mode 100644 index 0000000..1ff3aa1 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/register.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/register.js 2024-12-11 19:58:03.965763970 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/register.js 2024-12-11 00:47:11.729147026 +0000 +@@ -1031,7 +1031,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/restricted.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/restricted.js.diff new file mode 100644 index 0000000..686768b --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/restricted.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/restricted.js 2024-12-11 19:58:01.681791261 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/restricted.js 2024-12-11 00:47:11.722147108 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/sessions.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/sessions.js.diff new file mode 100644 index 0000000..c62569e --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/sessions.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/sessions.js 2024-12-11 19:57:50.060930121 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/sessions.js 2024-12-11 00:47:11.689147496 +0000 +@@ -1053,7 +1053,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/setPassword.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/setPassword.js.diff new file mode 100644 index 0000000..97377d1 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/setPassword.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/setPassword.js 2024-12-11 19:57:42.947015127 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/setPassword.js 2024-12-11 00:47:11.669147731 +0000 +@@ -1056,7 +1056,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/settings.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/settings.js.diff new file mode 100644 index 0000000..3668e77 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user/settings.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/settings.js 2024-12-11 19:57:35.979098388 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/settings.js 2024-12-11 00:47:11.648147978 +0000 +@@ -603,7 +603,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js.diff new file mode 100644 index 0000000..9700aa8 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js 2024-12-11 19:57:26.841207579 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user_membership/group-managers-react.js 2024-12-11 00:47:11.621148296 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js.diff new file mode 100644 index 0000000..4fa514f --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js 2024-12-11 19:57:21.766268221 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user_membership/group-members-react.js 2024-12-11 00:47:11.607148460 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js.diff new file mode 100644 index 0000000..8b7eb06 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js 2024-12-11 19:57:29.208179296 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user_membership/institution-managers-react.js 2024-12-11 00:47:11.627148225 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/new.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/new.js.diff new file mode 100644 index 0000000..6559f97 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/new.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/new.js 2024-12-11 19:57:31.412152960 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user_membership/new.js 2024-12-11 00:47:11.634148143 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js.diff new file mode 100644 index 0000000..0c18ca9 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js 2024-12-11 19:57:24.177239412 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user_membership/publisher-managers-react.js 2024-12-11 00:47:11.614148378 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less.diff new file mode 100644 index 0000000..2528fef --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less.diff @@ -0,0 +1,96 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less 2024-12-11 19:56:25.068945720 +0000 ++++ ../5.2.1/overleaf/services/web/frontend/stylesheets/variables/colors.less 2024-12-01 18:28:29.000000000 +0000 +@@ -1,51 +1,56 @@ + // ====== Color Palette ====== + // Neutral ++/* HajTeX: Ink */ + @white: #ffffff; +-@neutral-10: #f4f5f6; +-@neutral-20: #e7e9ee; +-@neutral-30: #d0d5dd; +-@neutral-40: #afb5c0; +-@neutral-50: #8d96a5; +-@neutral-60: #677283; +-@neutral-70: #495365; +-@neutral-80: #2f3a4c; +-@neutral-90: #1b222c; ++@neutral-10: #e5e5e8; ++@neutral-20: #cdccd3; ++@neutral-30: #b3b2bc; ++@neutral-40: #9b99a6; ++@neutral-50: #817f90; ++@neutral-60: #68667a; ++@neutral-70: #4f4c63; ++@neutral-80: #36334d; ++@neutral-90: #1d1937; + + // Green +-@green-10: #eaf6ef; +-@green-20: #b8dbc8; +-@green-30: #86caa5; +-@green-40: #53b57f; +-@green-50: #098842; +-@green-60: #1e6b41; +-@green-70: #195936; ++/* HajTeX: Teal (offset by 10 to be lighter) */ ++@green-10: #cdf0ee; ++@green-20: #9be1dd; ++@green-30: #68d3cb; ++@green-40: #36c4ba; ++@green-50: #04b5a9; ++@green-60: #039187; ++@green-70: #026d65; + + // Blue +-@blue-10: #f1f4f9; +-@blue-20: #c3d0e3; +-@blue-30: #97b6e5; +-@blue-40: #6597e0; +-@blue-50: #3265b2; +-@blue-60: #28518f; +-@blue-70: #214475; ++/* HajTeX: Blue */ ++@blue-10: #a7cdfb; ++@blue-20: #a7cdfb; ++@blue-30: #7ab5f8; ++@blue-40: #4e9cf6; ++@blue-50: #2283f4; ++@blue-60: #1b69c3; ++@blue-70: #0e3462; + + // Red +-@red-10: #f9f1f1; +-@red-20: #f5beba; +-@red-30: #e59d9a; +-@red-40: #e36d66; +-@red-50: #b83a33; +-@red-60: #942f2a; +-@red-70: #782722; ++/* HajTeX: Pink */ ++@red-10: #fae2ef; ++@red-20: #f5c4e0; ++@red-30: #efa7d0; ++@red-40: #ea89c1; ++@red-50: #e56cb1; ++@red-60: #b7568e; ++@red-70: #89416a; + + // Yellow +-@yellow-10: #fcf1e3; +-@yellow-20: #fcc483; +-@yellow-30: #f7a445; +-@yellow-40: #de8014; +-@yellow-50: #8f5514; +-@yellow-60: #7a4304; +-@yellow-70: #633a0b; ++/* HajTeX: Orange */ ++@yellow-10: #fdead3; ++@yellow-20: #fbd4a7; ++@yellow-30: #f8bf7a; ++@yellow-40: #f6a94e; ++@yellow-50: #f49422; ++@yellow-60: #c3761b; ++@yellow-70: #925914; + + // ====== Commonly used variable names ====== + // (all should be based on color palette above) diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/cs.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/cs.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/da.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/da.json.diff new file mode 100644 index 0000000..723bec6 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/da.json.diff @@ -0,0 +1,432 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/da.json 2024-12-11 19:56:38.684783018 +0000 ++++ ../5.2.1/overleaf/services/web/locales/da.json 2024-12-01 18:28:29.000000000 +0000 +@@ -37,7 +37,7 @@ + "account_not_linked_to_dropbox": "Din konto er ikke forbundet til Dropbox", + "account_settings": "Kontoindstillinger", + "account_with_email_exists": "Det ser ud til at en __appName__-konto med e-mailaddressen __email__ allerede eksisterer.", +- "acct_linked_to_institution_acct_2": "Du kan <0>logge ind i Overleaf igennem din institutionelle indlogning fra <0>__institutionName__.", ++ "acct_linked_to_institution_acct_2": "Du kan <0>logge ind i HajTeX igennem din institutionelle indlogning fra <0>__institutionName__.", + "actions": "Handliger", + "activate": "Aktiver", + "activate_account": "Aktiver din konto", +@@ -93,7 +93,7 @@ + "anyone_with_link_can_view": "Alle med dette link kan se dette projekt", + "app_on_x": "__appName__ på __social__", + "apply_educational_discount": "Anvend studierabat", +- "apply_educational_discount_info": "Overleaf tilbyder 40% studierabat for grupper på 10 eller flere. Gælder for studerende eller fakultet som bruger Overleaf til undervisning.", ++ "apply_educational_discount_info": "HajTeX tilbyder 40% studierabat for grupper på 10 eller flere. Gælder for studerende eller fakultet som bruger HajTeX til undervisning.", + "april": "April", + "archive": "Arkivér", + "archive_projects": "Arkivér projekter", +@@ -215,7 +215,7 @@ + "collaborate_online_and_offline": "Samarbejd online og offline, med dit eget workflow", + "collaboration": "Samarbejde", + "collaborator": "Samarbejdspartner", +- "collabratec_account_not_registered": "IEEE Collabratec™ konto er ikke registeret. Forbind til Overleaf from IEEE Collabratec™ eller log ind med en anden konto.", ++ "collabratec_account_not_registered": "IEEE Collabratec™ konto er ikke registeret. Forbind til HajTeX from IEEE Collabratec™ eller log ind med en anden konto.", + "collabs_per_proj": "__collabcount__ samarbejdspartnere per projekt", + "collabs_per_proj_single": "__collabcount__ samarbejdspartnere per projekt", + "collapse": "Fold sammen", +@@ -284,7 +284,7 @@ + "currently_seeing_only_24_hrs_history": "Du ser nu på de sidste 24 timers ændringer i dette projekt.", + "currently_subscribed_to_plan": "Du abonnerer pt. på <0>__planName__ abonnementet.", + "custom_resource_portal": "Brugerdefineret ressource portal", +- "custom_resource_portal_info": "Du kan få din egen brugerdefinerede ressource portal på Overleaf. Dette er et fantastisk sted for dine brugere at finde ud af mere om Overleaf, tilgå projekt-skabeloner, ofte stillede spørgsmål, hjælperessourcer samt oprette en konto hos Overleaf.", ++ "custom_resource_portal_info": "Du kan få din egen brugerdefinerede ressource portal på HajTeX. Dette er et fantastisk sted for dine brugere at finde ud af mere om HajTeX, tilgå projekt-skabeloner, ofte stillede spørgsmål, hjælperessourcer samt oprette en konto hos HajTeX.", + "customize": "Tilpas", + "customize_your_group_subscription": "Tilpas dit gruppeabonnement", + "customize_your_plan": "Tilpas dit abonnement", +@@ -296,7 +296,7 @@ + "dealing_with_errors": "Fejlhåndtering", + "december": "December", + "dedicated_account_manager": "Dedikeret account-manager", +- "dedicated_account_manager_info": "Vores Account-Management hold vil være tilgængelige til at hjælpe med forespørgseler, spørgsmål og til at hjælpe dig med at sprede ordet om Overleaf med reklamemateriale, træningsmateriale samt webinars.", ++ "dedicated_account_manager_info": "Vores Account-Management hold vil være tilgængelige til at hjælpe med forespørgseler, spørgsmål og til at hjælpe dig med at sprede ordet om HajTeX med reklamemateriale, træningsmateriale samt webinars.", + "default": "Standard", + "delete": "Slet", + "delete_account": "Slet konto", +@@ -343,15 +343,15 @@ + "drag_here": "træk her", + "drag_here_paste_an_image_or": "Træk filer her, slip et billede, eller ", + "drop_files_here_to_upload": "Slip filer her for at uploade", +- "dropbox_already_linked_error": "Kan ikke forbinde til din Dropbox-konto, fordi den allerede er forbundet til en anden Overleaf-konto.", +- "dropbox_already_linked_error_with_email": "Din Dropbox-konto kan ikke kædes sammen, fordi den allerede er kædet sammen med en anden Overleaf-konto, som bruger adressen __otherUsersEmail__.", ++ "dropbox_already_linked_error": "Kan ikke forbinde til din Dropbox-konto, fordi den allerede er forbundet til en anden HajTeX-konto.", ++ "dropbox_already_linked_error_with_email": "Din Dropbox-konto kan ikke kædes sammen, fordi den allerede er kædet sammen med en anden HajTeX-konto, som bruger adressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kigger efter opdateringer i Dropbox", + "dropbox_duplicate_names_error": "Din Dropbox-konto kan ikke kobles til, fordi du har mere end et projekt med det samme navn: ", + "dropbox_duplicate_project_names": "Din Dropbox-konto er blevet koblet fra, fordi du har mere end ét projekt, som hedder <0>“__projectName__”.", + "dropbox_duplicate_project_names_suggestion": "Hvis du sørger for, at alle dine projektnavne, for både <0>aktive, arkiverede og kasserede projekter, er unikke, kan du genoprette sammenkædningen med din Dropbox-konto.", + "dropbox_email_not_verified": "Vi har ikke kunnet hente opdateringer fra din Dropbox-konto. Dropbox rapporterer, at din e-mailadresse ikke er bekræftet. For at løse dette, må du bekræfte din e-mailadresse overfor Dropbox.", + "dropbox_for_link_share_projs": "Du har adgang til dette projekt via link-deling, og det kan derfor ikke synkroniseres til din Dropbox medmindre du bliver inviteret via e-mail af projektets ejer.", +- "dropbox_integration_info": "Arbejd online og offline problemfrit med to-vejs Dropbox synkronisering. Ændringer du foretager lokalt vil automatisk blive sendt til Overleaf-versionen og vice versa.", ++ "dropbox_integration_info": "Arbejd online og offline problemfrit med to-vejs Dropbox synkronisering. Ændringer du foretager lokalt vil automatisk blive sendt til HajTeX-versionen og vice versa.", + "dropbox_integration_lowercase": "Dropbox-integration", + "dropbox_successfully_linked_description": "Tak, vi har linket din Dropboxkonto til __appName__.", + "dropbox_sync": "Dropbox synkronisering", +@@ -363,9 +363,9 @@ + "dropbox_sync_now_running": "En manuel synkronisering er startet i baggrunden. Giv den venligst et par minutter til at gennemføres.", + "dropbox_sync_out": "Sender opdateringer til Dropbox", + "dropbox_sync_troubleshoot": "Er dine ændringer ikke synlige i Dropbox? Vent venligst et par minutter. Hvis ændringerne stadig ikke dukker op kan du <0>synkronisere projektet nu.", +- "dropbox_synced": "Overleaf og Dropbox har behandlet alle opdateringer. Vær opmærksom på, at din lokale Dropbox muligvis stadig er ved at synkronisere.", +- "dropbox_unlinked_because_access_denied": "Din Dropbox-konto er blevet kædet fra, fordi Dropbox afviste dine gemte legitimationsoplysninger. For at blive ved med at bruge Dropbox sammen med Overleaf må du sammenkæde dine kontoer igen.", +- "dropbox_unlinked_because_full": "Din Dropbox-konto er blevet kædet fra, fordi den er fuld, og vi kan ikke længere sende opdateringer til den. For at blive ved med at bruge Dropbox sammen med Overleaf må du frigøre noget plads i Dropbox, og derefter sammenkæde dine kontoer igen.", ++ "dropbox_synced": "HajTeX og Dropbox har behandlet alle opdateringer. Vær opmærksom på, at din lokale Dropbox muligvis stadig er ved at synkronisere.", ++ "dropbox_unlinked_because_access_denied": "Din Dropbox-konto er blevet kædet fra, fordi Dropbox afviste dine gemte legitimationsoplysninger. For at blive ved med at bruge Dropbox sammen med HajTeX må du sammenkæde dine kontoer igen.", ++ "dropbox_unlinked_because_full": "Din Dropbox-konto er blevet kædet fra, fordi den er fuld, og vi kan ikke længere sende opdateringer til den. For at blive ved med at bruge Dropbox sammen med HajTeX må du frigøre noget plads i Dropbox, og derefter sammenkæde dine kontoer igen.", + "dropbox_unlinked_premium_feature": "<0>Din Dropboxkonto er blevet afkoblet, fordi Dropbox Synkronisering er en Premium-funktion, som du havde adgang til igennem en institutionel licens.", + "duplicate_file": "Duplikér fil", + "duplicate_projects": "Denne bruger har projekter med identiske navne", +@@ -385,8 +385,8 @@ + "editor_theme": "Tema for skrivevinduet", + "educational_discount_applied": "40% studierabat anvendt!", + "educational_discount_available_for_groups_of_ten_or_more": "Studierabatten er tilgængelig for grupper af 10 eller flere", +- "educational_discount_disclaimer": "Denne license er for studiemæssig benyttelse (gælder for studerende eller fakultet som bruger Overleaf til undervisning)", +- "educational_discount_for_groups_of_ten_or_more": "Overleaf tilbyder 40% studierabat for grupper af 10 eller flere.", ++ "educational_discount_disclaimer": "Denne license er for studiemæssig benyttelse (gælder for studerende eller fakultet som bruger HajTeX til undervisning)", ++ "educational_discount_for_groups_of_ten_or_more": "HajTeX tilbyder 40% studierabat for grupper af 10 eller flere.", + "educational_discount_for_groups_of_x_or_more": "Studierabatten er tilgængelig for grupper af __size__ eller flere", + "educational_percent_discount_applied": "__percent__% studierabat anvendt!", + "email": "E-mail", +@@ -427,21 +427,21 @@ + "faq_change_plans_or_cancel_question": "Kan jeg ændre abonnement eller afmelde senere?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan være på hvilket som helst abonnement, inklusiv det gratis abonnement. Hvis du er på et Premium-abonnement, vil nogle Premium-funktioner være tilgængelige for dine samarbejdspartnere i de projekter du har oprettet, selvom de er på det gratis abonnement. For mere information kan du læse om <0>konti og abonnementer og <1>hvordan Premium-funktioner virker.", + "faq_do_collab_need_on_paid_plan_question": "Skal mine samarbejdspartnere også være på et betalt abonnement?", +- "faq_how_does_a_group_plan_work_answer": "Gruppeabonnementer er en måde at opgradere mere end én Overleaf konto. De er nemme at administrere, hjælper med at nedbringe papirarbejdet, og reducerer omkostningen ved at forbundet med at købe flere individuelle abonnementer. For at lære kan du læse om at <0>blive tilknyttet et gruppeabonnement og <1>adminstrering af gruppeabonnement. Du kan købe gruppeabonnementer ovenfor, eller ved at <2>kontakte os.", ++ "faq_how_does_a_group_plan_work_answer": "Gruppeabonnementer er en måde at opgradere mere end én HajTeX konto. De er nemme at administrere, hjælper med at nedbringe papirarbejdet, og reducerer omkostningen ved at forbundet med at købe flere individuelle abonnementer. For at lære kan du læse om at <0>blive tilknyttet et gruppeabonnement og <1>adminstrering af gruppeabonnement. Du kan købe gruppeabonnementer ovenfor, eller ved at <2>kontakte os.", + "faq_how_does_a_group_plan_work_question": "Hvordan fungerer et gruppeabonnement? Hvordan tilføjer jeg medlemmer til abonnementet?", + "faq_how_does_free_trial_works_answer": "Du får fuld adgang til det valgte __appName__ Premium abonnement i din __len__-dages prøveperiode. Der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. Du kan afmelde via dine abonnementsindstillinger.", + "faq_how_free_trial_works_answer_v2": "Du får fuld adgang til dit valgte Premium abonnement i din __len__-dages prøveperiode, og der er ingen tvang til at fortsætte efter prøveperioden. Dit betalingskort bliver opkrævet ved slutningen af prøveperioden medmindre du afmelder før dette. For at atmelde skal du gå til dine abonnementsindstillinger i din konto (prøveperioden fortsætter i den fulde __len__-dages periode).", + "faq_how_free_trial_works_question": "Hvordan fungerer den gratis prøveperiode?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I Overleaf opretter og administrerer hver bruger deres egen Overleaf konto. De fleste brugere starter med en gratis konto, men kan opgradere og nyde Premium-funktioner ved at abonnere, tilknytte sig et gruppeabonnement eller ved at tilknytte sig et <0>Commons abonnement. Når du køber, tilknyttes eller forlader et abonnement, kan du stadig bruge den samme Overleaf konto.", +- "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "For at finde ud af mere kan du læse om <0>hvordan konti og abonnementer arbejder sammen i Overleaf.", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I HajTeX opretter og administrerer hver bruger deres egen HajTeX konto. De fleste brugere starter med en gratis konto, men kan opgradere og nyde Premium-funktioner ved at abonnere, tilknytte sig et gruppeabonnement eller ved at tilknytte sig et <0>Commons abonnement. Når du køber, tilknyttes eller forlader et abonnement, kan du stadig bruge den samme HajTeX konto.", ++ "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "For at finde ud af mere kan du læse om <0>hvordan konti og abonnementer arbejder sammen i HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "Jeg har en gratis konto og jeg vil gerne tilknyttes et abonnement. Hvordan gør jeg det?", + "faq_pay_by_invoice_answer_v2": "Ja hvis du vil købe et gruppeabonnement med fem eller flere brugere, eller en organisationsdækkende licens. For individuelle abonnement kan vi kun modtage betalinger online via betalingskort eller PayPal.", + "faq_pay_by_invoice_question": "Kan jeg betale via faktura?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nej. Kun abonnentens konto bliver opgraderet. Et individuel Standard abonnement tillader dig at invitere 10 samarbejdspartnere til hvert projekt som er ejet af dig.", + "faq_the_individual_standard_plan_10_collab_question": "Det individuelle Standard abonnement har 10 projektsamarbejdspartnere. Betyder det at 10 mennesker bliver opgraderet?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Mens de arbejder på et projekt som du, en abonnement, deler med dem vil dine samarbejdspartnere få adgang til nogle Premium-funktioner såsom fuld ændringshistorik, samt forhøjet kompileringstidsgrænse for det bestemte projekt. At invitere dem til et bestemt projekt opgraderer dog ikke deres konto som helhed. Læs mere om <0>hvilke funktioner er per-projekt og hvilke der er per-konto.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I Overleaf opretter hver bruger deres egen konto. Du kan oprette projekter som kun du kan arbejde på, og du kan også invitere andre til at se eller samarbejde på projekter du ejer. Brugere som du deler dit projekt med kaldes <0>samarbejdspartnere. Nogle gange refererer vi til dem som projektsamarbejdspartnere.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Med andre ord, samarbejdspartnere er blot andre Overleaf brugere som du arbejder sammen med på et af dine projekter.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I HajTeX opretter hver bruger deres egen konto. Du kan oprette projekter som kun du kan arbejde på, og du kan også invitere andre til at se eller samarbejde på projekter du ejer. Brugere som du deler dit projekt med kaldes <0>samarbejdspartnere. Nogle gange refererer vi til dem som projektsamarbejdspartnere.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Med andre ord, samarbejdspartnere er blot andre HajTeX brugere som du arbejder sammen med på et af dine projekter.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Hvad er forskellen mellem brugere og samarbejdspartnere?", + "fast": "Hurtig", + "feature_included": "Funktion inkluderet", +@@ -495,7 +495,7 @@ + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox og historik", + "free_plan_label": "Du er på det gratis abonnement", +- "free_plan_tooltip": "Klik for at finde ud af hvordan du kan drage fordel af Overleaf Premium-funktioner.", ++ "free_plan_tooltip": "Klik for at finde ud af hvordan du kan drage fordel af HajTeX Premium-funktioner.", + "from_another_project": "Fra andet projekt", + "from_external_url": "Fra ekstern URL", + "from_provider": "Fra __provider__", +@@ -529,31 +529,31 @@ + "git_bridge_modal_see_once": "Du kan kun se denne autentificeringsnøgle én gang. For at slette den eller generere en ny, gå til dine brugerindstilinger. For detalerede instruktioner og fejlsøgning, læs vores <0>hjælpeside.", + "git_bridge_modal_use_previous_token": "Hvis du bliver spurgt om en kode kan du bruge en tidligere genereret autentificeringsnøgle. Du kan også generere en ny i dine kontoindstillinger. For mere hjælp, læs vores <0>hjælpeside.", + "git_integration": "Git-integration", +- "git_integration_info": "Med Git-integration kan du klone dine Overleaf projekter med Git. For komplette instruktioner til hvordan du gør det, læs vores <0>hjælpeside.", ++ "git_integration_info": "Med Git-integration kan du klone dine HajTeX projekter med Git. For komplette instruktioner til hvordan du gør det, læs vores <0>hjælpeside.", + "git_integration_lowercase": "Git-integration", +- "git_integration_lowercase_info": "Du kan klone dit Overleaf projekt til et lokalt repository, og behandle Overleaf som et remote repository, som du kan pushe og pulle fra.", ++ "git_integration_lowercase_info": "Du kan klone dit HajTeX projekt til et lokalt repository, og behandle HajTeX som et remote repository, som du kan pushe og pulle fra.", + "github_commit_message_placeholder": "Commit besked for ændringer i __appName__...", + "github_credentials_expired": "Dine GitHub autentificeringsoplysninger er udløbet", + "github_file_name_error": "Dette repository kan ikke importeres, fordi det indeholder en eller flere filer med et ugyldigt filnavn:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- og <0>Dropbox-integrationer", +- "github_git_folder_error": "Dette projekt indeholder en .git mappe i den yderste mappe, hvilket indikerer at det allerede er et Git repository. Overleaf GitHub synkroniseringen kan ikke synkronisere Git historikker. Fjern venligst .git mappen og prøv igen.", ++ "github_git_folder_error": "Dette projekt indeholder en .git mappe i den yderste mappe, hvilket indikerer at det allerede er et Git repository. HajTeX GitHub synkroniseringen kan ikke synkronisere Git historikker. Fjern venligst .git mappen og prøv igen.", + "github_integration_lowercase": "Git- og GitHub-integration", + "github_is_premium": "GitHub synkronisering er en Premium-funktion", + "github_large_files_error": "Merge mislykkedes: Dit GitHub reopsitory indeholder filer, som er større end grænsen på 50MB ", + "github_merge_failed": "Dine ændringer i __appName__ og GitHub kunne ikke automatisk merges. Du må merge‘e branch‘en <0>__sharelatex_branch__ ind i default branch‘en i git. Derefter kan du klikke herunder, for at fortsætte.", + "github_no_master_branch_error": "Dette repository kan ikke forbindes, da det ikke har nogen default branch. Du må først sørge for, at projektet har en default branch", + "github_only_integration_lowercase": "GitHub-integration", +- "github_only_integration_lowercase_info": "Forbind dine Overleaf projekter direkte til et GitHub repository som opfører sig et remote repository for dit Overleaf projekt. Dette tillader dig at samarbejde med partnere uden for Overleaf, og at integrere Overleaf ind i mere komplicerede workflows.", ++ "github_only_integration_lowercase_info": "Forbind dine HajTeX projekter direkte til et GitHub repository som opfører sig et remote repository for dit HajTeX projekt. Dette tillader dig at samarbejde med partnere uden for HajTeX, og at integrere HajTeX ind i mere komplicerede workflows.", + "github_private_description": "Du vælger hvem der kan se, og committe til, dette repository.", + "github_public_description": "Alle kan se dette repository. Du kan vælge hvem der kan comitte.", +- "github_repository_diverged": "Default branch i det forbundne repository er blevet force-push’et. Det kan desynkronisere Overleaf og Github at pull’e ændringer efter et force push. Det vil muligvis være nødvendigt at push’e ændringer efter pullet for blive synkroniseret igen.", ++ "github_repository_diverged": "Default branch i det forbundne repository er blevet force-push’et. Det kan desynkronisere HajTeX og Github at pull’e ændringer efter et force push. Det vil muligvis være nødvendigt at push’e ændringer efter pullet for blive synkroniseret igen.", + "github_successfully_linked_description": "Vi har linket din GitHub konto til __appName__. Du kan nu eksportere dine __appName__ projekter til GitHub, eller importere projekter fra dine GitHub repositories.", +- "github_symlink_error": "Dit GitHub repository indeholder symbolske lænkefiler, som ikke på nuværende tidpunkt er understøttet af Overleaf. Du må prøve igen, efter du har fjernet de filer.", ++ "github_symlink_error": "Dit GitHub repository indeholder symbolske lænkefiler, som ikke på nuværende tidpunkt er understøttet af HajTeX. Du må prøve igen, efter du har fjernet de filer.", + "github_sync": "GitHub synkronisering", + "github_sync_description": "Med GitHub synkronisering kan du forbinde dine __appName__-projekter til et GitHub repository, oprette nye commits fra __appName__, og merge commits fra GitHub.", + "github_sync_error": "Beklager, der skete en fejl mens vi checkede vores GitHub service. Prøv igen om lidt.", + "github_sync_repository_not_found_description": "Det forbundne repository er enten blevet fjernet, eller du har ikke længere adgang til det. Du kan forbinde til et nyt repository ved at klone projektet, og vælge punktet ’GitHub’ i menuen. Du kan også fjerne forbindelsen mellem det her projekt og repository’et.", +- "github_timeout_error": "Synkroniseringen af dit Overleaf-projekt med GitHub har overskredet tidsgrænsen. Det kan skyldes, at dit projekt er for stort, eller at der er for mange ændringer eller nye filer.", ++ "github_timeout_error": "Synkroniseringen af dit HajTeX-projekt med GitHub har overskredet tidsgrænsen. Det kan skyldes, at dit projekt er for stort, eller at der er for mange ændringer eller nye filer.", + "github_too_many_files_error": "Dette repository kan ikke importeres, fordi det indeholder flere end det maksimalt tilladte antal filer", + "github_validation_check": "Kontroller venligst at repository navnet er gyldigt, og at du har tilladelse til at lave et repository.", + "github_workflow_authorize": "Autoriser GitHub Workflow-filer", +@@ -576,8 +576,8 @@ + "group_members_and_collaborators_get_access_to": "Gruppemedlemmer og deres samarbejdspartnere får adgang til", + "group_members_get_access_to": "Gruppemedlemmer får adgang til", + "group_members_get_access_to_info": "Disse funktioner udelukkende tilgængelige for gruppemedlemmer.", +- "group_plan_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.", +- "group_plan_with_name_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement, __groupName__. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.", ++ "group_plan_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement. Klik for at finde ud af hvordan du får det meste ud af dine HajTeX Premium-funktioner.", ++ "group_plan_with_name_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement, __groupName__. Klik for at finde ud af hvordan du får det meste ud af dine HajTeX Premium-funktioner.", + "group_plans": "Gruppeabonnementer", + "group_professional": "Gruppe Professionel", + "group_standard": "Gruppe Standard", +@@ -588,7 +588,7 @@ + "headers": "Overskrifter", + "help": "Hjælp", + "help_articles_matching": "Hjælpeartikler magen til dit emne", +- "help_improve_overleaf_fill_out_this_survey": "Hvis du vil hjælpe os med at forbedre Overleaf, brug venligst et øjeblik på at udfylde <0>dette spørgeskema.", ++ "help_improve_overleaf_fill_out_this_survey": "Hvis du vil hjælpe os med at forbedre HajTeX, brug venligst et øjeblik på at udfylde <0>dette spørgeskema.", + "hide_document_preamble": "Skjul dokumentets præambel", + "hide_outline": "Skjul disposition", + "history": "Historie", +@@ -729,7 +729,7 @@ + "knowledge_base": "videns base", + "ko": "Koreansk", + "labels_help_you_to_easily_reference_your_figures": "Mærkater hjælper dig med at henvise til dine figurer i hele dit dokument. For at henvise til en figur i teksten, henvis til mærkatet ved at bruge <0>\\ref{...} kommandoen. Dette gør det nemt at henvise til figurer uden at manuelt skulle huske figurnummeret. <1>Lær mere", +- "labs_program_benefits": "__appName__ leder altid efter nye måder at hjælpe brugere til at arbejde hurtigere og mere effektivt. Ved at være med i Overleaf Labs kan du deltage i eksperimenter der udforsker innovative idéer indenfor kollaborativt forfatterskab og udgivelse.", ++ "labs_program_benefits": "__appName__ leder altid efter nye måder at hjælpe brugere til at arbejde hurtigere og mere effektivt. Ved at være med i HajTeX Labs kan du deltage i eksperimenter der udforsker innovative idéer indenfor kollaborativt forfatterskab og udgivelse.", + "language": "Sprog", + "last_active": "Senest aktiv", + "last_active_description": "Seneste tidspunkt, et projekt blev åbnet.", +@@ -814,7 +814,7 @@ + "login_here": "Log ind her", + "login_or_password_wrong_try_again": "Dit login eller password er forkert. Prøv venligst igen", + "login_register_or": "eller", +- "login_to_overleaf": "Log ind i Overleaf", ++ "login_to_overleaf": "Log ind i HajTeX", + "login_with_service": "Log ind med __service__", + "logs_and_output_files": "Log og outputfiler", + "longer_compile_timeout": "Længere kompileringstidsgrænse", +@@ -846,7 +846,7 @@ + "math_display": "Vist matematik", + "math_inline": "Inkluderet matematik", + "max_collab_per_project": "Maks samarbejdspartnere per projekt", +- "max_collab_per_project_info": "Det maksimale antal folk du kan invitere til at samarbejde på hvert projekt. De har blot brug for at have en Overleaf konto. Det kan være forskellige folk i hvert projekt.", ++ "max_collab_per_project_info": "Det maksimale antal folk du kan invitere til at samarbejde på hvert projekt. De har blot brug for at have en HajTeX konto. Det kan være forskellige folk i hvert projekt.", + "maximum_files_uploaded_together": "Maksimalt __max__ filer uploaded sammen", + "may": "Maj", + "members_management": "Administration af medlemmer", +@@ -855,7 +855,7 @@ + "mendeley_groups_relink": "Der opstod en fejl under tilgangen af dit Mendeley data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen.", + "mendeley_integration": "Mendeley-integration", + "mendeley_integration_lowercase": "Mendeley-integration", +- "mendeley_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Mendeley og forbind det direkte til .bib filer i Overleaf, så du nemt kan henvise til alt i dine biblioteker.", ++ "mendeley_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Mendeley og forbind det direkte til .bib filer i HajTeX, så du nemt kan henvise til alt i dine biblioteker.", + "mendeley_is_premium": "Integration af Mendeley er en Premium-funktion", + "mendeley_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley nøgle udløbet, genforbind venligst din konto", +@@ -870,7 +870,7 @@ + "more_actions": "Flere handlinger", + "more_info": "Mere info", + "more_project_collaborators": "<0>Flere <0>samarbejdspartnere i projekter", +- "more_than_one_kind_of_snippet_was_requested": "Linket til at åbne dette indhold i Overleaf havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "more_than_one_kind_of_snippet_was_requested": "Linket til at åbne dette indhold i HajTeX havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "most_popular": "Mest populære", + "must_be_email_address": "Skal være en e-mailaddresse", + "n_items": "__count__ enhed", +@@ -936,19 +936,19 @@ + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per måned", + "normally_x_price_per_year": "Normalt __price__ per år", +- "not_found_error_from_the_supplied_url": "Linket til at åbne dette indhold i Overleaf anviste en fil, som ikke kunne findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "not_found_error_from_the_supplied_url": "Linket til at åbne dette indhold i HajTeX anviste en fil, som ikke kunne findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "not_now": "Ikke nu", + "not_registered": "Ikke registreret", + "note_features_under_development": "<0>Vær opmærksom på at funktionerne i dette program stadig bliver testet og er under aktiv udvikling. Dette betyder at de kan <0>ændre sig, blive <0>slettet eller <0>blive del af et betalt abonnement", +- "notification_features_upgraded_by_affiliation": "Godt nyt! Organisationen __institutionName__, som du er tilknyttet, har et abonnement hos Overleaf, og du har nu adgang til alle Overleafs Professionelle funktioner.", +- "notification_personal_subscription_not_required_due_to_affiliation": " Gode nyheder! Din tilknyttede organisation __institutionName__ har et abonnement hos Overleaf, og derfor har du nu adgang til Overleafs Professionelle funktioner via din tilknytning. Du kan afmelde dit individuelle abonnement, uden at miste adgang til nogen funktioner.", ++ "notification_features_upgraded_by_affiliation": "Godt nyt! Organisationen __institutionName__, som du er tilknyttet, har et abonnement hos HajTeX, og du har nu adgang til alle HajTeXs Professionelle funktioner.", ++ "notification_personal_subscription_not_required_due_to_affiliation": " Gode nyheder! Din tilknyttede organisation __institutionName__ har et abonnement hos HajTeX, og derfor har du nu adgang til HajTeXs Professionelle funktioner via din tilknytning. Du kan afmelde dit individuelle abonnement, uden at miste adgang til nogen funktioner.", + "notification_project_invite": "__userName__ vil gerne have dig til at deltage i __projectName__ Deltag i Projektet", + "notification_project_invite_accepted_message": "Du er nu med i __projectName__", + "notification_project_invite_message": "__userName__ vil gerne have dig med i __projectName__", + "november": "November", + "number_collab": "Antal samarbejdspartnere", + "number_of_users": "Antal brugere", +- "number_of_users_info": "Det antal af brugere der kan opgradere deres Overleaf konto hvis du køber dette abonnement.", ++ "number_of_users_info": "Det antal af brugere der kan opgradere deres HajTeX konto hvis du køber dette abonnement.", + "number_of_users_with_colon": "Antal brugere:", + "oauth_orcid_description": " Hævd din identitet sikkert, ved at kæde din ORCID iD og din __appName__-konto sammen. Indsendelser til samarbejdende udgivere vil automatisk inkludere dit ORCID iD, hvilket giver en forbedret arbejdsgang og bedre synlighed. ", + "october": "Oktober", +@@ -977,9 +977,9 @@ + "output_file": "Outputfil", + "over": "over", + "overall_theme": "Overordnet tema", +- "overleaf": "Overleaf", +- "overleaf_history_system": "Overleafs historiksystem", +- "overleaf_labs": "Overleaf Labs", ++ "overleaf": "HajTeX", ++ "overleaf_history_system": "HajTeXs historiksystem", ++ "overleaf_labs": "HajTeX Labs", + "overview": "Oversigt", + "overwrite": "Overskriv", + "owned_by_x": "Ejet af __x__", +@@ -1024,7 +1024,7 @@ + "personalized_onboarding": "Personaliseret onboarding", + "personalized_onboarding_info": "Vi hjælper jer med at få alt sat op, og derefter er vi her for at svare på spørgsmål fra jeres brugere omkring platformen, skabeloner eller LaTeX!", + "pl": "Polsk", +- "plan_tooltip": "Du er på __plan__ abonnementet. Klik for at finde ud af hvordan du får mest muligt ud af dine Overleaf Premium-funktioner.", ++ "plan_tooltip": "Du er på __plan__ abonnementet. Klik for at finde ud af hvordan du får mest muligt ud af dine HajTeX Premium-funktioner.", + "planned_maintenance": "Planlagt vedligeholdelse", + "plans_amper_pricing": "Abonnementer & priser", + "plans_and_pricing": "Abonnementer og priser", +@@ -1058,7 +1058,7 @@ + "powerful_latex_editor_and_realtime_collaboration_info": "Stavekontrol, intelligent autoudførelse, syntaksfremhævning, dusinvis af farvetemaer, vim- og emacs-tastebindinger, hjælp til LaTeX-advarsler og -fejlmeddelelser, med mere. Alle har altid den nyeste version, og du kan se dine samarbejdspartneres markører og ændringer live.", + "premium_feature": "Premium-funktion", + "premium_features": "Premium-funktioner", +- "premium_plan_label": "Du bruger Overleaf Premium", ++ "premium_plan_label": "Du bruger HajTeX Premium", + "presentation": "Præsentation", + "press_and_awards": "Presse & priser", + "price": "Pris", +@@ -1276,7 +1276,7 @@ + "september": "September", + "server_error": "Serverfejl", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro licens", +- "server_pro_license_entitlement_line_2": "I har i øjeblikket <0>__count__ aktive brugere. Hvis I har brug for at forøge antallet af licenser, <1>kontakt da venligst Overleaf.", ++ "server_pro_license_entitlement_line_2": "I har i øjeblikket <0>__count__ aktive brugere. Hvis I har brug for at forøge antallet af licenser, <1>kontakt da venligst HajTeX.", + "server_pro_license_entitlement_line_3": "En aktiv bruger er en som har åbnet et projekt i denne Server Pro instans i de seneste 12 måneder.", + "services": "Tjenester", + "session_created_at": "Session oprettet på", +@@ -1308,7 +1308,7 @@ + "showing_x_results_of_total": "Viser __x__ resultater ud af __total__", + "site_description": "Et online LaTeX-skriveprogram, der er let at bruge. Ingen installation, live samarbejde, versionskontrol, flere hundrede LaTeX-skabeloner, og meget mere.", + "sitewide_option_available": "Organisationsdækkende licens tilgængelig", +- "sitewide_option_available_info": "Brugere bliver automatisk opgraderet når de opretter sig eller tilføjer deres e-mailaddresse til Overleaf (domæne-baseret tilmelding eller SSO)", ++ "sitewide_option_available_info": "Brugere bliver automatisk opgraderet når de opretter sig eller tilføjer deres e-mailaddresse til HajTeX (domæne-baseret tilmelding eller SSO)", + "skip": "Spring over", + "skip_to_content": "Spring til indhold", + "something_went_wrong_canceling_your_subscription": "Der gik noget galt med annulleringen af dit abonnement. Du bliver nødt til at kontakte supporten.", +@@ -1318,7 +1318,7 @@ + "something_went_wrong_rendering_pdf_expected": "Der opstod et problem under visningen af PDFen. <0>Genkompiler", + "something_went_wrong_server": "Noget gik galt. Prøv venligst igen.", + "somthing_went_wrong_compiling": "Beklager, noget gik galt og dit projekt kunne ikke kompiléres. Vent lidt og prøv igen.", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "Beklager, der skete en uventet fejl i forsøget på at åbne dette indhold i Overleaf. Prøv venligst igen.", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "Beklager, der skete en uventet fejl i forsøget på at åbne dette indhold i HajTeX. Prøv venligst igen.", + "sorry_your_token_expired": "Beklager, din nøgle er udløbet", + "sort_by": "Sortér efter", + "sort_by_x": "Sortér efter __x__", +@@ -1326,7 +1326,7 @@ + "spell_check": "Stavekontrol", + "sso_account_already_linked": "Konto allerede tilknyttet en anden __appName__ bruger", + "sso_integration": "SSO-integration", +- "sso_integration_info": "Overleaf tilbyder en standard SAML-baseret Single Sign On integration.", ++ "sso_integration_info": "HajTeX tilbyder en standard SAML-baseret Single Sign On integration.", + "sso_link_error": "Fejl i kontosammenkædningen", + "sso_not_linked": "Du har ikke forbundet din konto til __provider__. Du bliver nødt til først at logge ind med en anden metode, og forbinde din __provider__-konto i dine kontoindstillinger.", + "sso_user_denied_access": "Kan ikke logge ind da __appName__ ikke blev tildelt adgang til din __provider__ konto. Prøv venligst igen.", +@@ -1343,7 +1343,7 @@ + "stop_on_validation_error": "Syntaks tjek før kompilering", + "store_your_work": "Gem jeres arbejde på jeres egen infrastruktur", + "student": "Studerende", +- "student_and_faculty_support_make_difference": "Støtte fra studerende og fakultet gør en forskel! Vi kan dele denne information med vores kontakter på jeres universitet når vi diskuterer om en Overleaf institutionel konto.", ++ "student_and_faculty_support_make_difference": "Støtte fra studerende og fakultet gør en forskel! Vi kan dele denne information med vores kontakter på jeres universitet når vi diskuterer om en HajTeX institutionel konto.", + "student_disclaimer": "Studierabatten er gælder for alle studerende ved gymnasier og videregående uddannelsesinstitutioner. Vi kontakter dig muligvis for at bekræfte at du kvalificerer dig til denne rabat. ", + "student_plans": "Studieabonnementer", + "subject": "Emne", +@@ -1394,7 +1394,7 @@ + "template_gallery": "Skabelonsgalleri", + "template_not_found_description": "Denne vej til at lave nye projekter ud fra skabeloner er blevet fjernet. Du kan kigge i vores skabelonsgalleri efter flere skabeloner.", + "template_title_taken_from_project_title": "Skabelonstitlen bliver automatisk taget fra projekttitlen", +- "template_top_pick_by_overleaf": "Denne skabelon er blevet håndplukket af Overleaf for dens høje kvalitet", ++ "template_top_pick_by_overleaf": "Denne skabelon er blevet håndplukket af HajTeX for dens høje kvalitet", + "templates": "Skabeloner", + "templates_page_summary": "Start dine projekter med LaTeX kvalitets-skabeloner for journaler, CV’er, artikler, præsentationer, opgaver, projektrapporter og flere. Søg eller gennemse herunder.", + "templates_page_title": "Skabeloner - Journaler, CV’er, præsentationer, rapporter og mere", +@@ -1409,14 +1409,14 @@ + "thanks_for_subscribing": "Tak fordi du abonnerer!", + "thanks_for_subscribing_you_help_sl": "Tak fordi du abonnerer på __planName__ planen. Det er støtte fra folk som dig, der giver __appName__ mulighed for at vokse og blive bedre.", + "thanks_settings_updated": "Tak, dine indstillinger er blevet opdateret.", +- "the_file_supplied_is_of_an_unsupported_type ": "Linket til at åbne dette indhold i Overleaf pegede på den forkerte type fil. Gyldige filtyper er .tex-dokumenter og .zip-arkiver. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", ++ "the_file_supplied_is_of_an_unsupported_type ": "Linket til at åbne dette indhold i HajTeX pegede på den forkerte type fil. Gyldige filtyper er .tex-dokumenter og .zip-arkiver. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "the_following_files_already_exist_in_this_project": "De følgende filer eksisterer allerede i dette projekt:", + "the_project_that_contains_this_file_is_not_shared_with_you": "Projektet som indeholder denne fil er ikke delt med dig", +- "the_requested_conversion_job_was_not_found": "Linket til at åbne dette indhold i Overleaf specificerede en konverteringsopgave, som ikke kunne findes. Det kan skyldes, at det job er udløbet, og skal køres igen. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", +- "the_requested_publisher_was_not_found": "Linket til at åbne dette indhold i Overleaf angiver en udgiver, som ikke kan findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", +- "the_required_parameters_were_not_supplied": "Linket til at åbne dette indhold i Overleaf manglede nogle af de nødvendige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", +- "the_supplied_parameters_were_invalid": "Linket til at åbne dette indhold i Overleaf havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", +- "the_supplied_uri_is_invalid": "Linket til at åbne dette indhold i Overleaf indeholdt en ugyldig URI. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "the_requested_conversion_job_was_not_found": "Linket til at åbne dette indhold i HajTeX specificerede en konverteringsopgave, som ikke kunne findes. Det kan skyldes, at det job er udløbet, og skal køres igen. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "the_requested_publisher_was_not_found": "Linket til at åbne dette indhold i HajTeX angiver en udgiver, som ikke kan findes. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "the_required_parameters_were_not_supplied": "Linket til at åbne dette indhold i HajTeX manglede nogle af de nødvendige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "the_supplied_parameters_were_invalid": "Linket til at åbne dette indhold i HajTeX havde nogle ugyldige parametre. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", ++ "the_supplied_uri_is_invalid": "Linket til at åbne dette indhold i HajTeX indeholdt en ugyldig URI. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bliver du næsten nødt til at fortælle dem om det.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "Bredden du vælger her er baseret på bredden af teksten i dit dokument. Alternativt kan du ændre billedestørrelsen direkte i LaTeX koden.", + "theme": "Tema", + "then_x_price_per_month": "Derefter __price__ per måned", +@@ -1495,8 +1495,8 @@ + "trashed": "Kasséret", + "trashed_projects": "Kassérede projekter", + "trashing_projects_wont_affect_collaborators": "Det har ingen virkning på dine samarbejdspartnere, at kassere projekter.", +- "trial_last_day": "Dette er din sidste dag på Overleaf Premium prøveperioden", +- "trial_remaining_days": "__days__ flere dage på din Overleaf Premium prøveperiode", ++ "trial_last_day": "Dette er din sidste dag på HajTeX Premium prøveperioden", ++ "trial_remaining_days": "__days__ flere dage på din HajTeX Premium prøveperiode", + "tried_to_log_in_with_email": "Du har prøvet at logge ind med __email__.", + "tried_to_register_with_email": "Du har forsøgt at blive registreret som __email__, hvilken allerede er registreret hos __appName__ som en institutionel konto.", + "try_again": "Prøv venligst igen", +@@ -1511,7 +1511,7 @@ + "tutorials": "Vejledninger", + "two_users": "2 brugere", + "uk": "Ukrainsk", +- "unable_to_extract_the_supplied_zip_file": "Dette indhold kunne ikke åbnes i Overleaf, fordi zip-filen ikke kunne åbnes. Vær sikker på, at din zip-fil er gyldig. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", ++ "unable_to_extract_the_supplied_zip_file": "Dette indhold kunne ikke åbnes i HajTeX, fordi zip-filen ikke kunne åbnes. Vær sikker på, at din zip-fil er gyldig. Hvis du bliver ved med at opleve det her med links fra en bestemt side, bør du rapportere dette til dem.", + "unarchive": "Gendan", + "uncategorized": "Ikke kategoriseret", + "unconfirmed": "Ikke bekræftet", +@@ -1563,7 +1563,7 @@ + "upload_zipped_project": "Upload komprimeret projekt", + "url_to_fetch_the_file_from": "URL som filen skal hentes fra", + "usage_metrics": "Brugsstatistik", +- "usage_metrics_info": "Statistikker som viser hvor mange brugere der benytter licensen, hvor mange projekter der bliver lavet og arbejdet på og hvor meget samarbejde der foregår på Overleaf.", ++ "usage_metrics_info": "Statistikker som viser hvor mange brugere der benytter licensen, hvor mange projekter der bliver lavet og arbejdet på og hvor meget samarbejde der foregår på HajTeX.", + "use_a_different_password": "Benyt et andet kodeord", + "use_your_own_machine": "Brug din egen maskine, med din egen opsætning", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Bliver brugt til at henvise til figuren fra andre steder i dokumentet", +@@ -1571,7 +1571,7 @@ + "user_deletion_error": "Beklager, sletningen af din konto mislykkedes. Vær venlig at vente et minuts tid, og prøv så igen.", + "user_deletion_password_reset_tip": "Hvis du ikke kan huske dit kodeord, eller hvis du bruger en Single-Sign-On-løsning til at skrive dig ind (såsom ORCID eller Google), må du <0>nulstille dit kodeord, og derefter prøve igen.", + "user_management": "Brugeradminstration", +- "user_management_info": "Gruppeadministratorer har adgang til et administrationspanel hvor brugere nemt kan tilføjes og fjernes. For organisationsdækkende abonnementer bliver brugere automatisk opgraderet når de registerer sig eller tilføjer deres e-mailaddresse til Overleaf (domæne-baseret tilmelding eller SSO).", ++ "user_management_info": "Gruppeadministratorer har adgang til et administrationspanel hvor brugere nemt kan tilføjes og fjernes. For organisationsdækkende abonnementer bliver brugere automatisk opgraderet når de registerer sig eller tilføjer deres e-mailaddresse til HajTeX (domæne-baseret tilmelding eller SSO).", + "user_not_found": "Bruger ikke fundet", + "user_sessions": "Brugersessioner", + "user_wants_you_to_see_project": "__username__ ønsker at du deltager i __projectname__", +@@ -1598,10 +1598,10 @@ + "when_you_tick_the_include_caption_box": "Når du klikker “Inkludér billedtekst” vil billedet blive indsat i dokumentet med en standard billedetekst. For at redigere den skal du bare klikke på billedeteksten og skrive for at erstatte den med din egen.", + "wide": "Bred", + "will_need_to_log_out_from_and_in_with": "Du bliver nødt til at logge ud fra din konto for __email1__, og derefter logge ind med __email2__.", +- "with_premium_subscription_you_also_get": "Med et Overleaf Premium abonnement får du også", ++ "with_premium_subscription_you_also_get": "Med et HajTeX Premium abonnement får du også", + "word_count": "Ordoptælling", + "work_offline": "Arbejd offline", +- "work_with_non_overleaf_users": "Arbejd sammen med ikke-Overleaf-brugere", ++ "work_with_non_overleaf_users": "Arbejd sammen med ikke-HajTeX-brugere", + "would_you_like_to_see_a_university_subscription": "Vil du ønske der var en universitetsdækkende __appName__ abonnement på dit universitet?", + "x_changes_in": "__count__ ændring i", + "x_changes_in_plural": "__count__ ændringer i", +@@ -1617,9 +1617,9 @@ + "you": "Dig", + "you_already_have_a_subscription": "Du har allerede et abonnement", + "you_and_collaborators_get_access_to": "Dig og dine samarbejdspartnere får adgang til", +- "you_and_collaborators_get_access_to_info": "Disse funktioner er tilgængelige for dig og dine samarbejdspartnere (andre Overleaf brugere som du har inviteret til dine projekter).", ++ "you_and_collaborators_get_access_to_info": "Disse funktioner er tilgængelige for dig og dine samarbejdspartnere (andre HajTeX brugere som du har inviteret til dine projekter).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager og en <1>bruger af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", +- "you_are_a_manager_of_commons_at_institution_x": "Du er en <0>manager af et Overleaf Commons abonnement hos <0>__institutionName__", ++ "you_are_a_manager_of_commons_at_institution_x": "Du er en <0>manager af et HajTeX Commons abonnement hos <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "Du er en <0>manager hos <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "Du er en <1>manager af <0>__planName__ gruppeabonnementet <1>__groupName__ administreret af <1>__adminEmail__", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "Du er på et __appName__ betalt abonnement. <0>Kontakt support for at lære mere.", +@@ -1662,7 +1662,7 @@ + "zotero_groups_relink": "Der opstod en fejl under tilgangen af dit Zotero data. Dette skete sandsynligvist grundet manglende tilladelser. Gen-forbind venligst din konto og prøv igen", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-integration", +- "zotero_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Zotero og forbind det direkte til .bib filer i Overleaf, så du nemt kan henvise til alt i dine biblioteker.", ++ "zotero_integration_lowercase_info": "Håndtér dit henvisningsbibliotek i Zotero og forbind det direkte til .bib filer i HajTeX, så du nemt kan henvise til alt i dine biblioteker.", + "zotero_is_premium": "Integration af Zotero er en Premium-funktion", + "zotero_reference_loading_error": "Fejl, kunne ikke indlæse referencer fra Zotero", + "zotero_reference_loading_error_expired": "Zotero nøgle udløbet, genforbind venligst din konto", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/de.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/de.json.diff new file mode 100644 index 0000000..77d04cf --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/de.json.diff @@ -0,0 +1,388 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/de.json 2024-12-11 19:57:06.195454282 +0000 ++++ ../5.2.1/overleaf/services/web/locales/de.json 2024-12-01 18:28:29.000000000 +0000 +@@ -37,7 +37,7 @@ + "account_not_linked_to_dropbox": "Dein Konto ist nicht mit Dropbox verknüpft", + "account_settings": "Kontoeinstellungen", + "account_with_email_exists": "Anscheinend existiert bereits ein __appName__-Konto mit der E-Mail-Adresse __email__.", +- "acct_linked_to_institution_acct_2": "Du kannst dich <0>log in über dein institutionelles Konto <0>__institutionName__ bei Overleaf anmelden.", ++ "acct_linked_to_institution_acct_2": "Du kannst dich <0>log in über dein institutionelles Konto <0>__institutionName__ bei HajTeX anmelden.", + "actions": "Aktionen", + "activate": "Aktivieren", + "activate_account": "Deaktiviere dein Konto", +@@ -93,7 +93,7 @@ + "anyone_with_link_can_view": "Jeder mit diesem Link kann dieses Projekt anzeigen", + "app_on_x": "__appName__ bei __social__", + "apply_educational_discount": "Bildungsrabatt anwenden", +- "apply_educational_discount_info": "Overleaf bietet 40 % Bildungsrabatt für Gruppen ab 10 Personen. Dies gilt für Studenten oder Lehrkräfte, die Overleaf im Unterricht verwenden.", ++ "apply_educational_discount_info": "HajTeX bietet 40 % Bildungsrabatt für Gruppen ab 10 Personen. Dies gilt für Studenten oder Lehrkräfte, die HajTeX im Unterricht verwenden.", + "april": "April", + "archive": "Archiv", + "archive_projects": "Projekte archivieren", +@@ -215,14 +215,14 @@ + "collaborate_online_and_offline": "Zusammenarbeit online und offline mit deinem eigenen Workflow", + "collaboration": "Zusammenarbeit", + "collaborator": "Mitarbeiter", +- "collabratec_account_not_registered": "IEEE-Collabratec™-Konto nicht registriert. Bitte verbinde dich mit Overleaf von IEEE Collabratec™ oder melde dich mit einem anderen Konto an.", ++ "collabratec_account_not_registered": "IEEE-Collabratec™-Konto nicht registriert. Bitte verbinde dich mit HajTeX von IEEE Collabratec™ oder melde dich mit einem anderen Konto an.", + "collabs_per_proj": "__collabcount__ Mitarbeiter pro Projekt", + "collabs_per_proj_single": "__collabcount__ Mitarbeiter pro Projekt", + "collapse": "Einklappen", + "comment": "Kommentar", + "commit": "Commit", + "common": "Häufige", +- "commons_plan_tooltip": "Du hast Zugriff auf ein __plan__ Abonnement über deine Angehörigkeit bei __institution__. Klicke hier um herauszufinden was die Overleaf Premiumfunktionen Dir ermöglichen.", ++ "commons_plan_tooltip": "Du hast Zugriff auf ein __plan__ Abonnement über deine Angehörigkeit bei __institution__. Klicke hier um herauszufinden was die HajTeX Premiumfunktionen Dir ermöglichen.", + "compact": "Kompakt", + "company_name": "Name der Firma", + "comparing_from_x_to_y": "Vergleich zwischen <0>__startTime__ und <0>__endTime__", +@@ -285,7 +285,7 @@ + "currently_seeing_only_24_hrs_history": "Du siehst derzeit die Änderungen der letzten 24 Stunden in diesem Projekt.", + "currently_subscribed_to_plan": "Du hast im Moment das <0>__planName__ Produkt abonniert.", + "custom_resource_portal": "Benutzerdefiniertes Ressourcenportal", +- "custom_resource_portal_info": "Du kannst deine eigene benutzerdefinierte Portalseite auf Overleaf haben. Dies ist ein großartiger Ort für die Nutzer, um mehr über Overleaf zu erfahren, auf Vorlagen, FAQs und Hilferessourcen zuzugreifen und sich bei Overleaf anzumelden.", ++ "custom_resource_portal_info": "Du kannst deine eigene benutzerdefinierte Portalseite auf HajTeX haben. Dies ist ein großartiger Ort für die Nutzer, um mehr über HajTeX zu erfahren, auf Vorlagen, FAQs und Hilferessourcen zuzugreifen und sich bei HajTeX anzumelden.", + "customize": "Anpassen", + "customize_your_group_subscription": "Dein Gruppenabonnement anpassen", + "customize_your_plan": "Abonnement anpassen", +@@ -297,7 +297,7 @@ + "dealing_with_errors": "Umgang mit Fehlern", + "december": "Dezember", + "dedicated_account_manager": "Dedizierter Kontomanager", +- "dedicated_account_manager_info": "Unser Account-Management-Team wird dir bei Wünschen und Fragen behilflich sein und dir dabei helfen, Overleaf mittels Werbematerialien, Schulungsressourcen und Webinaren bekannt zu machen.", ++ "dedicated_account_manager_info": "Unser Account-Management-Team wird dir bei Wünschen und Fragen behilflich sein und dir dabei helfen, HajTeX mittels Werbematerialien, Schulungsressourcen und Webinaren bekannt zu machen.", + "default": "Standard", + "delete": "Löschen", + "delete_account": "Konto löschen", +@@ -345,15 +345,15 @@ + "drag_here": "hierher ziehen", + "drag_here_paste_an_image_or": "Datei hierher verschieben, Bild einfügen, oder", + "drop_files_here_to_upload": "Ziehe die Dateien hier hin, um sie hochzuladen", +- "dropbox_already_linked_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen Overleaf-Konto verknüpft ist.", +- "dropbox_already_linked_error_with_email": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen Overleaf-Konto über die E-Mail-Adresse __otherUsersEmail__ verknüpft ist.", ++ "dropbox_already_linked_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen HajTeX-Konto verknüpft ist.", ++ "dropbox_already_linked_error_with_email": "Dein Dropbox-Konto kann nicht verknüpft werden, da es bereits mit einem anderen HajTeX-Konto über die E-Mail-Adresse __otherUsersEmail__ verknüpft ist.", + "dropbox_checking_sync_status": "Dropbox auf Updates überprüfen", + "dropbox_duplicate_names_error": "Dein Dropbox-Konto kann nicht verknüpft werden, da du mehr als ein Projekt mit demselben Namen hast:", + "dropbox_duplicate_project_names": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil du mehr als ein Projekt mit dem Namen <0>„__projectName__“ hast.", + "dropbox_duplicate_project_names_suggestion": "Bitte verwende eindeutige Projektnamen für alle deine <0>aktiven, archivierten und gelöschten Projekte und verknüpfe dann dein Dropbox-Konto erneut.", + "dropbox_email_not_verified": "Wir konnten keine Updates von deinem Dropbox-Konto abrufen. Dropbox hat gemeldet, dass deine E-Mail-Adresse unbestätigt ist. Bitte bestätige die E-Mail-Adresse in deinem Dropbox-Konto, um dieses Problem zu lösen.", + "dropbox_for_link_share_projs": "Auf dieses Projekt wurde über Linkfreigabe zugegriffen und es wird nicht mit deiner Dropbox synchronisiert, es sei denn, du wirst vom Projektinhaber per E-Mail eingeladen.", +- "dropbox_integration_info": "Arbeite nahtlos online und offline mit der bidirektionalen Dropbox-Synchronisierung. Änderungen, die du lokal vornimmst, werden automatisch an die Version auf Overleaf gesendet und umgekehrt.", ++ "dropbox_integration_info": "Arbeite nahtlos online und offline mit der bidirektionalen Dropbox-Synchronisierung. Änderungen, die du lokal vornimmst, werden automatisch an die Version auf HajTeX gesendet und umgekehrt.", + "dropbox_integration_lowercase": "Dropbox-Integration", + "dropbox_successfully_linked_description": "Vielen Dank, wir haben dein Dropbox-Konto erfolgreich mit __appName__ verknüpft.", + "dropbox_sync": "Dropbox-Synchronisation", +@@ -365,9 +365,9 @@ + "dropbox_sync_now_running": "Ein manueller Sync wurde für dieses Projekt im Hintergrund gestartet. Bitte gib dem Vorgang ein paar Minuten Zeit um abzuschließen.", + "dropbox_sync_out": "Updates an Dropbox senden", + "dropbox_sync_troubleshoot": "Fehlen Änderungen in deiner Dropbox? Bitte warte ein paar Minuten. Wenn Änderungen noch immer nicht ankommen, kannst Du <0>das Projekt manuell synchronisieren lassen.", +- "dropbox_synced": "Overleaf und Dropbox haben alle Updates verarbeitet. Beachte, dass deine lokale Dropbox möglicherweise noch synchronisiert wird", +- "dropbox_unlinked_because_access_denied": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da der Dropbox-Dienst deine gespeicherten Anmeldeinformationen abgelehnt hat. Bitte verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit Overleaf zu verwenden.", +- "dropbox_unlinked_because_full": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da es voll ist und wir an es keine Updates mehr senden können. Bitte gib Speicherplatz frei und verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit Overleaf zu verwenden.", ++ "dropbox_synced": "HajTeX und Dropbox haben alle Updates verarbeitet. Beachte, dass deine lokale Dropbox möglicherweise noch synchronisiert wird", ++ "dropbox_unlinked_because_access_denied": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da der Dropbox-Dienst deine gespeicherten Anmeldeinformationen abgelehnt hat. Bitte verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit HajTeX zu verwenden.", ++ "dropbox_unlinked_because_full": "Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, da es voll ist und wir an es keine Updates mehr senden können. Bitte gib Speicherplatz frei und verknüpfe dein Dropbox-Konto erneut, um es weiterhin mit HajTeX zu verwenden.", + "dropbox_unlinked_premium_feature": "<0>Die Verknüpfung deines Dropbox-Kontos wurde aufgehoben, weil Dropbox Sync eine Premiumfunktion ist, die du über eine institutionelle Lizenz hattest.", + "duplicate_file": "Datei duplizieren", + "duplicate_projects": "Dieser Nutzer hat Projekte mit doppeltem Namen", +@@ -387,8 +387,8 @@ + "editor_theme": "Editor-Thema", + "educational_discount_applied": "40% Bildungsrabatt angewendet!", + "educational_discount_available_for_groups_of_ten_or_more": "Der Bildungsrabatt ist verfügbar für Gruppen ab 10 Personen", +- "educational_discount_disclaimer": "Dieses Abonnement ist nur für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die Overleaf im Unterricht verwenden)", +- "educational_discount_for_groups_of_ten_or_more": "Overleaf bietet 40% Bildungsrabatt für Gruppen ab 10 Personen.", ++ "educational_discount_disclaimer": "Dieses Abonnement ist nur für Bildungseinrichtungen (gilt für Studenten oder Lehrkräfte, die HajTeX im Unterricht verwenden)", ++ "educational_discount_for_groups_of_ten_or_more": "HajTeX bietet 40% Bildungsrabatt für Gruppen ab 10 Personen.", + "educational_discount_for_groups_of_x_or_more": "Der Bildungsrabatt ist für Gruppen mit __size__ oder mehr Nutzern verfügbar", + "educational_percent_discount_applied": "__percent__% Bildungsrabatt angewandt!", + "email": "E-Mail", +@@ -431,21 +431,21 @@ + "faq_change_plans_or_cancel_question": "Kann ich Abonnements ändern oder später stornieren?", + "faq_do_collab_need_on_paid_plan_answer": "Nein, sie können in jedem Abonnement enthalten sein, einschließlich der kostenlosen Version. Wenn du einen Premium-Abonnement hast, stehen deinen Mitarbeitern in Projekten, die du erstellt hast, einige Premiumfunktionen zur Verfügung, auch wenn diese Mitarbeiter ein kostenloses Abonnement haben. Weitere Informationen findest du unter <0>Konto und Abonnements und <1>Funktionsweise der Premiumfunktionen.", + "faq_do_collab_need_on_paid_plan_question": "Müssen meine Mitarbeiter auch ein bezahltes Abonnement haben?", +- "faq_how_does_a_group_plan_work_answer": "Gruppenabonnements sind eine Möglichkeit, mehr als ein Overleaf-Konto zu aktualisieren. Sie sind einfach zu verwalten, helfen Papierkram zu sparen, und reduzieren die Kosten für den separaten Kauf mehrerer Abonnements. Um mehr zu erfahren, lies über <0>Beitritt zu einem Gruppenabonnement und <1>Verwalten eines Gruppenabonnements. Du kannst Gruppenabonnements oben erwerben oder indem du <2>uns kontaktierst.", ++ "faq_how_does_a_group_plan_work_answer": "Gruppenabonnements sind eine Möglichkeit, mehr als ein HajTeX-Konto zu aktualisieren. Sie sind einfach zu verwalten, helfen Papierkram zu sparen, und reduzieren die Kosten für den separaten Kauf mehrerer Abonnements. Um mehr zu erfahren, lies über <0>Beitritt zu einem Gruppenabonnement und <1>Verwalten eines Gruppenabonnements. Du kannst Gruppenabonnements oben erwerben oder indem du <2>uns kontaktierst.", + "faq_how_does_a_group_plan_work_question": "Wie funktioniert ein Gruppen-Abonnement? Wie kann ich Personen zum Abonnement hinzufügen?", + "faq_how_does_free_trial_works_answer": "Während deines __len__-tägigen Probe-Abonnements erhältst du vollen Zugriff auf die Funktionen des von dir gewählten __appName__-Abonnements. Es besteht keine Verpflichtung, über die Testperiode hinaus fortzufahren. Deine Karte wird am Ende des __len__-tägigen Testzeitraums belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto.", + "faq_how_free_trial_works_answer_v2": "Du erhältst vollen Zugriff auf das von dir gewählte Premium-Abonnement während deines __len__-tägigen kostenlosen Testzeitraums, und es besteht keine Verpflichtung zur Nutzung über die Testzeit hinaus. Deine Karte wird am Ende deiner Testphase belastet, sofern du nicht vorher gekündigt hast. Um zu kündigen, gehe zu deinen Abonnementeinstellungen in deinem Konto (der Testzeitraum endet erst nach den vollen __len__ Tagen).", + "faq_how_free_trial_works_question": "Wie funktioniert das kostenlose Probe-Abonnement?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In Overleaf erstellt und verwaltet jeder Nutzer sein eigenes Overleaf-Konto. Die meisten Nutzer beginnen mit der kostenlosen Version, können aber ein Upgrade durchführen und die Premiumfunktionen nutzen, indem sie ein Abonnement abschließen, einem Gruppen-Abonnement oder einer <0>standortweiten Abonnement beitreten. Wenn du ein Abonnement kaufst, einem Abonnement beitrittst oder ein Abonnement verlässt, kannst du immer dasselbe Overleaf-Konto behalten.", +- "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Um mehr zu erfahren, lies <0>wie Konten und Abonnements in Overleaf zusammenarbeiten.", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In HajTeX erstellt und verwaltet jeder Nutzer sein eigenes HajTeX-Konto. Die meisten Nutzer beginnen mit der kostenlosen Version, können aber ein Upgrade durchführen und die Premiumfunktionen nutzen, indem sie ein Abonnement abschließen, einem Gruppen-Abonnement oder einer <0>standortweiten Abonnement beitreten. Wenn du ein Abonnement kaufst, einem Abonnement beitrittst oder ein Abonnement verlässt, kannst du immer dasselbe HajTeX-Konto behalten.", ++ "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Um mehr zu erfahren, lies <0>wie Konten und Abonnements in HajTeX zusammenarbeiten.", + "faq_i_have_free_account_want_subscription_how_question": "Ich habe ein kostenloses Konto und möchte einem Abonnement beitreten, wie mache ich das?", + "faq_pay_by_invoice_answer_v2": "Ja, wenn du ein Gruppenabonnement für fünf oder mehr Personen oder eine Standortlizenz erwerben möchtest. Für Einzelabonnements können wir nur Online-Zahlungen per Kredit- oder Debitkarte oder PayPal akzeptieren.", + "faq_pay_by_invoice_question": "Kann ich per Rechnung / Bestellung bezahlen?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Nein. Nur das Konto des Abonnenten wird aktualisiert. Mit einem individuellen Standard-Abonnement kannst du 10 Mitarbeiter zu jedem Projekt einladen, das dir gehört.", + "faq_the_individual_standard_plan_10_collab_question": "Das individuelle Standard-Abonnement hat 10 Projektmitarbeiter. Bedeutet das, dass 10 Personen ein Upgrade erhalten?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "Während der Arbeit an einem Projekt, das du als Abonnent mit ihnen teilst, können deine Mitarbeiter auf einige Premiumfunktionen wie den vollständigen Dokumentverlauf und die verlängerte Kompilierzeit für dieses bestimmte Projekt zugreifen. Wenn du sie zu einem bestimmten Projekt einlädst, wird für ihre Konten jedoch nicht insgesamt ein Upgrade durchgeführt. Lies <0>welche Funktionen pro Projekt und welche pro Konto gelten.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In Overleaf erstellt jeder Nutzer sein eigenes Konto. Du kannst Projekte erstellen, an denen nur du arbeitest, und du kannst auch andere dazu einladen, Projekte anzusehen oder mit dir an Projekten zu arbeiten, die dir gehören. Nutzer, mit denen du dein Projekt teilst, werden <0>Mitarbeiter genannt. Wir bezeichnen sie auch als Projektmitarbeiter.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Mit anderen Worten, Mitarbeiter sind nur andere Overleaf-Nutzer, mit denen du an einem deiner Projekte arbeitest.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In HajTeX erstellt jeder Nutzer sein eigenes Konto. Du kannst Projekte erstellen, an denen nur du arbeitest, und du kannst auch andere dazu einladen, Projekte anzusehen oder mit dir an Projekten zu arbeiten, die dir gehören. Nutzer, mit denen du dein Projekt teilst, werden <0>Mitarbeiter genannt. Wir bezeichnen sie auch als Projektmitarbeiter.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "Mit anderen Worten, Mitarbeiter sind nur andere HajTeX-Nutzer, mit denen du an einem deiner Projekte arbeitest.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Was ist der Unterschied zwischen Nutzern und Mitarbeitern?", + "fast": "Schnell", + "feature_included": "Funktion enthalten", +@@ -499,7 +499,7 @@ + "free": "Kostenlos", + "free_dropbox_and_history": "Kostenloser Dropbox und Dateiversionsverlauf", + "free_plan_label": "Du nutzt die kostenlose Version", +- "free_plan_tooltip": "Klicke hier, um herauszufinden, was Dir die Overleaf-Premiumfunktionen ermöglichen.", ++ "free_plan_tooltip": "Klicke hier, um herauszufinden, was Dir die HajTeX-Premiumfunktionen ermöglichen.", + "from_another_project": "Von einem anderen Projekt", + "from_external_url": "Von externer URL", + "from_provider": "Von __provider__", +@@ -534,32 +534,32 @@ + "git_bridge_modal_see_once": "Du siehst diesen Token nur einmal. Um ihn zu löschen oder einen weiteren zu generieren, besuche die Kontoeinstellungen. Für detaillierte Anweisungen und Problembehebung, besuche unsere <0>Hilfe-Seite.", + "git_bridge_modal_use_previous_token": "Wenn Du nach einem Passwort gefragt wirst, kannst Du einen zuvor generierten Git-Anmeldungs-Token verwenden. Oder Du kannst einen Neuen in den Kontoeinstellungen generieren. Für mehr Hilfe, besuche unsere <0>Hilfe-Seite.", + "git_integration": "Git-Integration", +- "git_integration_info": "Mit der Git-Integration kannst Du Overleaf-Projekte Git-clonen. Für weitere Anweisungen hierfür, besuche <0>unsere Hilfe-Seite.", ++ "git_integration_info": "Mit der Git-Integration kannst Du HajTeX-Projekte Git-clonen. Für weitere Anweisungen hierfür, besuche <0>unsere Hilfe-Seite.", + "git_integration_lowercase": "Git-Integration", +- "git_integration_lowercase_info": "Du kannst dein Overleaf-Projekt in ein lokales Repository klonen und dein Overleaf-Projekt als entferntes Repository behandeln, in das Änderungen verschoben und aus dem diese abgerufen werden können.", ++ "git_integration_lowercase_info": "Du kannst dein HajTeX-Projekt in ein lokales Repository klonen und dein HajTeX-Projekt als entferntes Repository behandeln, in das Änderungen verschoben und aus dem diese abgerufen werden können.", + "github_commit_message_placeholder": "Commit-Meldung für Änderungen die in __appName__ gemacht wurden", + "github_credentials_expired": "Deine GitHub-Autorisierungsschlüssel sind abgelaufen", + "github_empty_repository_error": "Es sieht so aus, als sei dein GitHub-Repository leer oder noch nicht verfügbar. Erstelle eine neue Datei auf GitHub.com und versuche es erneut.", + "github_file_name_error": "Dein Projekt kann nicht importiert werden, da es eine oder mehrere Dateien mit ungültigen Dateinamen enthält:", + "github_git_and_dropbox_integrations": "<0>GitHub-, <0>Git- und <0>Dropbox-Integrationen", +- "github_git_folder_error": "Dieses Projekt enthält auf der obersten Ebene einen .git-Ordner, was darauf hinweist, dass es sich bereits um ein Git-Repository handelt. Der GitHub-Synchronisierungsdienst von Overleaf kann keine Git-Verläufe synchronisieren. Bitte entferne den .git-Ordner and versuche es erneut.", ++ "github_git_folder_error": "Dieses Projekt enthält auf der obersten Ebene einen .git-Ordner, was darauf hinweist, dass es sich bereits um ein Git-Repository handelt. Der GitHub-Synchronisierungsdienst von HajTeX kann keine Git-Verläufe synchronisieren. Bitte entferne den .git-Ordner and versuche es erneut.", + "github_integration_lowercase": "Git- und GitHub-Integration", + "github_is_premium": "GitHub-Sync ist eine Premiumfunktion", + "github_large_files_error": "Zusammenführung fehlgeschlagen: Dein GitHub-Repository enthält Dateien mit einer Dateigröße von mehr als 50 MB", + "github_merge_failed": "Deine Änderungen in __appName__ und GitHub konnten nicht automatisch zusammengeführt werden. Bitte führe den <0>__sharelatex_branch__ mit dem Standard-Branch in Git zusammen. Klicke unten um fortzufahren, nachdem du manuell zusammengeführt hast.", + "github_no_master_branch_error": "Dieses Repository kann nicht importiert werden, da ihm ein Standard-Branch fehlt. Stell sicher, dass das Projekt einen Standard-Branch hat", + "github_only_integration_lowercase": "GitHub-Integration", +- "github_only_integration_lowercase_info": "Verknüpfe deine Overleaf-Projekte direkt mit einem GitHub-Repository, das als Remote-Repository für dein Overleaf-Projekt fungiert. Dies ermöglicht dir die gemeinsame Nutzung mit Mitarbeitern außerhalb von Overleaf und die Integration von Overleaf in komplexere Arbeitsabläufe.", ++ "github_only_integration_lowercase_info": "Verknüpfe deine HajTeX-Projekte direkt mit einem GitHub-Repository, das als Remote-Repository für dein HajTeX-Projekt fungiert. Dies ermöglicht dir die gemeinsame Nutzung mit Mitarbeitern außerhalb von HajTeX und die Integration von HajTeX in komplexere Arbeitsabläufe.", + "github_private_description": "Du wählst, wer dieses Repository sehen und etwas übergeben kann.", + "github_public_description": "Jeder kann dieses Repository sehen. Du entscheidest wer committen darf.", +- "github_repository_diverged": "Der Standard-Branch des verknüpften Repositorys wurde forciert gepusht. Das Pullen von GitHub-Änderungen nach einem forciertem Push kann dazu führen, dass Overleaf und GitHub nicht mehr synchron sind. Möglicherweise musst du Änderungen nach dem Pullen erneut Pushen um wieder synchron zu sein", ++ "github_repository_diverged": "Der Standard-Branch des verknüpften Repositorys wurde forciert gepusht. Das Pullen von GitHub-Änderungen nach einem forciertem Push kann dazu führen, dass HajTeX und GitHub nicht mehr synchron sind. Möglicherweise musst du Änderungen nach dem Pullen erneut Pushen um wieder synchron zu sein", + "github_successfully_linked_description": "Danke, wir haben dein GitHub-Nutzerkonto erfolgreich mit __appName__ verknüpft. Du kannst die __appName__-Projekte jetzt in GitHub exportieren oder Projekte aus deinen GitHub-Repositories importieren.", +- "github_symlink_error": "Dein GitHub-Repository enthält Dateien mit symbolischen Links, was derzeit von Overleaf nicht unterstützt wird. Entferne diese und versuche es erneut.", ++ "github_symlink_error": "Dein GitHub-Repository enthält Dateien mit symbolischen Links, was derzeit von HajTeX nicht unterstützt wird. Entferne diese und versuche es erneut.", + "github_sync": "GitHub Synchronisierung", + "github_sync_description": "Mit GitHub-Synchronisierung kannst du deine __appName__-Projekte mit GitHub-Repositories verlinken. Erstelle neue Commits aus __appName__ und führe sie mit Commits in GitHub zusammen.", + "github_sync_error": "Entschuldigung, es gab ein Problem mit unserem GitHub-Dienst. Bitte versuche es später erneut.", + "github_sync_repository_not_found_description": "Das verknüpfte Repository wurde entweder entfernt oder du hast keinen Zugriff mehr darauf. Du kannst die Synchronisierung mit einem neuen Repository einrichten, indem du das Projekt klonst und den Menüpunkt „GitHub“ verwendest. Du kannst das Repository auch von diesem Projekt trennen.", +- "github_timeout_error": "Zeitüberschreitung beim Synchronisieren deines Overleaf-Projekts mit GitHub. Dies kann daran liegen, dass die Gesamtgröße deines Projekts oder die Anzahl der zu synchronisierenden Dateien/Änderungen zu groß ist.", ++ "github_timeout_error": "Zeitüberschreitung beim Synchronisieren deines HajTeX-Projekts mit GitHub. Dies kann daran liegen, dass die Gesamtgröße deines Projekts oder die Anzahl der zu synchronisierenden Dateien/Änderungen zu groß ist.", + "github_too_many_files_error": "Dieses Repository kann nicht importiert werden, da es die maximal zulässige Anzahl von Dateien überschreitet", + "github_validation_check": "Bitte prüfe ob der Repository-Name gültig ist und ob du die Rechte hast ein Git-Repository zu erstellen.", + "github_workflow_authorize": "Autorisiere GitHub-Workflow-Dateien", +@@ -582,8 +582,8 @@ + "group_members_and_collaborators_get_access_to": "Gruppenmitglieder und ihre Projektmitarbeiter erhalten darauf Zugriff", + "group_members_get_access_to": "Gruppenmitglieder erhalten darauf Zugriff", + "group_members_get_access_to_info": "Diese Funktionen stehen nur Gruppenmitgliedern (Abonnenten) zur Verfügung.", +- "group_plan_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied eines Gruppen-Abonnements. Klicke hier um herauszufinden, was Dir die Overleaf-Premiumfunktionen ermöglichen.", +- "group_plan_with_name_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied des Gruppen-Abonnements __groupName__. Klicke hier um herauszufinden, was Dir die Overleaf Premiumfunktionen ermöglichen.", ++ "group_plan_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied eines Gruppen-Abonnements. Klicke hier um herauszufinden, was Dir die HajTeX-Premiumfunktionen ermöglichen.", ++ "group_plan_with_name_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied des Gruppen-Abonnements __groupName__. Klicke hier um herauszufinden, was Dir die HajTeX Premiumfunktionen ermöglichen.", + "group_plans": "Gruppen-Abonnements", + "group_professional": "Gruppe Professionell", + "group_standard": "Gruppe Standard", +@@ -594,7 +594,7 @@ + "headers": "Überschriften", + "help": "Hilfe", + "help_articles_matching": "Hilfeartikel passend zu deinem Thema", +- "help_improve_overleaf_fill_out_this_survey": "Wenn du uns helfen möchtest, Overleaf zu verbessern, nimm dir bitte einen Moment Zeit, um <0>diese Umfrage auszufüllen.", ++ "help_improve_overleaf_fill_out_this_survey": "Wenn du uns helfen möchtest, HajTeX zu verbessern, nimm dir bitte einen Moment Zeit, um <0>diese Umfrage auszufüllen.", + "hide_document_preamble": "Dokumentenpräambel verstecken", + "hide_outline": "Gliederung ausblenden", + "history": "Verlauf", +@@ -740,7 +740,7 @@ + "knowledge_base": "Wissensdatenbank", + "ko": "Koreanisch", + "labels_help_you_to_easily_reference_your_figures": "Labels helfen Dir dabei, Referenzen zu deinen Abbildungen in deinem Dokument zu platzieren. Um eine Referenz zu einer Abbildung zu erstellen, nutze das Label mit dem Kommando <0>\\ref{...}. Das macht es einfach, Abbildungen zu referenzieren, ohne sich ihre Nummer merken zu müssen. <1>Mehr erfahren", +- "labs_program_benefits": "__appName__ sucht stetig nach neuen Möglichkeiten, das Arbeiten seiner Nutzer zu erleichtern. Indem Du dem Overleaf-Labs-Programm beitrittst, kannst Du an Experimenten teilnehmen, die innovative Ideen im Bereich des kollaborativen Schreibens und Veröffentlichens umsetzen.", ++ "labs_program_benefits": "__appName__ sucht stetig nach neuen Möglichkeiten, das Arbeiten seiner Nutzer zu erleichtern. Indem Du dem HajTeX-Labs-Programm beitrittst, kannst Du an Experimenten teilnehmen, die innovative Ideen im Bereich des kollaborativen Schreibens und Veröffentlichens umsetzen.", + "language": "Sprache", + "last_active": "Letzte Aktivität", + "last_active_description": "Letzter Zugriff auf ein Projekt", +@@ -822,7 +822,7 @@ + "login_here": "Hier anmelden", + "login_or_password_wrong_try_again": "Deine E-Mail-Adresse oder Passwort ist nicht korrekt. Bitte versuche es erneut", + "login_register_or": "oder", +- "login_to_overleaf": "Bei Overleaf anmelden", ++ "login_to_overleaf": "Bei HajTeX anmelden", + "login_with_service": "Mit __service__ anmelden", + "logs_and_output_files": "Logs und Ausgabedateien", + "looking_multiple_licenses": "Suchst du mehrere Lizenzen?", +@@ -848,7 +848,7 @@ + "math_display": "Formeln im abgesetzten Modus", + "math_inline": "Formeln im Zeilenmodus", + "max_collab_per_project": "Maximale Mitarbeiter pro Projekt", +- "max_collab_per_project_info": "Anzahl der Personen, die du zur Arbeit an jedem Projekt einladen kannst, sie müssen lediglich ein Overleaf-Konto haben. Es können in jedem Projekt unterschiedliche Personen sein.", ++ "max_collab_per_project_info": "Anzahl der Personen, die du zur Arbeit an jedem Projekt einladen kannst, sie müssen lediglich ein HajTeX-Konto haben. Es können in jedem Projekt unterschiedliche Personen sein.", + "maximum_files_uploaded_together": "Maximal __max__ Dateien zusammen hochgeladen", + "may": "Mai", + "members_management": "Mitgliederverwaltung", +@@ -857,7 +857,7 @@ + "mendeley_groups_relink": "Beim Zugriff auf die Mendeley-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "mendeley_integration": "Mendeley-Integration", + "mendeley_integration_lowercase": "Mendeley-Integration", +- "mendeley_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Mendeley und verknüpfe sie direkt mit .bib-Dateien in Overleaf, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", ++ "mendeley_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Mendeley und verknüpfe sie direkt mit .bib-Dateien in HajTeX, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "mendeley_is_premium": "Mendeley-Integration ist eine Premiumfunktion", + "mendeley_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "mendeley_reference_loading_error_expired": "Mendeley-Token abgelaufen, bitte verknüpfe dein Konto neu", +@@ -870,7 +870,7 @@ + "monthly": "Monatlich", + "more": "Mehr", + "more_info": "Mehr Infos", +- "more_than_one_kind_of_snippet_was_requested": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "more_than_one_kind_of_snippet_was_requested": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "most_popular": "am beliebtesten", + "must_be_email_address": "Es muss eine E-Mail-Adresse sein!", + "n_items": "__count__ Artikel", +@@ -927,18 +927,18 @@ + "normal": "Normal", + "normally_x_price_per_month": "Normalerweise __price__ pro Monat", + "normally_x_price_per_year": "Normalerweise __price__ pro Jahr", +- "not_found_error_from_the_supplied_url": "Der Link zum Öffnen dieses Inhalts auf Overleaf verwies auf eine Datei, die nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "not_found_error_from_the_supplied_url": "Der Link zum Öffnen dieses Inhalts auf HajTeX verwies auf eine Datei, die nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "not_now": "Nicht jetzt", + "not_registered": "Nicht registriert", +- "notification_features_upgraded_by_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit Overleaf und du hast jetzt Zugriff auf alle „Professionell“-Funktionen von Overleaf.", +- "notification_personal_subscription_not_required_due_to_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit Overleaf und du hast jetzt über deine Zugehörigkeit Zugriff auf die „Professionell“-Funktionen von Overleaf. Du kannst dein persönliches Abonnement kündigen, o", ++ "notification_features_upgraded_by_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit HajTeX und du hast jetzt Zugriff auf alle „Professionell“-Funktionen von HajTeX.", ++ "notification_personal_subscription_not_required_due_to_affiliation": "Gute Nachrichten! Deine angeschlossene Organisation __institutionName__ hat eine Partnerschaft mit HajTeX und du hast jetzt über deine Zugehörigkeit Zugriff auf die „Professionell“-Funktionen von HajTeX. Du kannst dein persönliches Abonnement kündigen, o", + "notification_project_invite": "__userName__ möchte, dass du __projectName__ beitrittst. Trete Projekt bei", + "notification_project_invite_accepted_message": "Du bist __projectName__ beigetreten", + "notification_project_invite_message": "__userName__ möchte, dass du __projectName__ beitrittst", + "november": "November", + "number_collab": "Anzahl der Mitarbeiter", + "number_of_users": "Nutzeranzahl", +- "number_of_users_info": "Die Anzahl der Nutzer, die ihr Overleaf-Konto upgraden können, wenn du dieses Abonnement abschließt.", ++ "number_of_users_info": "Die Anzahl der Nutzer, die ihr HajTeX-Konto upgraden können, wenn du dieses Abonnement abschließt.", + "number_of_users_with_colon": "Anzahl der Nutzer:", + "oauth_orcid_description": "Deine Identität sicherstellen durch Verknüpfung deiner ORCID-iD mit deinem __appName__-Konto. Einreichungen bei teilnehmenden Verlagen enthalten automatisch deine ORCID-iD für verbesserten Workflow und bessere Sichtbarkeit.", + "october": "Oktober", +@@ -964,7 +964,7 @@ + "our_values": "Unsere Werte", + "over": "über", + "overall_theme": "Gesamtthema", +- "overleaf_history_system": "Overleaf-Historie", ++ "overleaf_history_system": "HajTeX-Historie", + "overview": "Überblick", + "owner": "Besitzer", + "page_current": "Seite __page__, Aktuelle Seite", +@@ -1194,8 +1194,8 @@ + "select_github_repository": "Wähle ein GitHub-Repository, das du in __appName__ importieren möchtest.", + "select_project": "__project__ auswählen", + "selected": "Ausgewählt", +- "selected_by_overleaf_staff": "Ausgewählt von Overleaf-Mitarbeitern", +- "selected_by_overleaf_staff_description": "Diese Vorlagen wurden von Overleaf-Mitarbeitern für ihre hohe Qualität und positiven Rückmeldungen von Overleaf-Nutzern in den letzten Jahren ausgewählt", ++ "selected_by_overleaf_staff": "Ausgewählt von HajTeX-Mitarbeitern", ++ "selected_by_overleaf_staff_description": "Diese Vorlagen wurden von HajTeX-Mitarbeitern für ihre hohe Qualität und positiven Rückmeldungen von HajTeX-Nutzern in den letzten Jahren ausgewählt", + "send": "Absenden", + "send_first_message": "Sende deine erste Nachricht", + "send_test_email": "Test-Mail senden", +@@ -1228,19 +1228,19 @@ + "showing_x_results_of_total": "Es werden __x__ Ergebnisse von __total__ angezeigt", + "site_description": "Ein einfach bedienbarer Online-LaTeX-Editor. Keine Installation notwendig, Zusammenarbeit in Echtzeit, Versionskontrolle, Hunderte von LaTeX-Vorlagen und mehr", + "sitewide_option_available": "Standortweite Option verfügbar", +- "sitewide_option_available_info": "Nutzern werden automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu Overleaf hinzufügen (domänenbasierte Registrierung oder SSO).", ++ "sitewide_option_available_info": "Nutzern werden automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu HajTeX hinzufügen (domänenbasierte Registrierung oder SSO).", + "skip_to_content": "Zum Inhalt springen", + "something_went_wrong_canceling_your_subscription": "Beim Kündigen deines Abonnements ist etwas schief gelaufen. Bitte wende dich an den Support.", + "something_went_wrong_loading_pdf_viewer": "Beim Laden des PDF-Betrachters ist ein Fehler aufgetreten. Dies kann durch Probleme wie <0>vorübergehende Netzwerkprobleme oder einen <0>veralteten Webbrowser verursacht werden. Bitte befolge die <1>Schritte zur Fehlerbehebung bei Zugriffs-, Lade- und Anzeigeproblemen. Wenn das Problem weiterhin besteht, <2>teile uns dies bitte mit.", + "something_went_wrong_rendering_pdf": "Etwas ist bei der Wiedergabe dieses PDFs schiefgelaufen.", + "something_went_wrong_server": "Es ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "somthing_went_wrong_compiling": "Entschuldigung, es ist etwas schief gegangen und dein Projekt konnte nicht kompiliert werden. Versuche es in ein paar Minuten erneut.", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "Entschuldigung, beim Versuch, diesen Inhalt auf Overleaf zu öffnen, ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "Entschuldigung, beim Versuch, diesen Inhalt auf HajTeX zu öffnen, ist ein unerwarteter Fehler aufgetreten. Bitte versuche es erneut.", + "source": "Quelldateien", + "spell_check": "Rechtschreibprüfung", + "sso_account_already_linked": "Das Konto ist bereits mit einem anderen __appName__-Nutzer verknüpft", + "sso_integration": "SSO-Integration", +- "sso_integration_info": "Overleaf bietet eine standardmäßige SAML-basierte Single-Sign-On-Integration.", ++ "sso_integration_info": "HajTeX bietet eine standardmäßige SAML-basierte Single-Sign-On-Integration.", + "sso_link_error": "Fehler beim Verknüpfen des Kontos", + "sso_not_linked": "Du hast dein Konto nicht mit __provider__ verknüpft. Bitte melde dich auf einem anderen Weg mit deinem Konto an und verknüpfe dein __provider__-Konto über deine Kontoeinstellungen.", + "standard": "Standard", +@@ -1301,7 +1301,7 @@ + "template_gallery": "Vorlagengalerie", + "template_not_found_description": "Diese Methode zum Erstellen von Projekten aus Vorlagen wurde entfernt. Besuche unsere Vorlagengalerie, um weitere Vorlagen zu finden.", + "template_title_taken_from_project_title": "Der Vorlagentitel wird automatisch aus dem Projekttitel übernommen", +- "template_top_pick_by_overleaf": "Diese Vorlage wurde von Overleaf-Mitarbeitern aufgrund ihrer hohen Qualität ausgewählt", ++ "template_top_pick_by_overleaf": "Diese Vorlage wurde von HajTeX-Mitarbeitern aufgrund ihrer hohen Qualität ausgewählt", + "templates": "Vorlagen", + "templates_admin_source_project": "Administration: Quellprojekt", + "templates_page_summary": "Starte deine Projekte mit hochwertigen LaTeX-Vorlagen für Zeitschriften, Lebensläufe, Zusammenfassungen, Papers, Präsentationen, Aufgaben, Briefe, Projektberichte und mehr. Suchen oder unten durchblättern.", +@@ -1317,11 +1317,11 @@ + "thanks_for_subscribing": "Danke fürs Abonnieren!", + "thanks_for_subscribing_you_help_sl": "Danke, dass du den __planName__-Plan abonniert hast. Die Unterstützung von Menschen wie dir macht es __appName__ möglich, zu wachsen und besser zu werden.", + "thanks_settings_updated": "Danke, deine Einstellungen wurden aktualisiert.", +- "the_requested_conversion_job_was_not_found": "Der Link zum Öffnen dieses Inhalts auf Overleaf gab einen Konvertierungsauftrag an, der nicht gefunden werden konnte. Es ist möglich, dass der Job abgelaufen ist und erneut ausgeführt werden muss. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", +- "the_requested_publisher_was_not_found": "Der Link zum Öffnen dieses Inhalts auf Overleaf gab einen Verlag an, der nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", +- "the_required_parameters_were_not_supplied": "Dem Link zum Öffnen dieses Inhalts auf Overleaf fehlten einige erforderliche Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", +- "the_supplied_parameters_were_invalid": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", +- "the_supplied_uri_is_invalid": "Der Link zum Öffnen dieses Inhalts auf Overleaf enthielt einen ungültigen URI. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "the_requested_conversion_job_was_not_found": "Der Link zum Öffnen dieses Inhalts auf HajTeX gab einen Konvertierungsauftrag an, der nicht gefunden werden konnte. Es ist möglich, dass der Job abgelaufen ist und erneut ausgeführt werden muss. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "the_requested_publisher_was_not_found": "Der Link zum Öffnen dieses Inhalts auf HajTeX gab einen Verlag an, der nicht gefunden werden konnte. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "the_required_parameters_were_not_supplied": "Dem Link zum Öffnen dieses Inhalts auf HajTeX fehlten einige erforderliche Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "the_supplied_parameters_were_invalid": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einige ungültige Parameter. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "the_supplied_uri_is_invalid": "Der Link zum Öffnen dieses Inhalts auf HajTeX enthielt einen ungültigen URI. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "theme": "Design", + "then_x_price_per_month": "Danach __price__ pro Monat", + "then_x_price_per_year": "Danach __price__ pro Jahr", +@@ -1385,7 +1385,7 @@ + "tutorials": "Tutorials", + "two_users": "2 Nutzer", + "uk": "Ukrainisch", +- "unable_to_extract_the_supplied_zip_file": "Das Öffnen dieses Inhalts auf Overleaf ist fehlgeschlagen, da die ZIP-Datei nicht extrahiert werden konnte. Bitte stelle sicher, dass es sich um eine gültige ZIP-Datei handelt. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", ++ "unable_to_extract_the_supplied_zip_file": "Das Öffnen dieses Inhalts auf HajTeX ist fehlgeschlagen, da die ZIP-Datei nicht extrahiert werden konnte. Bitte stelle sicher, dass es sich um eine gültige ZIP-Datei handelt. Wenn dies bei Links auf einer bestimmten Website weiterhin auftritt, melde dies bitte dort.", + "unarchive": "Wiederherstellen", + "uncategorized": "Nicht kategorisiert", + "unconfirmed": "Unbestätigt", +@@ -1431,14 +1431,14 @@ + "upload_zipped_project": "Projekt als ZIP hochladen", + "url_to_fetch_the_file_from": "URL, von der die Datei abgerufen werden soll", + "usage_metrics": "Nutzungsmetriken", +- "usage_metrics_info": "Metriken, die zeigen, wie viele Nutzer auf die Lizenz zugreifen, wie viele Projekte erstellt und bearbeitet werden und wie viel in Overleaf zusammengearbeitet wird.", ++ "usage_metrics_info": "Metriken, die zeigen, wie viele Nutzer auf die Lizenz zugreifen, wie viele Projekte erstellt und bearbeitet werden und wie viel in HajTeX zusammengearbeitet wird.", + "use_a_different_password": "Bitte verwende ein anderes Passwort", + "use_your_own_machine": "Verwende deine eigene Maschine mit deinem eigenen Setup", + "user_already_added": "Nutzer bereits hinzugefügt", + "user_deletion_error": "Entschuldigung, beim Löschen deines Kontos ist etwas schief gelaufen. Bitte versuche es in einer Minute erneut.", + "user_deletion_password_reset_tip": "Wenn du dich nicht mehr an dein Passwort erinnern kannst oder wenn du Single-Sign-On mit einem anderen Anbieter verwendest, um dich anzumelden (z.B. ORCID oder Google), <0>setze dein Passwort zurück und versuche es erneut.", + "user_management": "Nutzerverwaltung", +- "user_management_info": "Gruppen-Abonnement-Administratoren haben Zugriff auf ein Admin-Panel, wo die Nutzer einfach hinzugefügt oder entfernt werden können. Bei standortweiten Abonnements werden die Nutzer automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu Overleaf hinzufügen (domänenbasierte Registrierung oder SSO).", ++ "user_management_info": "Gruppen-Abonnement-Administratoren haben Zugriff auf ein Admin-Panel, wo die Nutzer einfach hinzugefügt oder entfernt werden können. Bei standortweiten Abonnements werden die Nutzer automatisch „Professionell“-Funktionen zugewiesen, wenn sie sich registrieren oder ihre E-Mail-Adresse zu HajTeX hinzufügen (domänenbasierte Registrierung oder SSO).", + "user_not_found": "Nutzer wurde nicht gefunden", + "user_wants_you_to_see_project": "__username__ möchte, dass Du __projectname__ beitreten", + "validation_issue_entry_description": "Ein Validierungsproblem, das die Kompilierung dieses Projekts verhindert hat", +@@ -1460,10 +1460,10 @@ + "welcome_to_sl": "Willkommen bei __appName__", + "wide": "Weit", + "will_need_to_log_out_from_and_in_with": "Du musst dich von deinem __email1__-Konto abmelden und dich dann mit __email2__ anmelden.", +- "with_premium_subscription_you_also_get": "Mit einem Overleaf-Premium-Abonnement erhältst du auch Zugriff auf", ++ "with_premium_subscription_you_also_get": "Mit einem HajTeX-Premium-Abonnement erhältst du auch Zugriff auf", + "word_count": "Wortanzahl", + "work_offline": "Offline arbeiten", +- "work_with_non_overleaf_users": "Arbeite mit Nicht-Overleaf-Nutzern", ++ "work_with_non_overleaf_users": "Arbeite mit Nicht-HajTeX-Nutzern", + "would_you_like_to_see_a_university_subscription": "Interessiert an einem Standortweiten __appName__ Abonnement für deine Universität?", + "x_collaborators_per_project": "__collaboratorsCount__ Mitarbeiter pro Projekt", + "x_price_for_first_month": "<0>__price__ für deinen ersten Monat", +@@ -1473,7 +1473,7 @@ + "year": "Jahr", + "yes_that_is_correct": "Ja, das ist richtig", + "you_and_collaborators_get_access_to": "Du und deine Projektmitarbeiter erhalten darauf Zugriff", +- "you_and_collaborators_get_access_to_info": "Diese Funktionen stehen dir und deinen Projektmitarbeitern (anderen Overleaf-Nutzern, die du zu deinen Projekten einlädst) zur Verfügung.", ++ "you_and_collaborators_get_access_to_info": "Diese Funktionen stehen dir und deinen Projektmitarbeitern (anderen HajTeX-Nutzern, die du zu deinen Projekten einlädst) zur Verfügung.", + "you_can_now_log_in_sso": "Du kannst dich jetzt über deine Institution anmelden und möglicherweise <0>kostenlose __appName__ „Professionell“-Funktionen erhalten!", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Du kannst dich jederzeit auf dieser Seite für das Beta-Programm an- und abmelden", + "you_get_access_to": "Du erhältst darauf Zugriff", +@@ -1499,7 +1499,7 @@ + "zotero_groups_relink": "Beim Zugriff auf die Zotero-Daten ist ein Fehler aufgetreten. Dies wurde wahrscheinlich durch fehlende Berechtigungen verursacht. Bitte verknüpfe dein Konto neu und versuche es erneut.", + "zotero_integration": "Zotero-Integration", + "zotero_integration_lowercase": "Zotero-Integration", +- "zotero_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Zotero und verknüpfe sie direkt mit .bib-Dateien in Overleaf, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", ++ "zotero_integration_lowercase_info": "Verwalte deine Referenzbibliothek in Zotero und verknüpfe sie direkt mit .bib-Dateien in HajTeX, sodass du ganz einfach alles aus deinen Bibliotheken zitieren kannst.", + "zotero_is_premium": "Zotero-Integration ist eine Premiumfunktion", + "zotero_reference_loading_error": "Fehler, Referenzen konnten nicht von Mendeley geladen werden", + "zotero_reference_loading_error_expired": "Zotero-Token abgelaufen, bitte verknüpfe dein Konto neu", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff new file mode 100644 index 0000000..1193e2c --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff @@ -0,0 +1,848 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/en.json 2024-12-11 19:56:50.245644873 +0000 ++++ ../5.2.1/overleaf/services/web/locales/en.json 2024-12-01 18:28:29.000000000 +0000 +@@ -50,7 +50,7 @@ + "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", + "account_settings": "Account Settings", + "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", +- "acct_linked_to_institution_acct_2": "You can <0>log in to Overleaf through your <0>__institutionName__ institutional login.", ++ "acct_linked_to_institution_acct_2": "You can <0>log in to HajTeX through your <0>__institutionName__ institutional login.", + "actions": "Actions", + "activate": "Activate", + "activate_account": "Activate your account", +@@ -104,7 +104,7 @@ + "advanced_search": "Advanced Search", + "aggregate_changed": "Changed", + "aggregate_to": "to", +- "agree_with_the_terms": "I agree with the Overleaf terms", ++ "agree_with_the_terms": "I agree with the HajTeX terms", + "ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "Do you have any thoughts or suggestions for improving this feature?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Tell us what was wrong so we can improve.", +@@ -142,7 +142,7 @@ + "anyone_with_link_can_view": "Anyone with this link can view this project", + "app_on_x": "__appName__ on __social__", + "apply_educational_discount": "Apply educational discount", +- "apply_educational_discount_info": "Overleaf offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using Overleaf for teaching.", ++ "apply_educational_discount_info": "HajTeX offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using HajTeX for teaching.", + "apply_educational_discount_info_new": "40% discount for groups of 10 or more using __appName__ for teaching", + "apply_suggestion": "Apply suggestion", + "april": "April", +@@ -209,9 +209,9 @@ + "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", + "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", + "buy_now_no_exclamation_mark": "Buy now", +- "buy_overleaf_assist": "Buy Overleaf Assist", ++ "buy_overleaf_assist": "Buy HajTeX Assist", + "by": "by", +- "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from Overleaf—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", ++ "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from HajTeX—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", + "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.", + "by_subscribing_you_agree_to_our_terms_of_service": "By subscribing, you agree to our <0>terms of service.", + "can_edit": "Can edit", +@@ -297,7 +297,7 @@ + "collaborate_online_and_offline": "Collaborate online and offline, using your own workflow", + "collaboration": "Collaboration", + "collaborator": "Collaborator", +- "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to Overleaf from IEEE Collabratec™ or log in with a different account.", ++ "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to HajTeX from IEEE Collabratec™ or log in with a different account.", + "collabs_per_proj": "__collabcount__ collaborators per project", + "collabs_per_proj_single": "__collabcount__ collaborator per project", + "collapse": "Collapse", +@@ -309,7 +309,7 @@ + "commit": "Commit", + "common": "Common", + "common_causes_of_compile_timeouts_include": "Common causes of compile timeouts include", +- "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your Overleaf premium features.", ++ "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your HajTeX premium features.", + "community_articles": "Community articles", + "compact": "Compact", + "company_name": "Company Name", +@@ -325,8 +325,8 @@ + "compile_servers_info_new": "The servers used to compile your project. Compiles for users on paid plans always run on the fastest available servers.", + "compile_terminated_by_user": "The compile was cancelled using the ‘Stop Compilation’ button. You can download the raw logs to see where the compile stopped.", + "compile_timeout_short": "Compile timeout", +- "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the Overleaf servers. You may need additional time for longer or more complex projects.", +- "compile_timeout_short_info_new": "This is how much time you get to compile your project on Overleaf. You may need additional time for longer or more complex projects.", ++ "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the HajTeX servers. You may need additional time for longer or more complex projects.", ++ "compile_timeout_short_info_new": "This is how much time you get to compile your project on HajTeX. You may need additional time for longer or more complex projects.", + "compiler": "Compiler", + "compiling": "Compiling", + "complete": "Complete", +@@ -405,7 +405,7 @@ + "custom": "Custom", + "custom_borders": "Custom borders", + "custom_resource_portal": "Custom resource portal", +- "custom_resource_portal_info": "You can have your own custom portal page on Overleaf. This is a great place for your users to find out more about Overleaf, access templates, FAQs and Help resources, and sign up to Overleaf.", ++ "custom_resource_portal_info": "You can have your own custom portal page on HajTeX. This is a great place for your users to find out more about HajTeX, access templates, FAQs and Help resources, and sign up to HajTeX.", + "customer_resource_portal": "Customer resource portal", + "customize": "Customize", + "customize_your_group_subscription": "Customize your group subscription", +@@ -419,7 +419,7 @@ + "dealing_with_errors": "Dealing with errors", + "december": "December", + "dedicated_account_manager": "Dedicated account manager", +- "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about Overleaf with promotional materials, training resources and webinars.", ++ "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about HajTeX with promotional materials, training resources and webinars.", + "default": "Default", + "delete": "Delete", + "delete_account": "Delete Account", +@@ -467,7 +467,7 @@ + "disconnected": "Disconnected", + "discount_of": "Discount of __amount__", + "discover_latex_templates_and_examples": "Discover LaTeX templates and examples to help with everything from writing a journal article to using a specific LaTeX package.", +- "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust Overleaf with their work.", ++ "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust HajTeX with their work.", + "dismiss_error_popup": "Dismiss first error alert", + "display_deleted_user": "Display deleted users", + "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", +@@ -493,7 +493,7 @@ + "dont_have_account_without_question_mark": "Don’t have an account", + "download": "Download", + "download_all": "Download all", +- "download_metadata": "Download Overleaf metadata", ++ "download_metadata": "Download HajTeX metadata", + "download_pdf": "Download PDF", + "download_zip_file": "Download .zip file", + "draft_sso_configuration": "Draft SSO configuration", +@@ -501,15 +501,15 @@ + "drag_here_paste_an_image_or": "Drag here, paste an image, or ", + "drop_files_here_to_upload": "Drop files here to upload", + "dropbox": "Dropbox", +- "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account.", +- "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account using email address __otherUsersEmail__.", ++ "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account.", ++ "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account using email address __otherUsersEmail__.", + "dropbox_checking_sync_status": "Checking Dropbox for updates", + "dropbox_duplicate_names_error": "Your Dropbox account can not be linked, because you have more than one project with the same name: ", + "dropbox_duplicate_project_names": "Your Dropbox account has been unlinked, because you have more than one project called <0>\"__projectName__\".", + "dropbox_duplicate_project_names_suggestion": "Please make your project names unique across all your <0>active, archived and trashed projects and then re-link your Dropbox account.", + "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", + "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won’t be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", +- "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on Overleaf and vice versa.", ++ "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on HajTeX and vice versa.", + "dropbox_integration_lowercase": "Dropbox integration", + "dropbox_successfully_linked_description": "Thanks, we’ve successfully linked your Dropbox account to __appName__.", + "dropbox_sync": "Dropbox Sync", +@@ -521,16 +521,16 @@ + "dropbox_sync_now_running": "A manual sync for this project has been started in the background. Please give it a few minutes to process.", + "dropbox_sync_out": "Sending updates to Dropbox", + "dropbox_sync_troubleshoot": "Changes not appearing in Dropbox? Please wait a few minutes. If changes still don’t appear, you can <0>sync this project now.", +- "dropbox_synced": "Overleaf and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", +- "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with Overleaf.", +- "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with Overleaf.", ++ "dropbox_synced": "HajTeX and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", ++ "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with HajTeX.", ++ "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with HajTeX.", + "dropbox_unlinked_premium_feature": "<0>Your Dropbox account has been unlinked because Dropbox Sync is a premium feature that you had through an institutional license.", + "due_date": "Due __date__", + "due_today": "Due today", + "duplicate_file": "Duplicate File", + "duplicate_projects": "This user has projects with duplicate names", + "each_user_will_have_access_to": "Each user will have access to", +- "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your Overleaf plan.", ++ "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your HajTeX plan.", + "easily_manage_your_project_files_everywhere": "Easily manage your project files, everywhere", + "easy_collaboration_for_students": "Easy collaboration for students. Supports longer or more complex projects.", + "edit": "Edit", +@@ -553,8 +553,8 @@ + "editor_theme": "Editor theme", + "educational_discount_applied": "40% educational discount applied!", + "educational_discount_available_for_groups_of_ten_or_more": "The educational discount is available for groups of 10 or more", +- "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using Overleaf for teaching)", +- "educational_discount_for_groups_of_ten_or_more": "Overleaf offers a 40% educational discount for groups of 10 or more.", ++ "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using HajTeX for teaching)", ++ "educational_discount_for_groups_of_ten_or_more": "HajTeX offers a 40% educational discount for groups of 10 or more.", + "educational_discount_for_groups_of_x_or_more": "The educational discount is available for groups of __size__ or more", + "educational_percent_discount_applied": "__percent__% educational discount applied!", + "email": "Email", +@@ -632,21 +632,21 @@ + "faq_change_plans_or_cancel_question": "Can I change plans or cancel later?", + "faq_do_collab_need_on_paid_plan_answer": "No, they can be on any plan, including the free plan. If you are on a premium plan, some premium features will be available to your collaborators in projects that you have created, even if those collaborators are on the free plan. For more information, read about <0>account and subscriptions and <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Do my collaborators also need to be on a paid plan?", +- "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one Overleaf account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", ++ "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one HajTeX account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", + "faq_how_does_a_group_plan_work_question": "How does a group plan work? How can I add people to the plan?", + "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", + "faq_how_free_trial_works_answer_v2": "You get full access to your chosen premium plan during your __len__ day free trial, and there is no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to your subscription settings in your account (the trial will continue for the full __len__ days).", + "faq_how_free_trial_works_question": "How does the free trial work?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In Overleaf, every user creates and manages their own Overleaf account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same Overleaf account.", +- "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in Overleaf.", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In HajTeX, every user creates and manages their own HajTeX account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same HajTeX account.", ++ "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "I have a free account and want to join a subscription, how do I do that?", + "faq_pay_by_invoice_answer_v2": "Yes, if you’d like to purchase a group subscription for five or more people, or a site license. For individual subscriptions we can only accept payment online via credit card, debit card or PayPal.", + "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "No. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 collaborators to each project owned by you.", + "faq_the_individual_standard_plan_10_collab_question": "The individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "While working on a project that you, as a subscriber, share with them, your collaborators will be able to access some premium features such as the full document history and extended compile time for that particular project. Inviting them to a particular project does not upgrade their accounts overall, however. Read more about <0>which features are per project, and which are per account.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In Overleaf, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other Overleaf users that you are working with on one of your projects.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In HajTeX, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other HajTeX users that you are working with on one of your projects.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "What’s the difference between users and collaborators?", + "fast": "Fast", + "fastest": "Fastest", +@@ -724,7 +724,7 @@ + "free_7_day_trial_billed_monthly": "Free 7-day trial, then billed monthly", + "free_dropbox_and_history": "Free Dropbox and History", + "free_plan_label": "You’re on the free plan", +- "free_plan_tooltip": "Click to find out how you could benefit from Overleaf premium features.", ++ "free_plan_tooltip": "Click to find out how you could benefit from HajTeX premium features.", + "frequently_asked_questions": "frequently asked questions", + "from_another_project": "From another project", + "from_enforcement_date": "From __enforcementDate__ any additional editors on this project will be made viewers.", +@@ -754,8 +754,8 @@ + "get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline", + "get_discounted_plan": "Get discounted plan", + "get_dropbox_sync": "Get Dropbox Sync", +- "get_early_access_to_ai": "Get early access to the new AI Error Assistant in Overleaf Labs", +- "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join Overleaf Labs. All we ask in return is your honest feedback to help us develop and improve.", ++ "get_early_access_to_ai": "Get early access to the new AI Error Assistant in HajTeX Labs", ++ "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join HajTeX Labs. All we ask in return is your honest feedback to help us develop and improve.", + "get_full_project_history": "Get full project history", + "get_git_integration": "Get Git integration", + "get_github_sync": "Get GitHub Sync", +@@ -766,7 +766,7 @@ + "get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features.", + "get_some_texnical_assistance": "Get some TeXnical assistance from AI to fix errors in your project.", + "get_symbol_palette": "Get Symbol Palette", +- "get_the_best_overleaf_experience": "Get the best Overleaf experience", ++ "get_the_best_overleaf_experience": "Get the best HajTeX experience", + "get_the_best_writing_experience": "Get the best writing experience", + "get_the_most_out_headline": "Get the most out of __appName__ with features such as:", + "get_track_changes": "Get track changes", +@@ -785,9 +785,9 @@ + "git_bridge_modal_you_can_also_git_clone": "You can also git clone your project by using the link below and a Git authentication token.", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git, GitHub, Dropbox, Mendeley, and Zotero integrations", + "git_integration": "Git Integration", +- "git_integration_info": "With Git integration, you can clone your Overleaf projects with Git. For full instructions on how to do this, read <0>our help page.", ++ "git_integration_info": "With Git integration, you can clone your HajTeX projects with Git. For full instructions on how to do this, read <0>our help page.", + "git_integration_lowercase": "Git integration", +- "git_integration_lowercase_info": "You can clone your Overleaf project to a local repository, treating your Overleaf project as a remote repository that changes can be pushed to and pulled from.", ++ "git_integration_lowercase_info": "You can clone your HajTeX project to a local repository, treating your HajTeX project as a remote repository that changes can be pushed to and pulled from.", + "github": "GitHub", + "github_commit_message_placeholder": "Commit message for changes made in __appName__...", + "github_credentials_expired": "Your GitHub authorization credentials have expired", +@@ -795,7 +795,7 @@ + "github_file_name_error": "This repository cannot be imported, because it contains file(s) with an invalid filename:", + "github_file_sync_error": "We are unable to sync the following files:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git and <0>Dropbox integrations", +- "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The Overleaf GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", ++ "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The HajTeX GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", + "github_integration_lowercase": "Git and GitHub integration", + "github_is_no_longer_connected": "GitHub is no longer connected to this project.", + "github_is_premium": "GitHub Sync is a premium feature", +@@ -803,17 +803,17 @@ + "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the <0>__sharelatex_branch__ branch into the default branch in git. Click below to continue, after you have manually merged.", + "github_no_master_branch_error": "This repository cannot be imported as it is missing a default branch. Please make sure the project has a default branch", + "github_only_integration_lowercase": "GitHub integration", +- "github_only_integration_lowercase_info": "Link your Overleaf projects directly to a GitHub repository that acts as a remote repository for your overleaf project. This allows you to share with collaborators outside of Overleaf, and integrate Overleaf into more complex workflows.", ++ "github_only_integration_lowercase_info": "Link your HajTeX projects directly to a GitHub repository that acts as a remote repository for your HajTeX project. This allows you to share with collaborators outside of HajTeX, and integrate HajTeX into more complex workflows.", + "github_private_description": "You choose who can see and commit to this repository.", + "github_public_description": "Anyone can see this repository. You choose who can commit.", +- "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause Overleaf and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", ++ "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause HajTeX and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", + "github_successfully_linked_description": "Thanks, we’ve successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", +- "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by Overleaf. Please remove these and try again.", ++ "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by HajTeX. Please remove these and try again.", + "github_sync": "GitHub Sync", + "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories, create new commits from __appName__, and merge commits from GitHub.", + "github_sync_error": "Sorry, there was a problem checking our GitHub service. Please try again in a few moments.", + "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the ‘GitHub’ menu item. You can also unlink the repository from this project.", +- "github_timeout_error": "Syncing your Overleaf project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", ++ "github_timeout_error": "Syncing your HajTeX project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", + "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", + "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", + "github_workflow_authorize": "Authorize GitHub Workflow files", +@@ -831,7 +831,7 @@ + "go_to_first_page": "Go to first page", + "go_to_last_page": "Go to last page", + "go_to_next_page": "Go to next page", +- "go_to_overleaf": "Go to Overleaf", ++ "go_to_overleaf": "Go to HajTeX", + "go_to_page_x": "Go to page __page__", + "go_to_pdf_location_in_code": "Go to PDF location in code (Tip: double click on the PDF for best results)", + "go_to_previous_page": "Go to previous page", +@@ -848,16 +848,16 @@ + "group_libraries": "Group Libraries", + "group_managed_by_group_administrator": "User accounts in this group are managed by the group administrator.", + "group_members_and_collaborators_get_access_to": "Group members and their project collaborators get access to", +- "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other Overleaf users invited to projects owned by a group member).", ++ "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other HajTeX users invited to projects owned by a group member).", + "group_members_get_access_to": "Group members get access to", + "group_members_get_access_to_info": "These features are available only to group members (subscribers).", +- "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", +- "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your Overleaf premium features.", +- "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your Overleaf premium features.", ++ "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", ++ "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your HajTeX premium features.", ++ "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your HajTeX premium features.", + "group_plans": "Group Plans", + "group_professional": "Group Professional", + "group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata. You can add this manually or click <1>Import IdP metadata to import an XML file.", +- "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure Overleaf as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the Overleaf metadata.", ++ "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure HajTeX as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the HajTeX metadata.", + "group_sso_documentation_links": "Please see our <0>documentation and <1>troubleshooting guide for more help.", + "group_standard": "Group Standard", + "group_subscription": "Group Subscription", +@@ -867,7 +867,7 @@ + "headers": "Headers", + "help": "Help", + "help_articles_matching": "Help articles matching your subject", +- "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve Overleaf, please take a moment to fill out <0>this survey.", ++ "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve HajTeX, please take a moment to fill out <0>this survey.", + "help_improve_screen_reader_fill_out_this_survey": "Help us improve your experience using a screen reader with __appName__ by filling out this quick survey.", + "hide_configuration": "Hide configuration", + "hide_deleted_user": "Hide deleted users", +@@ -927,7 +927,7 @@ + "how_to_create_tables": "How to create tables", + "how_to_insert_images": "How to insert images", + "how_we_use_your_data": "How we use your data", +- "how_we_use_your_data_explanation": "<0>Please help us continue to improve Overleaf by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your Overleaf experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", ++ "how_we_use_your_data_explanation": "<0>Please help us continue to improve HajTeX by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your HajTeX experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", + "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "i_want_to_stay": "I want to stay", + "id": "ID", +@@ -966,7 +966,7 @@ + "indvidual_plans": "Individual Plans", + "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", +- "inr_discount_modal_title": "70% off all Overleaf premium plans for users in India", ++ "inr_discount_modal_title": "70% off all HajTeX premium plans for users in India", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 70% discount to premium plans for our users in India. Check out the new lower prices below.", + "insert": "Insert", + "insert_column_left": "Insert column left", +@@ -992,7 +992,7 @@ + "institution_acct_successfully_linked_2": "Your <0>__appName__ account was successfully linked to your <0>__institutionName__ institutional account.", + "institution_and_role": "Institution and role", + "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", +- "institution_has_overleaf_subscription": "<0>__institutionName__ has an Overleaf subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>Overleaf Professional.", ++ "institution_has_overleaf_subscription": "<0>__institutionName__ has an HajTeX subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>HajTeX Professional.", + "institution_templates": "Institution Templates", + "institutional": "Institutional", + "institutional_leavers_survey_notification": "Provide some quick feedback to receive a 25% discount on an annual subscription!", +@@ -1040,7 +1040,7 @@ + "join_beta_program": "Join beta program", + "join_labs": "Join Labs", + "join_now": "Join now", +- "join_overleaf_labs": "Join Overleaf Labs", ++ "join_overleaf_labs": "Join HajTeX Labs", + "join_project": "Join Project", + "join_sl_to_view_project": "Join __appName__ to view this project", + "join_team_explanation": "Please click the button below to join the group subscription and enjoy the benefits of an upgraded __appName__ account", +@@ -1060,7 +1060,7 @@ + "ko": "Korean", + "labels_help_you_to_easily_reference_your_figures": "Labels help you to easily reference your figures throughout your document. To reference a figure within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference figures without needing to manually remember the figure numbering. <1>Learn more", + "labels_help_you_to_reference_your_tables": "Labels help you to reference your tables throughout your document easily. To reference a table within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference tables without manually remembering the table numbering. <1>Read about labels and cross-references.", +- "labs_program_benefits": "By signing up for Overleaf Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", ++ "labs_program_benefits": "By signing up for HajTeX Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", + "language": "Language", + "language_feedback": "Language Feedback", + "large_or_high-resolution_images_taking_too_long": "Large or high-resolution images taking too long to process. You may be able to <0>optimize them.", +@@ -1075,7 +1075,7 @@ + "last_updated": "Last Updated", + "last_updated_date_by_x": "__lastUpdatedDate__ by __person__", + "last_used": "last used", +- "latam_discount_modal_info": "Unlock the full potential of Overleaf with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", ++ "latam_discount_modal_info": "Unlock the full potential of HajTeX with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", + "latam_discount_modal_title": "Premium subscription discount", + "latam_discount_offer_plans_page_banner": "__flag__ We’ve applied a __discount__ discount to premium plans on this page for our users in __country__. Check out the new lower prices (in __currency__).", + "latex_articles_page_summary": "Papers, presentations, reports and more, written in LaTeX and published by our community. Search or browse below.", +@@ -1104,7 +1104,7 @@ + "leave": "Leave", + "leave_any_group_subscriptions": "Leave any group subscriptions other than the one that will be managing your account. <0>Leave them from the Subscription page.", + "leave_group": "Leave group", +- "leave_labs": "Leave Overleaf Labs", ++ "leave_labs": "Leave HajTeX Labs", + "leave_now": "Leave now", + "leave_project": "Leave Project", + "leave_projects": "Leave Projects", +@@ -1182,7 +1182,7 @@ + "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", +- "login_to_overleaf": "Log in to Overleaf", ++ "login_to_overleaf": "Log in to HajTeX", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", +@@ -1221,11 +1221,11 @@ + "managed_user_invite_has_been_sent_to_email": "Managed User invite has been sent to <0>__email__", + "managed_users": "Managed Users", + "managed_users_accounts": "Managed user accounts", +- "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of Overleaf. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", ++ "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of HajTeX. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", + "managed_users_explanation": "Managed Users ensures you stay in control of your organization’s projects and who owns them. <0>Read more about Managed Users.", + "managed_users_gives_gives_you_more_control_over_your_group": "Managed Users gives you more control over your group’s use of __appName__. It ensures tighter management of user access and deletion and allows you to keep control of your projects when someone leaves the group.", + "managed_users_is_enabled": "Managed Users is enabled", +- "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of Overleaf in place of any previously agreed Overleaf terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", ++ "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of HajTeX in place of any previously agreed HajTeX terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", + "managers_cannot_remove_admin": "Admins cannot be removed", + "managers_cannot_remove_self": "Managers cannot remove themselves", + "managers_management": "Managers management", +@@ -1236,7 +1236,7 @@ + "math_display": "Math Display", + "math_inline": "Math Inline", + "max_collab_per_project": "Max. collaborators per project", +- "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an Overleaf account. They can be different people in each project.", ++ "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an HajTeX account. They can be different people in each project.", + "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", + "may": "May", + "maybe_later": "Maybe later", +@@ -1248,7 +1248,7 @@ + "mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "mendeley_integration": "Mendeley Integration", + "mendeley_integration_lowercase": "Mendeley integration", +- "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", ++ "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "mendeley_is_premium": "Mendeley integration is a premium feature", + "mendeley_reference_loading_error": "Error, could not load references from Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", +@@ -1272,7 +1272,7 @@ + "more_options": "More options", + "more_options_for_border_settings_coming_soon": "More options for border settings coming soon.", + "more_project_collaborators": "<0>More project <0>collaborators", +- "more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", ++ "more_than_one_kind_of_snippet_was_requested": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "most_popular": "most popular", + "most_popular_uppercase": "Most popular", + "must_be_email_address": "Must be an email address", +@@ -1359,14 +1359,14 @@ + "normal": "Normal", + "normally_x_price_per_month": "Normally __price__ per month", + "normally_x_price_per_year": "Normally __price__ per year", +- "not_found_error_from_the_supplied_url": "The link to open this content on Overleaf pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", ++ "not_found_error_from_the_supplied_url": "The link to open this content on HajTeX pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "not_managed": "Not managed", + "not_now": "Not now", + "not_registered": "Not registered", + "note_features_under_development": "<0>Please note that features in this program are still being tested and actively developed. This means that they might <0>change, be <0>removed or <0>become part of a premium plan", +- "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to all of Overleaf’s Professional features.", ++ "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to all of HajTeX’s Professional features.", + "notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription. To avoid paying more than you need to, <1>review your subscriptions.", +- "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to Overleaf’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", ++ "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to HajTeX’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", + "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", + "notification_project_invite_accepted_message": "You’ve joined __projectName__", + "notification_project_invite_message": "__userName__ would like you to join __projectName__", +@@ -1375,7 +1375,7 @@ + "number_collab_info": "The number of people you can invite to work on a project with you. The limit is per project, so you can invite different people to each project.", + "number_of_projects": "Number of projects", + "number_of_users": "Number of users", +- "number_of_users_info": "The number of users that can upgrade their Overleaf account if you purchase this plan.", ++ "number_of_users_info": "The number of users that can upgrade their HajTeX account if you purchase this plan.", + "number_of_users_with_colon": "Number of users:", + "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", + "october": "October", +@@ -1390,14 +1390,14 @@ + "one_collaborator_per_project": "1 collaborator per project", + "one_free_collab": "One free collaborator", + "one_per_project": "1 per project", +- "one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Professional features!", ++ "one_step_away_from_professional_features": "You are one step away from accessing <0>HajTeX Professional features!", + "one_user": "1 user", + "ongoing_experiments": "Ongoing experiments", + "online_latex_editor": "Online LaTeX Editor", + "only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:", + "only_group_admin_or_managers_can_delete_your_account_2": "Only your group admin or group managers will be able to delete your account.", + "only_group_admin_or_managers_can_delete_your_account_3": "Your group admin and group managers will be able to reassign ownership of your projects to another group member.", +- "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed Overleaf accounts.", ++ "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed HajTeX accounts.", + "only_group_admin_or_managers_can_delete_your_account_5": "For more information, see the \"Managed Accounts\" section in our terms of use, which you agree to by clicking Accept invitation", + "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", + "open_a_file_on_the_left": "Open a file on the left", +@@ -1432,13 +1432,13 @@ + "over": "over", + "over_n_users_at_research_institutions_and_business": "Over __userCountMillion__ million users at research institutions and businesses worldwide love __appName__", + "overall_theme": "Overall theme", +- "overleaf": "Overleaf", +- "overleaf_group_plans": "Overleaf group plans", +- "overleaf_history_system": "Overleaf History System", +- "overleaf_individual_plans": "Overleaf individual plans", +- "overleaf_labs": "Overleaf Labs", +- "overleaf_plans_and_pricing": "overleaf plans and pricing", +- "overleaf_template_gallery": "overleaf template gallery", ++ "overleaf": "HajTeX", ++ "overleaf_group_plans": "HajTeX group plans", ++ "overleaf_history_system": "HajTeX History System", ++ "overleaf_individual_plans": "HajTeX individual plans", ++ "overleaf_labs": "HajTeX Labs", ++ "overleaf_plans_and_pricing": "HajTeX plans and pricing", ++ "overleaf_template_gallery": "HajTeX template gallery", + "overview": "Overview", + "overwrite": "Overwrite", + "overwriting_the_original_folder": "Overwriting the original folder will delete it and all the files it contains.", +@@ -1494,7 +1494,7 @@ + "personalized_onboarding_info": "We’ll help you get everything set up and then we’re here to answer questions from your users about the platform, templates or LaTeX!", + "pl": "Polish", + "plan": "Plan", +- "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your Overleaf premium features.", ++ "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your HajTeX premium features.", + "planned_maintenance": "Planned Maintenance", + "plans_amper_pricing": "Plans & Pricing", + "plans_and_pricing": "Plans and Pricing", +@@ -1537,7 +1537,7 @@ + "powerful_latex_editor_and_realtime_collaboration_info": "Spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and more. Everyone always has the latest version, and you can see your collaborators’ cursors and changes in real time.", + "premium_feature": "Premium feature", + "premium_features": "Premium features", +- "premium_plan_label": "You’re using Overleaf Premium", ++ "premium_plan_label": "You’re using HajTeX Premium", + "presentation": "Presentation", + "presentation_mode": "Presentation mode", + "press_and_awards": "Press & awards", +@@ -1581,7 +1581,7 @@ + "project_ownership_transfer_confirmation_1": "Are you sure you want to make <0>__user__ the owner of <1>__project__?", + "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", + "project_renamed_or_deleted": "Project Renamed or Deleted", +- "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on Overleaf, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", ++ "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on HajTeX, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", + "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", + "project_synchronisation": "Project Synchronisation", + "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error” to help you find and fix errors right away.", +@@ -1611,7 +1611,7 @@ + "quoted_text_in": "Quoted text in", + "raw_logs": "Raw logs", + "raw_logs_description": "Raw logs from the LaTeX compiler", +- "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using Overleaf History.", ++ "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using HajTeX History.", + "react_history_tutorial_title": "History actions have a new home", + "reactivate_subscription": "Reactivate your subscription", + "read_lines_from_path": "Read lines from __path__", +@@ -1707,7 +1707,7 @@ + "repository_name": "Repository Name", + "republish": "Republish", + "request_new_password_reset_email": "Request a new password reset email", +- "request_overleaf_common": "Request Overleaf Commons", ++ "request_overleaf_common": "Request HajTeX Commons", + "request_password_reset": "Request password reset", + "request_password_reset_to_reconfirm": "Request password reset email to reconfirm", + "request_reconfirmation_email": "Request reconfirmation email", +@@ -1762,13 +1762,13 @@ + "saml_authentication_required_error": "Other login methods have been disabled by your group administrator. Please use your group SSO login.", + "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", + "saml_email_not_recognized_error": "This email address isn’t set up for SSO. Please check it and try again or contact your administrator.", +- "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different Overleaf account. Please contact your administrator for more information.", ++ "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different HajTeX account. Please contact your administrator for more information.", + "saml_invalid_signature_error": "Sorry, the information received from your identity provider has an invalid signature. Please contact your administrator for more information.", + "saml_login_disabled_error": "Sorry, single sign-on login has been disabled for __email__. Please contact your administrator for more information.", + "saml_login_failure": "Sorry, there was a problem logging you in. Please contact your administrator for more information.", +- "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to Overleaf as __email__ but the identity returned by your identity provider is not the correct one for this Overleaf account.", +- "saml_login_identity_not_found_error": "Sorry, we were not able to find an Overleaf account set up for single sign-on with this identity provider.", +- "saml_metadata": "Overleaf SAML Metadata", ++ "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to HajTeX as __email__ but the identity returned by your identity provider is not the correct one for this HajTeX account.", ++ "saml_login_identity_not_found_error": "Sorry, we were not able to find an HajTeX account set up for single sign-on with this identity provider.", ++ "saml_metadata": "HajTeX SAML Metadata", + "saml_missing_signature_error": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required). Please contact your administrator for more information.", + "saml_response": "SAML Response", + "save": "Save", +@@ -1847,8 +1847,8 @@ + "select_tag": "Select tag __tagName__", + "select_user": "Select user", + "selected": "Selected", +- "selected_by_overleaf_staff": "Selected by Overleaf staff", +- "selected_by_overleaf_staff_description": "These templates were hand-picked by Overleaf staff for their high quality and positive feedback received from the Overleaf community over the years.", ++ "selected_by_overleaf_staff": "Selected by HajTeX staff", ++ "selected_by_overleaf_staff_description": "These templates were hand-picked by HajTeX staff for their high quality and positive feedback received from the HajTeX community over the years.", + "selection_deleted": "Selection deleted", + "send": "Send", + "send_first_message": "Send your first message to your collaborators", +@@ -1859,7 +1859,7 @@ + "september": "September", + "server_error": "Server Error", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro license", +- "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact Overleaf.", ++ "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact HajTeX.", + "server_pro_license_entitlement_line_3": "An active user is one who has opened a project in this Server Pro instance in the last 12 months.", + "services": "Services", + "session_created_at": "Session Created At", +@@ -1873,7 +1873,7 @@ + "set_up_single_sign_on": "Set up single sign-on (SSO)", + "set_up_sso": "Set up SSO", + "settings": "Settings", +- "setup_another_account_under_a_personal_email_address": "Set up another Overleaf account under a personal email address.", ++ "setup_another_account_under_a_personal_email_address": "Set up another HajTeX account under a personal email address.", + "share": "Share", + "share_project": "Share Project", + "share_with_your_collabs": "Share with your collaborators", +@@ -1905,7 +1905,7 @@ + "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", + "site_wide_option_available": "Site-wide option available", + "sitewide_option_available": "Site-wide option available", +- "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", ++ "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "six_collaborators_per_project": "6 collaborators per project", + "six_per_project": "6 per project", + "skip": "Skip", +@@ -1921,9 +1921,9 @@ + "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", + "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.", + "sorry_it_looks_like_that_didnt_work_this_time": "Sorry! It looks like that didn’t work this time. Please try again.", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on Overleaf. Please try again.", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on HajTeX. Please try again.", + "sorry_the_connection_to_the_server_is_down": "Sorry, the connection to the server is down.", +- "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in Overleaf Labs.", ++ "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in HajTeX Labs.", + "sorry_this_account_has_been_suspended": "Sorry, this account has been suspended.", + "sorry_your_table_cant_be_displayed_at_the_moment": "Sorry, your table can’t be displayed at the moment.", + "sorry_your_token_expired": "Sorry, your token expired", +@@ -1945,7 +1945,7 @@ + "sso_configuration": "SSO configuration", + "sso_configuration_not_finalized": "Your configuration has not been finalized.", + "sso_configuration_saved": "SSO configuration has been saved", +- "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use Overleaf as you normally would.", ++ "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use HajTeX as you normally would.", + "sso_error_audience_mismatch": "The Service Provider entity ID configured in your IdP does not match the one provided in our metadata. Please contact your IT department for more information.", + "sso_error_idp_error": "Your identity provider responded with an error.", + "sso_error_invalid_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user has an invalid format, a string is expected. Attribute: <0>__expecting__", +@@ -1955,10 +1955,10 @@ + "sso_error_missing_lastname_attribute": "The SAML attribute that specifies the user’s last name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_signature": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required).", + "sso_error_response_already_processed": "The SAML response’s InResponseTo is invalid. This can happen if it either didn’t match that of the SAML request, or the login took too long to process and the request has expired.", +- "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about Overleaf Group SSO.", ++ "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about HajTeX Group SSO.", + "sso_here_is_the_data_we_received": "Here is the data we received in the SAML response:", + "sso_integration": "SSO integration", +- "sso_integration_info": "Overleaf offers a standard SAML-based Single Sign On integration.", ++ "sso_integration_info": "HajTeX offers a standard SAML-based Single Sign On integration.", + "sso_is_disabled": "SSO is disabled", + "sso_is_disabled_explanation_1": "Group members won’t be able to log in via SSO", + "sso_is_disabled_explanation_2": "All members of the group will need a username and password to log in to __appName__", +@@ -1974,7 +1974,7 @@ + "sso_not_active": "SSO not active", + "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", + "sso_reauth_request": "SSO reauthentication request has been sent to <0>__email__", +- "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured Overleaf as a Service Provider in your IdP, and authorized access to the Overleaf service.", ++ "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured HajTeX as a Service Provider in your IdP, and authorized access to the HajTeX service.", + "sso_test_interstitial_info_2": "Clicking <0>Test configuration will redirect you to your IdP’s login screen. <1>Read our documentation for full details of what happens during the test. And check our <2>SSO troubleshooting advice if you get stuck.", + "sso_test_interstitial_title": "Let’s test your SSO configuration", + "sso_test_result_error_message": "The test hasn’t worked this time, but don’t worry — errors can usually be quickly addressed by adjusting the configuration settings. Our <0>SSO troubleshooting guide provides help with some of the common causes of testing errors.", +@@ -2004,7 +2004,7 @@ + "store_your_work": "Store your work on your own infrastructure", + "stretch_width_to_text": "Stretch width to text", + "student": "Student", +- "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an Overleaf institutional account.", ++ "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an HajTeX institutional account.", + "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you’re eligible for the discount.", + "student_plans": "Student Plans", + "students": "Students", +@@ -2062,14 +2062,14 @@ + "tc_switch_everyone_tip": "Toggle track-changes for everyone", + "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", + "tc_switch_user_tip": "Toggle track-changes for this user", +- "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their Overleaf plan if you need more compile time.", ++ "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their HajTeX plan if you need more compile time.", + "template": "Template", + "template_approved_by_publisher": "This template has been approved by the publisher", + "template_description": "Template Description", + "template_gallery": "Template Gallery", + "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", + "template_title_taken_from_project_title": "The template title will be taken automatically from the project title", +- "template_top_pick_by_overleaf": "This template was hand-picked by Overleaf staff for its high quality", ++ "template_top_pick_by_overleaf": "This template was hand-picked by HajTeX staff for its high quality", + "templates": "Templates", + "templates_admin_source_project": "Admin: Source Project", + "templates_page_summary": "Start your projects with quality LaTeX templates for journals, CVs, resumes, papers, presentations, assignments, letters, project reports, and more. Search or browse below.", +@@ -2093,18 +2093,18 @@ + "thanks_for_subscribing": "Thanks for subscribing!", + "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It’s support from people like yourself that allows __appName__ to continue to grow and improve.", + "thanks_settings_updated": "Thanks, your settings have been updated.", +- "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on Overleaf pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", ++ "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on HajTeX pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", + "the_following_files_already_exist_in_this_project": "The following files already exist in this project:", + "the_following_files_and_folders_already_exist_in_this_project": "The following files and folders already exist in this project:", + "the_following_folder_already_exists_in_this_project": "The following folder already exists in this project:", + "the_following_folder_already_exists_in_this_project_plural": "The following folders already exist in this project:", + "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", + "the_project_that_contains_this_file_is_not_shared_with_you": "The project that contains this file is not shared with you", +- "the_requested_conversion_job_was_not_found": "The link to open this content on Overleaf specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", +- "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", +- "the_required_parameters_were_not_supplied": "The link to open this content on Overleaf was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", +- "the_supplied_parameters_were_invalid": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", +- "the_supplied_uri_is_invalid": "The link to open this content on Overleaf included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", ++ "the_requested_conversion_job_was_not_found": "The link to open this content on HajTeX specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", ++ "the_requested_publisher_was_not_found": "The link to open this content on HajTeX specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", ++ "the_required_parameters_were_not_supplied": "The link to open this content on HajTeX was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", ++ "the_supplied_parameters_were_invalid": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", ++ "the_supplied_uri_is_invalid": "The link to open this content on HajTeX included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", + "the_target_folder_could_not_be_found": "The target folder could not be found.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "The width you choose here is based on the width of the text in your document. Alternatively, you can customize the image size directly in the LaTeX code.", + "their_projects_will_be_transferred_to_another_user": "Their projects will all be transferred to another user of your choice", +@@ -2115,7 +2115,7 @@ + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "There was a problem restoring the project. Please try again in a few moments. Contact us of the problem persists.", + "there_was_an_error_opening_your_content": "There was an error creating your project", + "thesis": "Thesis", +- "they_lose_access_to_account": "They lose all access to this Overleaf account immediately", ++ "they_lose_access_to_account": "They lose all access to this HajTeX account immediately", + "this_action_cannot_be_reversed": "This action cannot be reversed.", + "this_action_cannot_be_undone": "This action cannot be undone.", + "this_address_will_be_shown_on_the_invoice": "This address will be shown on the invoice", +@@ -2129,7 +2129,7 @@ + "this_project_already_has_maximum_editors": "This project already has the maximum number of editors permitted on the owner’s plan. This means you can view but not edit the project.", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "This project exceeded the compile timeout limit on our free plan.", + "this_project_exceeded_editor_limit": "This project exceeded the editor limit for your plan. All collaborators now have view-only access.", +- "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s Overleaf plan. This means you could lose edit access from __linkSharingDate__.", ++ "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s HajTeX plan. This means you could lose edit access from __linkSharingDate__.", + "this_project_is_public": "This project is public and can be edited by anyone with the URL.", + "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", + "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", +@@ -2146,7 +2146,7 @@ + "to_add_email_accounts_need_to_be_linked_2": "To add this email, your <0>__appName__ and <0>__institutionName__ accounts will need to be linked.", + "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", + "to_change_access_permissions": "To change access permissions, please ask the project owner", +- "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the Overleaf account that requested the new secondary email.", ++ "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the HajTeX account that requested the new secondary email.", + "to_confirm_transfer_enter_email_address": "To accept the invitation, enter the email address linked to your account.", + "to_confirm_unlink_all_users_enter_email": "To confirm you want to unlink all users, enter your email address:", + "to_fix_this_you_can": "To fix this, you can:", +@@ -2227,8 +2227,8 @@ + "track_changes_is_on": "Track changes is on", + "tracked_change_added": "Added", + "tracked_change_deleted": "Deleted", +- "transfer_management_of_your_account": "Transfer management of your Overleaf account", +- "transfer_management_of_your_account_to_x": "Transfer management of your Overleaf account to __groupName__", ++ "transfer_management_of_your_account": "Transfer management of your HajTeX account", ++ "transfer_management_of_your_account_to_x": "Transfer management of your HajTeX account to __groupName__", + "transfer_management_resolve_following_issues": "To transfer the management of your account, you need to resolve the following issues:", + "transfer_this_users_projects": "Transfer this user’s projects", + "transfer_this_users_projects_description": "This user’s projects will be transferred to a new owner.", +@@ -2238,8 +2238,8 @@ + "trashed": "Trashed", + "trashed_projects": "Trashed Projects", + "trashing_projects_wont_affect_collaborators": "Trashing projects won’t affect your collaborators.", +- "trial_last_day": "This is the last day of your Overleaf Premium trial", +- "trial_remaining_days": "__days__ more days on your Overleaf Premium trial", ++ "trial_last_day": "This is the last day of your HajTeX Premium trial", ++ "trial_remaining_days": "__days__ more days on your HajTeX Premium trial", + "tried_to_log_in_with_email": "You’ve tried to log in with __email__.", + "tried_to_register_with_email": "You’ve tried to register with __email__, which is already registered with __appName__ as an institutional account.", + "troubleshooting_tip": "Troubleshooting tip", +@@ -2258,7 +2258,7 @@ + "tutorials": "Tutorials", + "two_users": "2 users", + "uk": "Ukrainian", +- "unable_to_extract_the_supplied_zip_file": "Opening this content on Overleaf failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", ++ "unable_to_extract_the_supplied_zip_file": "Opening this content on HajTeX failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", + "unarchive": "Restore", + "uncategorized": "Uncategorized", + "uncategorized_projects": "Uncategorized Projects", +@@ -2281,7 +2281,7 @@ + "unlimited_projects_info": "Your projects are private by default. This means that only you can view them, and only you can allow other people to access them.", + "unlink": "Unlink", + "unlink_all_users": "Unlink all users", +- "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their Overleaf accounts with your IdP. They’ll receive an email asking them to do this.", ++ "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their HajTeX accounts with your IdP. They’ll receive an email asking them to do this.", + "unlink_dropbox_folder": "Unlink Dropbox Account", + "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?", + "unlink_github_repository": "Unlink GitHub repository", +@@ -2293,7 +2293,7 @@ + "unlink_reference": "Unlink References Provider", + "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).", + "unlink_user": "Unlink user", +- "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their Overleaf account with your IdP. They’ll receive an email asking them to do this.", ++ "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their HajTeX account with your IdP. They’ll receive an email asking them to do this.", + "unlink_users": "Unlink users", + "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", + "unlinking": "Unlinking", +@@ -2327,11 +2327,11 @@ + "upload_zipped_project": "Upload Zipped Project", + "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", +- "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy Overleaf organizational plans. Talk to our government team.", ++ "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy HajTeX organizational plans. Talk to our government team.", + "usage_metrics": "Usage metrics", +- "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in Overleaf.", ++ "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in HajTeX.", + "use_a_different_password": "Please use a different password", +- "use_saml_metadata_to_configure_sso_with_idp": "Use the Overleaf SAML metadata to configure SSO with your Identity Provider.", ++ "use_saml_metadata_to_configure_sso_with_idp": "Use the HajTeX SAML metadata to configure SSO with your Identity Provider.", + "use_your_own_machine": "Use your own machine, with your own setup", + "used_latex_before": "Have you ever used LaTeX before?", + "used_latex_response_never": "No, never", +@@ -2346,7 +2346,7 @@ + "user_is_not_part_of_group": "User is not part of group", + "user_last_name_attribute": "User last name attribute", + "user_management": "User management", +- "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", ++ "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "user_metrics": "User metrics", + "user_not_found": "User not found", + "user_sessions": "User Sessions", +@@ -2400,7 +2400,7 @@ + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Welcome to __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "We’re making some <0>changes to project sharing. This means, as someone with edit access, your name and email address will be visible to the project owner and other editors.", +- "were_performing_maintenance": "We’re performing maintenance on Overleaf and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", ++ "were_performing_maintenance": "We’re performing maintenance on HajTeX and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected this project.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected your project.", + "what_do_you_need": "What do you need?", +@@ -2410,24 +2410,24 @@ + "what_does_this_mean_for_you": "This means:", + "what_happens_when_sso_is_enabled": "What happens when SSO is enabled?", + "what_should_we_call_you": "What should we call you?", +- "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use Overleaf as normal, but you’ll see any labs features marked with this badge:", ++ "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use HajTeX as normal, but you’ll see any labs features marked with this badge:", + "when_you_tick_the_include_caption_box": "When you tick the box “Include caption” the image will be inserted into your document with a placeholder caption. To edit it, you simply select the placeholder text and type to replace it with your own.", + "why_latex": "Why LaTeX?", + "wide": "Wide", + "will_lose_edit_access_on_date": "Will lose edit access on __date__", + "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", +- "with_premium_subscription_you_also_get": "With an Overleaf Premium subscription you also get", ++ "with_premium_subscription_you_also_get": "With an HajTeX Premium subscription you also get", + "word_count": "Word Count", + "work_offline": "Work offline", + "work_or_university_sso": "Work/university single sign-on", +- "work_with_non_overleaf_users": "Work with non Overleaf users", ++ "work_with_non_overleaf_users": "Work with non HajTeX users", + "would_you_like_to_see_a_university_subscription": "Would you like to see a university-wide __appName__ subscription at your university?", + "write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:", + "writefull": "Writefull", +- "writefull_learn_more": "Learn more about Writefull for Overleaf", ++ "writefull_learn_more": "Learn more about Writefull for HajTeX", + "writefull_loading_error_body": "Try refreshing the page. If this doesn’t work, try disabling any active browser extensions to check they aren’t blocking Writefull from loading.", + "writefull_loading_error_title": "Writefull didn’t load correctly", +- "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for Overleaf.", ++ "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for HajTeX.", + "x_changes_in": "__count__ change in", + "x_changes_in_plural": "__count__ changes in", + "x_collaborators_per_project": "__collaboratorsCount__ collaborators per project", +@@ -2445,10 +2445,10 @@ + "you": "You", + "you_already_have_a_subscription": "You already have a subscription", + "you_and_collaborators_get_access_to": "You and your project collaborators get access to", +- "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other Overleaf users that you invite to your projects).", ++ "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other HajTeX users that you invite to your projects).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", +- "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the Overleaf Commons subscription at <0>__institutionName__", ++ "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the HajTeX Commons subscription at <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "You are a <0>manager of <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", +@@ -2485,7 +2485,7 @@ + "you_will_be_able_to_reassign_subscription": "You will be able to reassign their subscription membership to another person in your organization", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "You’ll get the best results from using this tool in the <0>Visual Editor, although you can still use it to insert tables in the <1>Code Editor. Once you’ve selected the number of rows and columns you need, the table will appear in your document and you can double click in a cell to add contents to it.", + "youll_need_to_ask_the_github_repository_owner": "You’ll need to ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", +- "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to Overleaf. <0>Read more about SSO.", ++ "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to HajTeX. <0>Read more about SSO.", + "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", + "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", + "your_account_is_suspended": "Your account is suspended", +@@ -2518,7 +2518,7 @@ + "your_sessions": "Your Sessions", + "your_subscription": "Your Subscription", + "your_subscription_has_expired": "Your subscription has expired.", +- "youre_a_member_of_overleaf_labs": "You’re a member of Overleaf Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", ++ "youre_a_member_of_overleaf_labs": "You’re a member of HajTeX Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", + "youre_about_to_disable_single_sign_on": "You’re about to disable single sign-on for all group members.", + "youre_about_to_enable_single_sign_on": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct and all your group members have managed user accounts.", + "youre_about_to_enable_single_sign_on_sso_only": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct.", +@@ -2541,7 +2541,7 @@ + "zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "zotero_integration": "Zotero Integration", + "zotero_integration_lowercase": "Zotero integration", +- "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", ++ "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "zotero_is_premium": "Zotero integration is a premium feature", + "zotero_reference_loading_error": "Error, could not load references from Zotero", + "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/es.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/es.json.diff new file mode 100644 index 0000000..93117bf --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/es.json.diff @@ -0,0 +1,93 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/es.json 2024-12-11 19:57:03.978480774 +0000 ++++ ../5.2.1/overleaf/services/web/locales/es.json 2024-12-01 18:28:29.000000000 +0000 +@@ -47,7 +47,7 @@ + "account_not_linked_to_dropbox": "Tu cuenta no está conectada con Dropbox", + "account_settings": "Opciones de la cuenta", + "account_with_email_exists": "Parece que una cuenta __appName__ con el email __email__ ya existe.", +- "acct_linked_to_institution_acct_2": "Puedes unirte a Overleaf a través de tu login institucional de __institutionName__", ++ "acct_linked_to_institution_acct_2": "Puedes unirte a HajTeX a través de tu login institucional de __institutionName__", + "actions": "Acciones", + "activate": "Activar", + "activate_account": "Activar tu cuenta", +@@ -96,7 +96,7 @@ + "advanced_search": "Búsqueda avanzada", + "aggregate_changed": "Cambiado", + "aggregate_to": "a", +- "agree_with_the_terms": "Estoy de acuerdo con los términos y condiciones de Overleaf", ++ "agree_with_the_terms": "Estoy de acuerdo con los términos y condiciones de HajTeX", + "ai_can_make_mistakes": "La IA puede cometer errores. Revisa las correcciones antes de aplicarlas.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "¿Tiene alguna idea o sugerencia para mejorar esta funcionalidad?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Dinos qué falló para que podamos mejorar.", +@@ -133,7 +133,7 @@ + "anyone_with_link_can_view": "Cualquiera con este enlace puede ver este proyecto", + "app_on_x": "__appName__ en __social__", + "apply_educational_discount": "Aplicar descuento educacional", +- "apply_educational_discount_info": "Overleaf ofrece un descuento educacional del 40% para grupos de 10 o más personas. Se aplica a estudiantes o profesores que utilicen Overleaf para impartir clases", ++ "apply_educational_discount_info": "HajTeX ofrece un descuento educacional del 40% para grupos de 10 o más personas. Se aplica a estudiantes o profesores que utilicen HajTeX para impartir clases", + "apply_educational_discount_info_new": "40% de descuento para grupos de 10 o más personas que utilicen __appName__ para la enseñanza", + "apply_suggestion": "Aplicar sugerencia", + "april": "Abril", +@@ -194,7 +194,7 @@ + "bulk_reject_confirm": "¿Está seguro de que desea rechazar los __nChanges__ cambios seleccionados?", + "buy_now_no_exclamation_mark": "Comprar ahora", + "by": "por", +- "by_joining_labs": "Al unirte a Labs, aceptas recibir ocasionalmente correos electrónicos y actualizaciones de Overleaf, por ejemplo, para solicitar tu opinión. También acepta nuestras <0>condiciones del servicio y nuestro <1>aviso de privacidad.", ++ "by_joining_labs": "Al unirte a Labs, aceptas recibir ocasionalmente correos electrónicos y actualizaciones de HajTeX, por ejemplo, para solicitar tu opinión. También acepta nuestras <0>condiciones del servicio y nuestro <1>aviso de privacidad.", + "by_registering_you_agree_to_our_terms_of_service": "Al registrarse, acepta nuestras <0>condiciones del servicio y <1>notificación de privacidad.", + "by_subscribing_you_agree_to_our_terms_of_service": "Al suscribirse, acepta nuestras <0>condiciones del servicio.", + "can_edit": "Puede editar", +@@ -381,7 +381,7 @@ + "language": "Idioma", + "last_modified": "Última modificación", + "last_name": "Apellido", +- "latam_discount_modal_info": "Aprovecha todo el potencial de Overleaf con un __discount__% de descuento en suscripciones premium pagadas en __currencyName__. Consigue tiempos de compilación más largos, historial completo de documentos, seguimiento de cambios, colaboradores adicionales y más.", ++ "latam_discount_modal_info": "Aprovecha todo el potencial de HajTeX con un __discount__% de descuento en suscripciones premium pagadas en __currencyName__. Consigue tiempos de compilación más largos, historial completo de documentos, seguimiento de cambios, colaboradores adicionales y más.", + "latam_discount_modal_title": "Descuento en planes premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos un descuento del __discount__ en los planes premium de esta página para nuestros usuarios de __country__. Consulta los nuevos precios con descuento (en __currency__)", + "latex_templates": "Plantillas LaTeX", +@@ -552,12 +552,12 @@ + "ru": "Ruso", + "saml_auth_error": "Lo sentimos, su proveedor de identidad respondió con un error. Póngase en contacto con su administrador para obtener más información.", + "saml_email_not_recognized_error": "Esta dirección de correo electrónico no está configurada para SSO. Por favor, compruébelo e inténtelo de nuevo o póngase en contacto con su administrador.", +- "saml_identity_exists_error": "Lo sentimos, la identidad devuelta por su proveedor de identidad ya está vinculada con una cuenta Overleaf diferente. Póngase en contacto con su administrador para obtener más información.", ++ "saml_identity_exists_error": "Lo sentimos, la identidad devuelta por su proveedor de identidad ya está vinculada con una cuenta HajTeX diferente. Póngase en contacto con su administrador para obtener más información.", + "saml_invalid_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad tiene una firma no válida. Póngase en contacto con su administrador para obtener más información.", + "saml_login_disabled_error": "Lo sentimos, el inicio de sesión único (SSO) se ha desactivado para __email__. Póngase en contacto con su administrador para obtener más información.", + "saml_login_failure": "Lo sentimos, ha habido un problema al iniciar sesión. Póngase en contacto con su administrador para obtener más información.", +- "saml_login_identity_mismatch_error": "Lo sentimos, estás intentando iniciar sesión en Overleaf como __email__ pero la identidad devuelta por tu proveedor de identidad no es la correcta para esta cuenta de Overleaf.", +- "saml_login_identity_not_found_error": "Lo sentimos, no hemos podido encontrar una cuenta de Overleaf configurada para el inicio de sesión único con este proveedor de identidad.", ++ "saml_login_identity_mismatch_error": "Lo sentimos, estás intentando iniciar sesión en HajTeX como __email__ pero la identidad devuelta por tu proveedor de identidad no es la correcta para esta cuenta de HajTeX.", ++ "saml_login_identity_not_found_error": "Lo sentimos, no hemos podido encontrar una cuenta de HajTeX configurada para el inicio de sesión único con este proveedor de identidad.", + "saml_missing_signature_error": "Lo sentimos, la información recibida de su proveedor de identidad no está firmada (se requieren las firmas de respuesta y de aserción). Póngase en contacto con su administrador para obtener más información.", + "saving": "Guardando", + "saving_notification_with_seconds": "Guardando __docname__... (__seconds__ segundos de cambios no guardados)", +@@ -591,9 +591,9 @@ + "sso_config_prop_help_last_name": "El atributo SAML que especifica el apellido del usuario", + "sso_config_prop_help_user_id": "El atributo SAML proporcionado por su proveedor de internet que identifica a cada usuario", + "sso_configuration": "Configuración de SSO", +- "sso_explanation": "Configure el inicio de sesión único (SSO) para su grupo. Este método de inicio de sesión será opcional para los miembros del grupo a menos que la opción de Usuarios Administrados esté habilitada. <0>Más información sobre Overleaf Group SSO.", ++ "sso_explanation": "Configure el inicio de sesión único (SSO) para su grupo. Este método de inicio de sesión será opcional para los miembros del grupo a menos que la opción de Usuarios Administrados esté habilitada. <0>Más información sobre HajTeX Group SSO.", + "sso_integration": "Integración de SSO", +- "sso_integration_info": "Overleaf ofrece una integración estándar de inicio de sesión único (SSO) basada en SAML", ++ "sso_integration_info": "HajTeX ofrece una integración estándar de inicio de sesión único (SSO) basada en SAML", + "sso_is_disabled": "El SSO está deshabilitado", + "sso_is_disabled_explanation_1": "Los miembros del grupo no podrán iniciar sesión a través de SSO", + "sso_is_disabled_explanation_2": "Todos los miembros del grupo necesitarán un nombre de usuario y una contraseña para iniciar sesión en __appName__", +@@ -681,7 +681,7 @@ + "year": "año", + "you_have_added_x_of_group_size_y": "Has agregado <0>__addedUsersSize__ de <1>__groupSize__ miembros disponibles", + "you_need_to_configure_your_sso_settings": "Debe configurar y probar sus ajustes de SSO antes de activar el SSO", +- "youll_no_longer_need_to_remember_credentials": "Ya no tendrás que recordar una dirección de correo electrónico y una contraseña distintas. En su lugar, utilizarás el inicio de sesión único para iniciar sesión en Overleaf. <0>Más información sobre SSO.", ++ "youll_no_longer_need_to_remember_credentials": "Ya no tendrás que recordar una dirección de correo electrónico y una contraseña distintas. En su lugar, utilizarás el inicio de sesión único para iniciar sesión en HajTeX. <0>Más información sobre SSO.", + "your_account_is_suspended": "Tu cuenta está suspendida", + "your_compile_timed_out": "Su tiempo de compilación se ha agotado", + "your_git_access_info_bullet_1": "Puede tener hasta 10 tokens", +@@ -701,7 +701,7 @@ + "your_sessions": "Sus sesiones", + "your_subscription": "Tu suscripción", + "your_subscription_has_expired": "Tu suscripción expiró.", +- "youre_a_member_of_overleaf_labs": "Ya eres miembro de Overleaf Labs. No olvides visitarnos regularmente para ver a qué experimentos puedes apuntarte.", ++ "youre_a_member_of_overleaf_labs": "Ya eres miembro de HajTeX Labs. No olvides visitarnos regularmente para ver a qué experimentos puedes apuntarte.", + "youre_about_to_disable_single_sign_on": "Está a punto de desactivar el inicio de sesión único para todos los miembros del grupo.", + "youre_about_to_enable_single_sign_on": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta y de que todos los miembros de su grupo tienen cuentas de usuario gestionadas.", + "youre_about_to_enable_single_sign_on_sso_only": "Está a punto de activar el inicio de sesión único (SSO). Antes de hacerlo, debe asegurarse de que la configuración de SSO es correcta.", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/fi.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/fi.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/fr.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/fr.json.diff new file mode 100644 index 0000000..9cb969d --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/fr.json.diff @@ -0,0 +1,252 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/fr.json 2024-12-11 19:56:31.882864297 +0000 ++++ ../5.2.1/overleaf/services/web/locales/fr.json 2024-12-01 18:28:29.000000000 +0000 +@@ -43,7 +43,7 @@ + "account_not_linked_to_dropbox": "Votre compte n’est pas lié à Dropbox", + "account_settings": "Paramètres du compte", + "account_with_email_exists": "Il semble qu’un compte __appName__ avec l’adresse courriel __email__ existe déjà.", +- "acct_linked_to_institution_acct_2": "Vous pouvez <0>vous connecter à Overleaf grâce à votre connexion institutionnelle <0>__institutionName__", ++ "acct_linked_to_institution_acct_2": "Vous pouvez <0>vous connecter à HajTeX grâce à votre connexion institutionnelle <0>__institutionName__", + "actions": "Actions", + "activate": "Activer", + "activate_account": "Activer votre compte", +@@ -102,7 +102,7 @@ + "anyone_with_link_can_view": "Toute personne disposant de ce lien peut voir ce projet", + "app_on_x": "__appName__ sur __social__", + "apply_educational_discount": "Appliquer la remise éducation", +- "apply_educational_discount_info": "Overleaf offre une remise éducation de 40% pour les groupes de 10 ou plus. S’applique aux étudiants ou universités utilisant Overleaf pour l’enseignement.", ++ "apply_educational_discount_info": "HajTeX offre une remise éducation de 40% pour les groupes de 10 ou plus. S’applique aux étudiants ou universités utilisant HajTeX pour l’enseignement.", + "april": "Avril", + "archive": "Archiver", + "archive_projects": "Archiver les projets", +@@ -223,7 +223,7 @@ + "collaborate_online_and_offline": "Collaborez en ligne et hors ligne, avec votre propre organisation de travail", + "collaboration": "Collaboration", + "collaborator": "Collaborateur·rice", +- "collabratec_account_not_registered": "Pas de compte IEEE Collabratec™ enregistré. Veuillez vous connecter à Overleaf via IEEE Collabratec™ ou bien vous connecter avec un compte différent.", ++ "collabratec_account_not_registered": "Pas de compte IEEE Collabratec™ enregistré. Veuillez vous connecter à HajTeX via IEEE Collabratec™ ou bien vous connecter avec un compte différent.", + "collabs_per_proj": "__collabcount__ collaborateur·rice·s par projet", + "collabs_per_proj_single": "__collabcount__ collaborateurs par projet", + "collapse": "Replier", +@@ -234,7 +234,7 @@ + "comment_submit_error": "Désolé, un problème est survenu lors de l’envoi de votre commentaire", + "commit": "Commiter", + "common": "Commun", +- "commons_plan_tooltip": "Vous bénéficiez de l’offre __plan__ en raison de votre affiliation avec __institution__. Cliquez pour découvrir comment profiter au mieux de vos fonctionnalités Overleaf premium.", ++ "commons_plan_tooltip": "Vous bénéficiez de l’offre __plan__ en raison de votre affiliation avec __institution__. Cliquez pour découvrir comment profiter au mieux de vos fonctionnalités HajTeX premium.", + "compact": "Compact", + "company_name": "Nom de l’entreprise", + "comparing_from_x_to_y": "Différence entre <0>__startTime__ et <0>__endTime__", +@@ -300,7 +300,7 @@ + "currently_seeing_only_24_hrs_history": "Vous ne pouvez actuellement voir que les modifications des 24 dernières heures dans ce projet.", + "currently_subscribed_to_plan": "Vous bénéficiez actuellement de l’offre <0>__planName__.", + "custom_resource_portal": "Portail des ressources personnalisé", +- "custom_resource_portal_info": "Pour pouvez avoir votre propre page de portail personnalisée sur Overleaf. C’est l’endroit idéal pour que vos utilisateurs en apprennent plus sur Overleaf, accèdent à des modèles, une FAQ et des resources d’aide, et s’inscrivent sur Overleaf.", ++ "custom_resource_portal_info": "Pour pouvez avoir votre propre page de portail personnalisée sur HajTeX. C’est l’endroit idéal pour que vos utilisateurs en apprennent plus sur HajTeX, accèdent à des modèles, une FAQ et des resources d’aide, et s’inscrivent sur HajTeX.", + "customize": "Personnaliser", + "customize_your_group_subscription": "Personnaliser votre abonnement de groupe", + "customize_your_plan": "Personnaliser votre offre", +@@ -312,7 +312,7 @@ + "dealing_with_errors": "Gérer les erreurs", + "december": "Décembre", + "dedicated_account_manager": "Gestionnaire de compte dédié", +- "dedicated_account_manager_info": "Toute notre équipe de gestion de compte pourra répondre à vos requêtes ou vos questions et vous aider à faire connaître Overleaf grâce à du contenu promotionel, des resources de formation et des séminaires en ligne.", ++ "dedicated_account_manager_info": "Toute notre équipe de gestion de compte pourra répondre à vos requêtes ou vos questions et vous aider à faire connaître HajTeX grâce à du contenu promotionel, des resources de formation et des séminaires en ligne.", + "default": "Par défaut", + "delete": "Supprimer", + "delete_account": "Supprimer un compte", +@@ -360,29 +360,29 @@ + "drag_here": "glissez ici", + "drag_here_paste_an_image_or": "Glissez ici, collez une image, ou ", + "drop_files_here_to_upload": "Déposez des fichiers ici pour les téléverser", +- "dropbox_already_linked_error": "Votre compte Dropbox ne peut pas être lié à ce compte car il l’est déjà à un autre compte Overleaf.", +- "dropbox_already_linked_error_with_email": "Votre compte Dropbox ne peut pas être lié car il est déjà lié avec un autre compte Overleaf utilisant l’adresse email __otherUsersEmail__.", ++ "dropbox_already_linked_error": "Votre compte Dropbox ne peut pas être lié à ce compte car il l’est déjà à un autre compte HajTeX.", ++ "dropbox_already_linked_error_with_email": "Votre compte Dropbox ne peut pas être lié car il est déjà lié avec un autre compte HajTeX utilisant l’adresse email __otherUsersEmail__.", + "dropbox_checking_sync_status": "Vérification de l’état de l’intégration Dropbox", + "dropbox_duplicate_names_error": "Votre compte Dropbox ne peut pas être lié, car vous avez plus d’un projet avec le même nom: ", + "dropbox_duplicate_project_names": "Votre compte Dropbox a été dissocié, car vous avez plus d’un projet portant le nom <0>« __projectName__ ».", + "dropbox_duplicate_project_names_suggestion": "Veuillez vous assurer de l’unicité des noms de tous vos projets <0>actifs, archivés ou à la corbeille puis réassociez votre compte Dropbox.", + "dropbox_email_not_verified": "Nous ne parvenons pas à joindre votre compte Dropbox. Le service rapporte que votre adresse courriel n’est pas vérifiée. Veuillez vérifier votre adresse depuis votre compte Dropbox pour résoudre ce problème.", + "dropbox_for_link_share_projs": "Vous avez accédé à ce projet par un partage de lien : celui-ci ne sera pas synchronisé à votre Dropbox tant que vous n’aurez pas été invité par courriel par le propriétaire du projet.", +- "dropbox_integration_info": "Travaillez avec ou sans connexion sans problème avec la synchronisation bidirectionnelle Dropbox. Les modifications apportées sur votre machine seront automatiquement envoyées à la version Overleaf, et vice versa.", ++ "dropbox_integration_info": "Travaillez avec ou sans connexion sans problème avec la synchronisation bidirectionnelle Dropbox. Les modifications apportées sur votre machine seront automatiquement envoyées à la version HajTeX, et vice versa.", + "dropbox_integration_lowercase": "Intégration avec Dropbox", + "dropbox_successfully_linked_description": "Merci, nous avons associé votre compte Dropbox à __appName__.", + "dropbox_sync": "Synchronisation Dropbox", +- "dropbox_sync_both": "Mise à jour d’Overleaf et de Dropbox", ++ "dropbox_sync_both": "Mise à jour d’HajTeX et de Dropbox", + "dropbox_sync_description": "Maintenez vos projets __appName__ synchronisés avec votre Dropbox. Les modifications dans __appName__ sont automatiquement envoyés vers votre Dropbox, et vice versa.", + "dropbox_sync_error": "Erreur de synchronisation Dropbox", +- "dropbox_sync_in": "Mise à jour sur Overleaf", ++ "dropbox_sync_in": "Mise à jour sur HajTeX", + "dropbox_sync_now_rate_limited": "La synchronisation manuelle est limitée à une fois par minute. Veuillez attendre quelques instants avant de réessayer.", + "dropbox_sync_now_running": "Une synchronisation manuelle de ce projet a été démarrée en arrière-plan. Veuillez lui accorder quelques minutes pour procéder.", + "dropbox_sync_out": "Mise à jour vers Dropbox", + "dropbox_sync_troubleshoot": "Des changements n’apparaissent pas dans Dropbox ? Veuillez attendre quelques minutes. Si les changements n’apparaissent toujours pas, vous pouvez <0>synchroniser ce projet maintenant.", +- "dropbox_synced": "Overleaf et Dropbox sont à jour", +- "dropbox_unlinked_because_access_denied": "La liaison avec votre compte Dropbox a été supprimée car le service Dropbox a rejeté vos identifiants. Veuillez restaurer cette liaison pour continuer à utiliser Dropbox avec Overleaf.", +- "dropbox_unlinked_because_full": "La liaison avec votre compte Dropbox a été supprimée car le quota de celui-ci a été atteint et nous ne sommes plus en mesure d’y envoyer les mises à jour. Veuillez libérer de l’espace puis restaurer cette liaison pour continuer à utiliser Dropbox avec Overleaf.", ++ "dropbox_synced": "HajTeX et Dropbox sont à jour", ++ "dropbox_unlinked_because_access_denied": "La liaison avec votre compte Dropbox a été supprimée car le service Dropbox a rejeté vos identifiants. Veuillez restaurer cette liaison pour continuer à utiliser Dropbox avec HajTeX.", ++ "dropbox_unlinked_because_full": "La liaison avec votre compte Dropbox a été supprimée car le quota de celui-ci a été atteint et nous ne sommes plus en mesure d’y envoyer les mises à jour. Veuillez libérer de l’espace puis restaurer cette liaison pour continuer à utiliser Dropbox avec HajTeX.", + "dropbox_unlinked_premium_feature": "<0>Votre compte Dropbox a été déconnecté car la synchronisation avec Dropbox est une fonctionnalité premium à laquelle vous aviez accès via votre licence institutionnelle.", + "duplicate_file": "Dupliquer le fichier", + "duplicate_projects": "Cet utilisateur a des projets avec des noms identiques", +@@ -442,21 +442,21 @@ + "faq_change_plans_or_cancel_question": "Puis-je changer d’offre ou résilier plus tard ?", + "faq_do_collab_need_on_paid_plan_answer": "Non, vos collaborateurs peuvent être sur n’importe quelle offre, y compris l’offre gratuite. Si vous disposez de l’offre premium, certaines fonctionnalités premium seront disponibles pour vos collaborateurs dans les projets que vous avez créés, même pour les collaborateurs sur l’offre gratuite. Pour plus d’informations, consultez les informations relatives aux <0>account and subscriptions et <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Mes collaborateurs doivent-ils aussi être sur une offre payante ?", +- "faq_how_does_a_group_plan_work_answer": "Les abonnements de groupe sont une manière de mettre à niveau plus d’un compte Overleaf. Ils sont faciles à gérer, aident à réduire les formalités, et diminuent le prix d’achat de plusieurs abonnements séparés. Pour en savoir plus, lisez sur <0>rejoindre un abonnement de group et <1>gérer un abonnement de groupe. Vous pouvez acheter des abonnements de groupe ci-dessus ou en <2>nous contactant.", ++ "faq_how_does_a_group_plan_work_answer": "Les abonnements de groupe sont une manière de mettre à niveau plus d’un compte HajTeX. Ils sont faciles à gérer, aident à réduire les formalités, et diminuent le prix d’achat de plusieurs abonnements séparés. Pour en savoir plus, lisez sur <0>rejoindre un abonnement de group et <1>gérer un abonnement de groupe. Vous pouvez acheter des abonnements de groupe ci-dessus ou en <2>nous contactant.", + "faq_how_does_a_group_plan_work_question": "Comment fonctionne une offre de groupe ? Comment puis-je ajouter des personnes à l’offre ?", + "faq_how_does_free_trial_works_answer": "Vous obtenez un accès complet à l’offre __appName__ de votre choix pendant votre essai gratuit de __len__ jours. Il n’y a aucun engagement à poursuivre au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai de __len__ jours à moins que vous n’annuliez votre essai auparavant. Vous pouvez annuler depuis les paramètres de votre abonnement.", + "faq_how_free_trial_works_answer_v2": "Vous bénéficiez d’un accès complet à l’offre de votre choix durant les __len__ jours de l’essai gratuit, et il n’y a aucune obligatoire de continuer au delà de l’essai gratuit. Votre carte sera débitée à la fin de votre essai gratuit à moins que vous résiliez avant. Pour résilier, rendez-vous dans les paramètres d’abonnement de votre compte (l’essai continuera jusqu’au bout des __len__ jours).", + "faq_how_free_trial_works_question": "Comment fonctionne l’essai gratuit ?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "Sur Overleaf, chaque utilisateur crée et gère son propre compte Overleaf. La plupart des utilisateurs commencent sur l’offre gratuite mais peuvent mettre à niveau leur abonnement et profiter des fonctionnalités premium en s’abonnant à une offre, en rejoignant un abonnement de groupe ou en rejoignant un <0>abonnement Commons. Lorsque vous achetez, rejoignez ou quittez un abonnement, vous pouvez tout de même conserver le même compte Overleaf.", +- "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Pour en savoir plus, lisez-en plus sur <0>comment les comptes et abonnements fonctionnent sur Overleaf.", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "Sur HajTeX, chaque utilisateur crée et gère son propre compte HajTeX. La plupart des utilisateurs commencent sur l’offre gratuite mais peuvent mettre à niveau leur abonnement et profiter des fonctionnalités premium en s’abonnant à une offre, en rejoignant un abonnement de groupe ou en rejoignant un <0>abonnement Commons. Lorsque vous achetez, rejoignez ou quittez un abonnement, vous pouvez tout de même conserver le même compte HajTeX.", ++ "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "Pour en savoir plus, lisez-en plus sur <0>comment les comptes et abonnements fonctionnent sur HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "J’ai un compte gratuit et veux rejoindre un abonnement, comment faire ?", + "faq_pay_by_invoice_answer_v2": "Oui, si vous voulez souscrire un abonnement de groupe pour cinq personnes ou plus, ou une licence de site. Pour les abonnements individuels nous ne pouvons accepter que les paiments en ligne par carte de crédit, de débit ou Paypal.", + "faq_pay_by_invoice_question": "Puis-je payer par facture/bon de commande ?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "Non. Seulement le compte de l’abonné sera mis à niveau. Un abonnement individuel Standard vous permet d’inviter jusqu’à 10 collaborateurs à chaque projet dont vous êtes le propriétaire.", + "faq_the_individual_standard_plan_10_collab_question": "L’offre individuelle Standard a 10 collaborateurs par projet, est-ce que cela veut dire que 10 personnes vont être mises à niveau ?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "En travaillant sur un projet que vous, en tant qu’abonné, partagez avec eux, vos collaborateurs auront accès à certaines fonctionnalités premium telles que l’historique complet du document et un temps de compilation étendu pour ce projet spécifique. Les inviter à un projet en particulier ne met pas à niveau leurs comptes, cependant. Lisez-en plus à propos de <0>quelles fonctionnalités sont par projet, et lesquelles sont par compte.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "Sur Overleaf, chaque utilisateur crée son propre compte. Vous pouvez créer des projets sur lesquels vous travaillez seul, et vous pouvez aussi inviter d’autres personnes à consulter ou travailler avec vous sur les projets que vous possédez. Les utilisateurs avec qui vous partagez votre projet sont appelés des <0>collaborateurs. Nous y faisons parfois référence en tant que “collaborateurs de projet”.", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "En d’autres mots, les collaborateurs sont juste d’autres utilisateurs d’Overleaf avec qui vous travaillez sur un de vos projets.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "Sur HajTeX, chaque utilisateur crée son propre compte. Vous pouvez créer des projets sur lesquels vous travaillez seul, et vous pouvez aussi inviter d’autres personnes à consulter ou travailler avec vous sur les projets que vous possédez. Les utilisateurs avec qui vous partagez votre projet sont appelés des <0>collaborateurs. Nous y faisons parfois référence en tant que “collaborateurs de projet”.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "En d’autres mots, les collaborateurs sont juste d’autres utilisateurs d’HajTeX avec qui vous travaillez sur un de vos projets.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "Quelle est la différence entre des utilisateurs et des collaborateurs ?", + "fast": "Rapide", + "feature_included": "Fonctionnalité incluse", +@@ -507,7 +507,7 @@ + "free": "Gratuit", + "free_dropbox_and_history": "Dropbox et historique", + "free_plan_label": "Vous êtes sur l’offre gratuite", +- "free_plan_tooltip": "Cliquez pour découvrir comment vous pouvez bénéficiez des fonctionnalités Overleaf premium", ++ "free_plan_tooltip": "Cliquez pour découvrir comment vous pouvez bénéficiez des fonctionnalités HajTeX premium", + "from_another_project": "À partir d’un autre projet", + "from_external_url": "À partir d’une URL externe", + "from_provider": "De __provider__", +@@ -524,7 +524,7 @@ + "get_in_touch": "Contactez-nous", + "get_in_touch_having_problems": "Contactez l’équipe du support si vous rencontrez des problèmes", + "get_involved": "Participer", +- "get_most_subscription_by_checking_features": "Tirez le meilleur parti de votre abonnement __appName__ en consultant les fonctionnalités d’<0>Overleaf.", ++ "get_most_subscription_by_checking_features": "Tirez le meilleur parti de votre abonnement __appName__ en consultant les fonctionnalités d’<0>HajTeX.", + "get_the_most_out_headline": "Tirez le meilleur parti d’__appName__ avec des fonctionnalités telles que :", + "git": "Git", + "git_authentication_token": "Jeton d’authentification Git", +@@ -535,21 +535,21 @@ + "git_integration_lowercase": "Intégration avec Git", + "github_commit_message_placeholder": "Message de commit pour les changements effectués dans __appName__…", + "github_credentials_expired": "Vos identifiants GitHub ont expiré", +- "github_git_folder_error": "Ce projet contient un répertoire .git à sa racine, ce qui indique qu’il s’agit déjà d’un dépôt Git. Le service de synchronisation GitHub d’Overleaf n’est pas en mesure de synchroniser les historiques Git. Veuillez supprimer le répertoire .git et réessayer.", ++ "github_git_folder_error": "Ce projet contient un répertoire .git à sa racine, ce qui indique qu’il s’agit déjà d’un dépôt Git. Le service de synchronisation GitHub d’HajTeX n’est pas en mesure de synchroniser les historiques Git. Veuillez supprimer le répertoire .git et réessayer.", + "github_integration_lowercase": "Intégration avec Git et GitHub", + "github_is_premium": "La synchronisation GitHub est une fonctionnalité premium", + "github_large_files_error": "Échec de fusion : votre dépôt GitHub contient des fichiers dépassant la taille limite de 50 Mo ", + "github_no_master_branch_error": "Ce dépôt ne peut pas être importé car il n’a pas de branche master. Veuillez vous assurer qu’une branche master existe dans le projet.", + "github_private_description": "Vous choisissez qui peut voir et commiter dans ce dépôt.", + "github_public_description": "Tout le monde peut voir ce dépôt. Vous choisissez qui peut commiter.", +- "github_repository_diverged": "La branche master du dépôt lié a été poussée de force. La récupération des modifications faites sur GitHub après un poussage forcé peut causer la désynchronisation d’Overleaf et GitHub. Vous pourriez avoir besoin de pousser les modifications après leur récupération pour restaurer la synchronisation.", ++ "github_repository_diverged": "La branche master du dépôt lié a été poussée de force. La récupération des modifications faites sur GitHub après un poussage forcé peut causer la désynchronisation d’HajTeX et GitHub. Vous pourriez avoir besoin de pousser les modifications après leur récupération pour restaurer la synchronisation.", + "github_successfully_linked_description": "Merci, nous avons lié votre compte GitHub avec __appName__. Vous pouvez maintenant exporter vos projets __appName__ dans GitHub ou importer des projets depuis vos dépôts GitHub.", +- "github_symlink_error": "Votre dépôt GitHub contient des liens symboliques qui ne sont pas encore supportés par Overleaf. Veuillez les retirer et réessayer.", ++ "github_symlink_error": "Votre dépôt GitHub contient des liens symboliques qui ne sont pas encore supportés par HajTeX. Veuillez les retirer et réessayer.", + "github_sync": "Synchronisation GitHub", + "github_sync_description": "Avec la synchronisation GitHub, vous pouvez lier vos projets __appName__ à des dépôts GitHub. Créez de nouveaux commits depuis __appName__, et fusionnez avec les commits réalisés hors ligne ou dans GitHub.", + "github_sync_error": "Désolé, une erreur s’est produite lors de la communication avec le service GitHub. Veuillez essayer à nouveau dans quelques instants.", + "github_sync_repository_not_found_description": "Le dépôt lié a été supprimé ou bien vous avez perdu accès à celui-ci. Vous pouvez configurer la synchronisation avec un nouveau dépôt en clonant le projet puis en accédant à l’option « GitHub » du menu. Vous pouvez également supprimer le lien entre ce projet et le dépôt.", +- "github_timeout_error": "La synchronisation de votre projet Overleaf avec GitHub a pris trop de temps. Ceci peut être dû à un volume de données global trop grand ou à un nombre de fichiers/modifications trop important dans votre projet.", ++ "github_timeout_error": "La synchronisation de votre projet HajTeX avec GitHub a pris trop de temps. Ceci peut être dû à un volume de données global trop grand ou à un nombre de fichiers/modifications trop important dans votre projet.", + "github_too_many_files_error": "Ce dépôt ne peut pas être importé car il contient un nombre de fichiers supérieur à la limite autorisée", + "github_validation_check": "Veuillez vérifier que le nom du dépôt est valable, et que vous avez les droits pour créer le dépôt.", + "give_feedback": "Donner votre avis", +@@ -722,7 +722,7 @@ + "login_here": "Se connecter ici", + "login_or_password_wrong_try_again": "Votre identifiant ou votre mot de passe est incorrect. Veuillez essayer à nouveau", + "login_register_or": "ou bien", +- "login_to_overleaf": "Se connecter à Overleaf", ++ "login_to_overleaf": "Se connecter à HajTeX", + "login_with_service": "Se connecter avec __service__", + "logs_and_output_files": "Journaux et fichiers de sortie", + "looking_multiple_licenses": "Vous cherchez des licences groupées ?", +@@ -764,7 +764,7 @@ + "monthly": "Mensuel", + "more": "Plus", + "more_info": "Plus d’infos", +- "more_than_one_kind_of_snippet_was_requested": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "more_than_one_kind_of_snippet_was_requested": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "must_be_email_address": "Adresse électronique attendue", + "n_items": "__count__ élément", + "n_items_plural": "__count__ éléments", +@@ -810,11 +810,11 @@ + "normal": "Normal", + "normally_x_price_per_month": "__price__ par mois en temps normal", + "normally_x_price_per_year": "__price__ par an en temps normal", +- "not_found_error_from_the_supplied_url": "Le lien pour ouvrir ce contenu sur Overleaf pointe vers un fichier introuvable. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "not_found_error_from_the_supplied_url": "Le lien pour ouvrir ce contenu sur HajTeX pointe vers un fichier introuvable. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "not_now": "pas maintenant", + "not_registered": "Pas inscrit·e", +- "notification_features_upgraded_by_affiliation": "Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec Overleaf, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’Overleaf.", +- "notification_personal_subscription_not_required_due_to_affiliation": " Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec Overleaf, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’Overleaf. Vous pouvez ainsi annuler votre abonnement personnel en conservant l’accès à tous vos avantages.", ++ "notification_features_upgraded_by_affiliation": "Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec HajTeX, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’HajTeX.", ++ "notification_personal_subscription_not_required_due_to_affiliation": " Bonne nouvelle ! L’organisme dont vous faites partie, __institutionName__, est en partenariat avec HajTeX, ce qui vous permet d’accéder aux fonctionnalités professionnelles d’HajTeX. Vous pouvez ainsi annuler votre abonnement personnel en conservant l’accès à tous vos avantages.", + "notification_project_invite": "__userName__ souhaiterait que vous rejoigniez __projectName__ Rejoindre le projet", + "notification_project_invite_accepted_message": "Vous avez rejoint __projectName__", + "notification_project_invite_message": "__userName__ souhaiterait que vous rejoigniez __projectName__", +@@ -1051,7 +1051,7 @@ + "something_went_wrong_rendering_pdf": "Une erreur s’est produite lors du rendu de ce PDF.", + "something_went_wrong_server": "Une erreur s’est produite pendant la communication avec le serveur :( Veuillez réessayer.", + "somthing_went_wrong_compiling": "Désolé, quelque chose ne fonctionne pas et votre projet ne peut pas être compilé. Veuillez réessayer dans quelques instants.", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "Désolé, une erreur s’est produite lors de l’ouverture de ce contenu sur Overleaf. Veuillez réessayer", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "Désolé, une erreur s’est produite lors de l’ouverture de ce contenu sur HajTeX. Veuillez réessayer", + "source": "Code source", + "spell_check": "Correcteur orthographique", + "sso_account_already_linked": "Compte déjà lié à un·e autre utilisateur·rice __appName__", +@@ -1110,19 +1110,19 @@ + "thanks_for_subscribing": "Merci de vous être abonné(e) !", + "thanks_for_subscribing_you_help_sl": "Merci de vous être abonné à l’offre __planName__. C’est grâce au support de personnes comme vous que __appName__ peut prospérer et continuer à s’améliorer.", + "thanks_settings_updated": "Merci, vos réglages ont été mis à jour.", +- "the_file_supplied_is_of_an_unsupported_type ": "Le lien pour ouvrir ce contenu sur Overleaf pointe vers un type de fichier invalide. Les types autorisés sont les documents .tex et les archives .zip. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", +- "the_requested_conversion_job_was_not_found": "Le lien pour ouvrir ce contenu sur Overleaf spécifie une tâche de conversion inconnue. Il est possible que cette tâche ait expiré et qu’elle doive être lancée à nouveau. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", +- "the_requested_publisher_was_not_found": "Le lien pour ouvrir ce contenu sur Overleaf spécifie un éditeur inconnu. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", +- "the_required_parameters_were_not_supplied": "Certains paramètres obligatoires sont manquants dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", +- "the_supplied_parameters_were_invalid": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", +- "the_supplied_uri_is_invalid": "Le lien pour ouvrir ce contenu sur Overleaf contient une URI invalide. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_file_supplied_is_of_an_unsupported_type ": "Le lien pour ouvrir ce contenu sur HajTeX pointe vers un type de fichier invalide. Les types autorisés sont les documents .tex et les archives .zip. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_requested_conversion_job_was_not_found": "Le lien pour ouvrir ce contenu sur HajTeX spécifie une tâche de conversion inconnue. Il est possible que cette tâche ait expiré et qu’elle doive être lancée à nouveau. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_requested_publisher_was_not_found": "Le lien pour ouvrir ce contenu sur HajTeX spécifie un éditeur inconnu. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_required_parameters_were_not_supplied": "Certains paramètres obligatoires sont manquants dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_supplied_parameters_were_invalid": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur HajTeX. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "the_supplied_uri_is_invalid": "Le lien pour ouvrir ce contenu sur HajTeX contient une URI invalide. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "their_projects_will_be_transferred_to_another_user": "Leurs projets seront tous transférés à un autre utilisateur de votre choix", + "theme": "Thème", + "then_x_price_per_month": "Puis __price__ par mois", + "then_x_price_per_year": "Puis __price__ par an", + "there_was_an_error_opening_your_content": "Une erreur s’est produite lors de la création de votre projet", + "thesis": "Thèse", +- "they_lose_access_to_account": "Leur compte Overleaf sera immédiatement inaccessible", ++ "they_lose_access_to_account": "Leur compte HajTeX sera immédiatement inaccessible", + "this_action_cannot_be_undone": "Cette action est irréversible.", + "this_field_is_required": "Ce champ est requis", + "this_is_your_template": "Ceci est le modèle provenant de votre projet", +@@ -1167,7 +1167,7 @@ + "turn_off_link_sharing": "Désactiver le partage par lien", + "turn_on_link_sharing": "Activer le partage par lien", + "uk": "Ukrainien", +- "unable_to_extract_the_supplied_zip_file": "L’ouverture de ce contenu sur Overleaf a échoué car l’archive n’a pas pu être extraite. Veuillez vous assurer de la validité de cette archive. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", ++ "unable_to_extract_the_supplied_zip_file": "L’ouverture de ce contenu sur HajTeX a échoué car l’archive n’a pas pu être extraite. Veuillez vous assurer de la validité de cette archive. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "unarchive": "Restaurer", + "uncategorized": "Non-classés", + "unconfirmed": "Non confirmé", +@@ -1225,7 +1225,7 @@ + "will_need_to_log_out_from_and_in_with": "Vous devrez vous déconnecter de votre compte __email1__ et vous reconnecter sur votre compte __email2__.", + "word_count": "Nombre de mots", + "work_offline": "Travaillez hors ligne", +- "work_with_non_overleaf_users": "Travaillez avec des utilisateurs hors de Overleaf", ++ "work_with_non_overleaf_users": "Travaillez avec des utilisateurs hors de HajTeX", + "x_price_for_first_month": "<0>__price__ pour votre premier mois", + "x_price_for_first_year": "<0>__price__ pour votre première année", + "x_price_per_year": "<0>__price__ par an", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/it.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/it.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ja.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ja.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ko.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ko.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/nl.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/nl.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/no.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/no.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/pl.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/pl.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/pt.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/pt.json.diff new file mode 100644 index 0000000..6cbd547 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/pt.json.diff @@ -0,0 +1,62 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/pt.json 2024-12-11 19:56:29.581891793 +0000 ++++ ../5.2.1/overleaf/services/web/locales/pt.json 2024-12-01 18:28:29.000000000 +0000 +@@ -177,7 +177,7 @@ + "drag_here": "arraste aqui", + "drop_files_here_to_upload": "Largar arquivos aqui para enviar", + "dropbox_for_link_share_projs": "Este projeto foi acessado via compartilhamento de links e não será sincronizado com o seu Dropbox, a menos que você seja convidado por e-mail pelo proprietário do projeto", +- "dropbox_integration_info": "Trabalhe online ou offline perfeitamente com a sincronia do Dropbox. As suas alterações locais serão enviadas automaticamente para a sua versão do Overleaf e vice-e-versa.", ++ "dropbox_integration_info": "Trabalhe online ou offline perfeitamente com a sincronia do Dropbox. As suas alterações locais serão enviadas automaticamente para a sua versão do HajTeX e vice-e-versa.", + "dropbox_integration_lowercase": "Integração com Dropbox", + "dropbox_sync": "Sincronização Dropbox", + "dropbox_sync_description": "Mantenha seus projetos __appName__ sincronizados com o Dropbox. Mudanças no __appName__ serão enviadas automaticamente para o Dropbox, e o inverso também.", +@@ -307,7 +307,7 @@ + "language": "Idioma", + "last_modified": "Última Modificação", + "last_name": "Sobrenome", +- "latam_discount_modal_info": "Obtenha todo o potencial do Overleaf com desconto de __discount__% em assinaturas premium pagas em __currencyName__. Obtenha um tempo limite de compilação mais longo, histórico completo de documentos, controle de alterações, colaboradores adicionais e muito mais.", ++ "latam_discount_modal_info": "Obtenha todo o potencial do HajTeX com desconto de __discount__% em assinaturas premium pagas em __currencyName__. Obtenha um tempo limite de compilação mais longo, histórico completo de documentos, controle de alterações, colaboradores adicionais e muito mais.", + "latam_discount_modal_title": "Desconto em assinaturas premium", + "latam_discount_offer_plans_page_banner": "__flag__ Aplicamos um desconto de __discount__ aos planos premium nesta página para nossos usuários no __country__. Confira os novos preços mais baixos (em __currency__).", + "latex_templates": "Modelos LaTeX", +@@ -343,7 +343,7 @@ + "login_here": "Entre aqui", + "login_or_password_wrong_try_again": "Seu usário ou senha estão incorretos. Tente novamente.", + "login_register_or": "ou", +- "login_to_overleaf": "Faça o login no Overleaf", ++ "login_to_overleaf": "Faça o login no HajTeX", + "login_with_service": "Logar com __service__", + "logs_and_output_files": "Logs e arquivos de saída", + "looking_multiple_licenses": "Procurando por lincenças múltiplas?", +@@ -408,7 +408,7 @@ + "no_search_results": "Sem resultados", + "no_thanks_cancel_now": "Não, obrigado - Ainda quero Cancelar Agora", + "normal": "Normal", +- "not_found_error_from_the_supplied_url": "O link para abrir este conteúdo no Overleaf apontou para um arquivo que não foi encontrado. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", ++ "not_found_error_from_the_supplied_url": "O link para abrir este conteúdo no HajTeX apontou para um arquivo que não foi encontrado. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "not_now": "Não agora", + "not_registered": "Não registrado", + "notification_project_invite": "__userName__ você gostaria de entrar em __projectName__ Entrar no Projeto", +@@ -623,10 +623,10 @@ + "thanks_for_subscribing": "Obrigado por se inscrever!", + "thanks_for_subscribing_you_help_sl": "Obrigado por se inscriver ao plano __planName__. É a ajuda de pessoas como você que permitem ao __appName__ continuar a crescer e melhorar.", + "thanks_settings_updated": "Obrigado, suas configurações foram salvas.", +- "the_file_supplied_is_of_an_unsupported_type ": "O link para abrir este conteúdo no Overleaf apontou para o tipo errado de arquivo. Tipos de arquivos válidos são arquivos .tex e .zip. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", +- "the_requested_conversion_job_was_not_found": "O link para abrir este conteúdo no Overleaf especificou um trabalho de conversão que não pôde ser encontrado. É possível que o trabalho tenha expirado e precise ser executado novamente. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", +- "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", +- "the_supplied_uri_is_invalid": "O link para abrir este conteúdo no Overleaf incluiu um URI inválido. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", ++ "the_file_supplied_is_of_an_unsupported_type ": "O link para abrir este conteúdo no HajTeX apontou para o tipo errado de arquivo. Tipos de arquivos válidos são arquivos .tex e .zip. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", ++ "the_requested_conversion_job_was_not_found": "O link para abrir este conteúdo no HajTeX especificou um trabalho de conversão que não pôde ser encontrado. É possível que o trabalho tenha expirado e precise ser executado novamente. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", ++ "the_requested_publisher_was_not_found": "The link to open this content on HajTeX specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", ++ "the_supplied_uri_is_invalid": "O link para abrir este conteúdo no HajTeX incluiu um URI inválido. Se isso continuar acontecendo nos links de um site específico, informe isso a eles.", + "theme": "Tema", + "thesis": "Tese", + "this_is_your_template": "Este é seu modelo de seu projeto", +@@ -661,7 +661,7 @@ + "turn_off_link_sharing": "Desligar compartilhamento de Link", + "turn_on_link_sharing": "Ligar compartilhamento de Link.", + "uk": "Ucraniano", +- "unable_to_extract_the_supplied_zip_file": "Abrir este conteúdo no Overleaf falhou porque o arquivo zip não pôde ser extraído. Por favor, certifique-se de que é um arquivo zip válido. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", ++ "unable_to_extract_the_supplied_zip_file": "Abrir este conteúdo no HajTeX falhou porque o arquivo zip não pôde ser extraído. Por favor, certifique-se de que é um arquivo zip válido. Se isso continuar acontecendo para links em um site específico, informe isso a eles.", + "uncategorized": "Sem Categoria", + "unconfirmed": "Não confirmado", + "university": "Universidade", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ru.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/ru.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/sv.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/sv.json.diff new file mode 100644 index 0000000..54b8c84 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/sv.json.diff @@ -0,0 +1,173 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/sv.json 2024-12-11 19:56:47.913672738 +0000 ++++ ../5.2.1/overleaf/services/web/locales/sv.json 2024-12-01 18:28:29.000000000 +0000 +@@ -230,8 +230,8 @@ + "download_zip_file": "Ladda ner .zip fil", + "drag_here": "dra här", + "drop_files_here_to_upload": "Släpp filer här för att ladda upp", +- "dropbox_already_linked_error": "Ditt Dropbox-konto kan inte länkas eftersom det redan är länkat till ett annat Overleaf-konto.", +- "dropbox_already_linked_error_with_email": "Ditt Dropbox-konto kan inte kopplas eftersom det redan är kopplat till ett annat Overleaf-konto med e-postadressen __otherUsersEmail__.", ++ "dropbox_already_linked_error": "Ditt Dropbox-konto kan inte länkas eftersom det redan är länkat till ett annat HajTeX-konto.", ++ "dropbox_already_linked_error_with_email": "Ditt Dropbox-konto kan inte kopplas eftersom det redan är kopplat till ett annat HajTeX-konto med e-postadressen __otherUsersEmail__.", + "dropbox_checking_sync_status": "Kontrollerar status för Dropbox-integration", + "dropbox_duplicate_names_error": "Ditt Dropbox-konto kan inte länkas eftersom du har mer än ett projekt med samma namn: ", + "dropbox_email_not_verified": "Vi har inte kunnat hämta uppdateringar från ditt Dropbox-konto. Dropbox rapporterade att din e-postadress inte är verifierad. Verifiera din e-postadress i ditt Dropbox-konto för att lösa detta.", +@@ -240,14 +240,14 @@ + "dropbox_integration_lowercase": "Dropboxintegrering", + "dropbox_successfully_linked_description": "Tack, vi har lyckats koppla ditt Dropbox-konto till __appName__.", + "dropbox_sync": "Dropbox synkronisering", +- "dropbox_sync_both": "Uppdaterar Overleaf och Dropbox", ++ "dropbox_sync_both": "Uppdaterar HajTeX och Dropbox", + "dropbox_sync_description": "Synkronisera dina __appName__ projekt med Dropbox. Ändringar du gör i __appName__ skickas automatiskt till din Dropbox, och vice versa.", + "dropbox_sync_error": "Fel vid Dropbox-synkning", +- "dropbox_sync_in": "Uppdaterar Overleaf", ++ "dropbox_sync_in": "Uppdaterar HajTeX", + "dropbox_sync_out": "Uppdaterar Dropbox", +- "dropbox_synced": "Overleaf och Dropbox är aktuella", +- "dropbox_unlinked_because_access_denied": "Dropbox-kontot har kopplats bort eftersom Dropbox-tjänsten har avvisat dina lagrade autentiseringsuppgifter. Vänligen koppla tillbaka ditt Dropbox-konto för att fortsätta använda det med Overleaf.", +- "dropbox_unlinked_because_full": "Ditt Dropbox-konto har kopplats bort eftersom det är fullt och vi kan inte längre skicka uppdateringar till det. Vänligen frigör lite utrymme och länka om ditt Dropbox-konto så att du kan fortsätta att använda det med Overleaf.", ++ "dropbox_synced": "HajTeX och Dropbox är aktuella", ++ "dropbox_unlinked_because_access_denied": "Dropbox-kontot har kopplats bort eftersom Dropbox-tjänsten har avvisat dina lagrade autentiseringsuppgifter. Vänligen koppla tillbaka ditt Dropbox-konto för att fortsätta använda det med HajTeX.", ++ "dropbox_unlinked_because_full": "Ditt Dropbox-konto har kopplats bort eftersom det är fullt och vi kan inte längre skicka uppdateringar till det. Vänligen frigör lite utrymme och länka om ditt Dropbox-konto så att du kan fortsätta att använda det med HajTeX.", + "duplicate_file": "Duplicera fil", + "easily_manage_your_project_files_everywhere": "Hantera dina projektfiler enkelt och överallt", + "edit": "Redigera", +@@ -283,15 +283,15 @@ + "faq_change_plans_or_cancel_question": "Kan jag ändra min plan eller avboka senare?", + "faq_do_collab_need_on_paid_plan_answer": "Nej, de kan vara med i vilken plan som helst, inklusive den kostnadsfria planen. Om du har en premiumplan kommer vissa premiumfunktioner att vara tillgängliga för dina medarbetare i projekt som du har skapat, även om dessa medarbetare har en gratisplan. För mer information, läs om <0>konto och prenumerationer och <1>hur premiumfunktioner fungerar.", + "faq_do_collab_need_on_paid_plan_question": "Måste mina medarbetare också ha en betald plan?", +- "faq_how_does_a_group_plan_work_answer": "Gruppabonnemang är ett sätt att uppgradera mer än ett Overleaf-konto. De är lätta att hantera, hjälper till att spara på pappersarbete och minskar kostnaden för att köpa flera abonnemang separat. Om du vill veta mer kan du läsa om <0>anslutning till en gruppabonnemang och <1>hantering av ett gruppabonnemang. Du kan köpa gruppabonnemang ovan eller genom att <2>kontakta oss.", ++ "faq_how_does_a_group_plan_work_answer": "Gruppabonnemang är ett sätt att uppgradera mer än ett HajTeX-konto. De är lätta att hantera, hjälper till att spara på pappersarbete och minskar kostnaden för att köpa flera abonnemang separat. Om du vill veta mer kan du läsa om <0>anslutning till en gruppabonnemang och <1>hantering av ett gruppabonnemang. Du kan köpa gruppabonnemang ovan eller genom att <2>kontakta oss.", + "faq_how_does_a_group_plan_work_question": "Hur fungerar en gruppplan? Hur kan jag lägga till personer i planen?", + "faq_how_does_free_trial_works_answer": "Du får full tillgång till din valda __appName__-plan under din __len__-dagars gratis provperiod. Det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av din __len__-dagars provperiod om du inte avbryter innan dess. Du kan avbryta via dina prenumerationsinställningar.", + "faq_how_free_trial_works_answer_v2": "Du får full tillgång till din valda premiumplan under din __len__-dagars gratis provperiod, och det finns inget krav på att fortsätta efter provperioden. Ditt kort kommer att debiteras i slutet av provperioden om du inte avbryter innan dess. Om du vill avbryta går du till dina prenumerationsinställningar på ditt konto (provperioden fortsätter under de __len__ dagarna).", + "faq_how_free_trial_works_question": "Hur fungerar din gratis prövoperiod?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I Overleaf skapar och hanterar varje användare sitt eget Overleaf-konto. De flesta användare börjar med den kostnadsfria planen men kan uppgradera och utnyttja premiumfunktionerna genom att prenumerera på en plan, gå med i en gruppprenumeration eller gå med i en <0>vanlig prenumeration. När du köper, ansluter dig till eller lämnar en prenumeration kan du fortfarande behålla samma Overleaf-konto.", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "I HajTeX skapar och hanterar varje användare sitt eget HajTeX-konto. De flesta användare börjar med den kostnadsfria planen men kan uppgradera och utnyttja premiumfunktionerna genom att prenumerera på en plan, gå med i en gruppprenumeration eller gå med i en <0>vanlig prenumeration. När du köper, ansluter dig till eller lämnar en prenumeration kan du fortfarande behålla samma HajTeX-konto.", + "faq_pay_by_invoice_question": "Kan jag betala med faktura?", + "faq_the_individual_standard_plan_10_collab_question": "Den individuella standardplanen har 10 projektmedarbetare, betyder det att 10 personer kommer att uppgraderas?", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I Overleaf skapar varje användare sitt eget konto. Du kan skapa projekt som bara du själv kan arbeta med, och du kan också bjuda in andra att se eller arbeta med dig i ett projekt som du äger. Användare som du delar ditt projekt med kallas <0>samarbetare. Vi hänvisar ibland till dem som projektmedarbetare.", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "I HajTeX skapar varje användare sitt eget konto. Du kan skapa projekt som bara du själv kan arbeta med, och du kan också bjuda in andra att se eller arbeta med dig i ett projekt som du äger. Användare som du delar ditt projekt med kallas <0>samarbetare. Vi hänvisar ibland till dem som projektmedarbetare.", + "fast": "Snabb", + "featured_latex_templates": "Utvalda LaTeX-mallar", + "features": "Funktioner", +@@ -321,7 +321,7 @@ + "free": "Gratis", + "free_dropbox_and_history": "Gratis Dropbox och förändringshistorik", + "free_plan_label": "Du har en gratisplan", +- "free_plan_tooltip": "Klicka för att ta reda på hur du kan dra nytta av Overleafs premiumfunktioner!", ++ "free_plan_tooltip": "Klicka för att ta reda på hur du kan dra nytta av HajTeXs premiumfunktioner!", + "full_doc_history": "Full dokumenthistorik", + "full_doc_history_info_v2": "Du kan se alla ändringar i ditt projekt och vem som har gjort varje ändring. Lägg till etiketter för att snabbt komma åt specifika versioner.", + "generic_if_problem_continues_contact_us": "Om problemet kvarstår, vänligen kontakta oss.", +@@ -337,11 +337,11 @@ + "github_private_description": "Du kan välja vem som kan se och checka in till detta kodförråd.", + "github_public_description": "Alla kan se detta repo. Du bestämmer vem som kan commita.", + "github_successfully_linked_description": "Tack, vi har länkat ditt GitHub konto till __appName__. Du kan du exportera dina __appName__ projekt till GitHub, eller importera projekt från dina GitHub repon.", +- "github_symlink_error": "Ditt Github-arkiv innehåller symboliska länkfiler som för närvarande inte stöds av Overleaf. Vänligen ta bort dessa och försök igen.", ++ "github_symlink_error": "Ditt Github-arkiv innehåller symboliska länkfiler som för närvarande inte stöds av HajTeX. Vänligen ta bort dessa och försök igen.", + "github_sync": "GitHub Synk", + "github_sync_description": "Med GitHub synk kan du koppla dina __appName__ projekt till GitHub repon. Skapa nya commits från __appName__ och slå samman commits som har gjorts i offlineläge eller i GitHub.", + "github_sync_error": "Ett fel uppstod vid kommunikationen med GitHub. Vänligen försök igen om en stund.", +- "github_timeout_error": "Synkroniseringen av ditt Overleaf-projekt med GitHub har orsakat time-out. Det kan bero på att projektets totala storlek eller antalet filer/ändringar som ska synkroniseras är för stort.", ++ "github_timeout_error": "Synkroniseringen av ditt HajTeX-projekt med GitHub har orsakat time-out. Det kan bero på att projektets totala storlek eller antalet filer/ändringar som ska synkroniseras är för stort.", + "github_too_many_files_error": "Det här arkivet kan inte importeras eftersom det överskrider det högsta tillåtna antalet filer.", + "github_validation_check": "Vänligen kontrollera att repots namn är giltigt samt att du har tillåtelse att skapa nya repon.", + "give_feedback": "Ge respons", +@@ -492,7 +492,7 @@ + "login_here": "Logga in här", + "login_or_password_wrong_try_again": "Ditt inlogg eller lösenord är felaktigt. Vänligen försök igen", + "login_register_or": "eller", +- "login_to_overleaf": "Logga in i Overleaf", ++ "login_to_overleaf": "Logga in i HajTeX", + "login_with_service": "Logga in med __service__", + "logs_and_output_files": "Loggar och output filer", + "looking_multiple_licenses": "Letar du efter flera licenser?", +@@ -531,7 +531,7 @@ + "monthly": "Månatlig", + "more": "Mer", + "more_info": "Mer info", +- "more_than_one_kind_of_snippet_was_requested": "Länken för att öppna detta innehåll i Overleaf innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "more_than_one_kind_of_snippet_was_requested": "Länken för att öppna detta innehåll i HajTeX innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "must_be_email_address": "Måste vara en e-postadress", + "n_items": "__count__ objekt", + "name": "Namn", +@@ -575,12 +575,12 @@ + "normal": "Normal", + "normally_x_price_per_month": "Normalt __price__ per månad", + "normally_x_price_per_year": "Normalt __price__ per år", +- "not_found_error_from_the_supplied_url": "Länken för att öppna detta innehåll i Overleaf pekade på en fil som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "not_found_error_from_the_supplied_url": "Länken för att öppna detta innehåll i HajTeX pekade på en fil som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "not_now": "Inte nu", + "not_registered": "Ej registrerad", + "note_features_under_development": "<0>Vänligen observera att funktionerna i detta program fortfarande testas och utvecklas aktivt. Detta innebär att de kan <0>förändras, <0>tas bort eller <0>bli en del av en premiumplan.", +- "notification_features_upgraded_by_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med Overleaf och du har nu tillgång till alla Overleafs professionella funktioner.", +- "notification_personal_subscription_not_required_due_to_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med Overleaf och du har nu tillgång till Overleafs professionella funktioner genom din anslutning. Du kan säga upp din personliga prenumeration utan att förlora åtkomst till någon av dina förmåner.", ++ "notification_features_upgraded_by_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med HajTeX och du har nu tillgång till alla HajTeXs professionella funktioner.", ++ "notification_personal_subscription_not_required_due_to_affiliation": "Goda nyheter! Din anslutna organisation __institutionName__ har ett partnerskap med HajTeX och du har nu tillgång till HajTeXs professionella funktioner genom din anslutning. Du kan säga upp din personliga prenumeration utan att förlora åtkomst till någon av dina förmåner.", + "notification_project_invite": "__userName__ vill att du går med i __projectName__, Gå med i projektet", + "notification_project_invite_accepted_message": "Du har anslutit dig till __projectName__", + "november": "November", +@@ -602,7 +602,7 @@ + "other_output_files": "Ladda ner andra utdatafiler", + "over": "över", + "overall_theme": "Övergripande tema", +- "overleaf": "Overleaf", ++ "overleaf": "HajTeX", + "overview": "Översikt", + "owned_by_x": "ägs av __x__", + "owner": "Ägare", +@@ -630,7 +630,7 @@ + "pending": "Inväntar", + "personal": "Privat", + "pl": "Polska", +- "plan_tooltip": "Du har __plan__-planen. Klicka för att ta reda på hur du får ut det mesta av dina Overleaf premiumfunktioner!", ++ "plan_tooltip": "Du har __plan__-planen. Klicka för att ta reda på hur du får ut det mesta av dina HajTeX premiumfunktioner!", + "planned_maintenance": "Planerat underhåll", + "plans_amper_pricing": "Betalningsplaner och avgifter", + "plans_and_pricing": "Betalningsplaner och Priser", +@@ -655,7 +655,7 @@ + "powerful_latex_editor_and_realtime_collaboration_info": "Stavningskontroll, intelligent autokomplettering, syntaxmarkering, dussintals färgteman, anslutningar till vim och emacs, hjälp med LaTeX-varningar och felmeddelanden och mycket mer. Alla har alltid den senaste versionen, och du kan se dina samarbetspartners markörer och ändringar i realtid.", + "premium_feature": "Premium-funktion", + "premium_features": "Premiumfunktioner", +- "premium_plan_label": "Du använder Overleaf Premium", ++ "premium_plan_label": "Du använder HajTeX Premium", + "presentation": "Presentation", + "price": "Pris", + "priority_support": "Prioriterad support", +@@ -813,7 +813,7 @@ + "something_went_wrong_canceling_your_subscription": "Något gick fel när vi avslutade din prenumeration. Vänligen kontakta support.", + "something_went_wrong_rendering_pdf": "Något gick fel under renderingen av denna PDF:en.", + "somthing_went_wrong_compiling": "Ursäkta, något blev fel och ditt projekt kunde inte kompileras. Vänligen försök igen om en liten stund.", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "Tyvärr inträffade ett oväntat fel när du försökte öppna innehållet i Overleaf. Vänligen försök igen.", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "Tyvärr inträffade ett oväntat fel när du försökte öppna innehållet i HajTeX. Vänligen försök igen.", + "sort_by": "Sortera efter", + "sort_by_x": "Sortera efter __x__", + "source": "Källfiler", +@@ -879,12 +879,12 @@ + "thanks_for_subscribing": "Tack för din prenumeration!", + "thanks_for_subscribing_you_help_sl": "Tack för att du prenumererar på en __planName__ betalningsplan. Det är stöd från personer som dig som gör att __appName__ kan fortsätta växa och förbättras.", + "thanks_settings_updated": "Tack, dina inställningar har uppdateras.", +- "the_file_supplied_is_of_an_unsupported_type ": "Länken för att öppna detta innehåll i Overleaf pekade på fel typ av fil. Giltiga filtyper är .tex-dokument och .zip-filer. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", +- "the_requested_conversion_job_was_not_found": "Länken för att öppna detta innehåll i Overleaf angav ett konverteringsjobb som inte kunde hittas. Det är möjligt att jobbet har löpt ut och måste köras igen. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", +- "the_requested_publisher_was_not_found": "Länken för att öppna detta innehåll i Overleaf angav en utgivare som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", +- "the_required_parameters_were_not_supplied": "Länken för att öppna detta innehåll i Overleaf saknade några nödvändiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", +- "the_supplied_parameters_were_invalid": "Länken för att öppna detta innehåll i Overleaf innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", +- "the_supplied_uri_is_invalid": "Länken för att öppna detta innehåll i Overleaf innehöll en ogiltig URI. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_file_supplied_is_of_an_unsupported_type ": "Länken för att öppna detta innehåll i HajTeX pekade på fel typ av fil. Giltiga filtyper är .tex-dokument och .zip-filer. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_requested_conversion_job_was_not_found": "Länken för att öppna detta innehåll i HajTeX angav ett konverteringsjobb som inte kunde hittas. Det är möjligt att jobbet har löpt ut och måste köras igen. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_requested_publisher_was_not_found": "Länken för att öppna detta innehåll i HajTeX angav en utgivare som inte kunde hittas. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_required_parameters_were_not_supplied": "Länken för att öppna detta innehåll i HajTeX saknade några nödvändiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_supplied_parameters_were_invalid": "Länken för att öppna detta innehåll i HajTeX innehöll några ogiltiga parametrar. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "the_supplied_uri_is_invalid": "Länken för att öppna detta innehåll i HajTeX innehöll en ogiltig URI. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "theme": "Tema", + "then_x_price_per_month": "Därefter __price__ per månad", + "then_x_price_per_year": "Därefter __price__ per år", +@@ -938,7 +938,7 @@ + "turn_off_link_sharing": "Inaktivera länkdelning", + "turn_on_link_sharing": "Aktivera länkdelning", + "uk": "Ukrainska", +- "unable_to_extract_the_supplied_zip_file": "Det gick inte att öppna detta innehåll i Overleaf eftersom zip-filen inte kunde extraheras. Vänligen se till att det är en giltig zip-fil. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", ++ "unable_to_extract_the_supplied_zip_file": "Det gick inte att öppna detta innehåll i HajTeX eftersom zip-filen inte kunde extraheras. Vänligen se till att det är en giltig zip-fil. Om detta fortsätter att hända för länkar på en viss webbplats, vänligen rapportera detta till dem.", + "unarchive": "Återskapa", + "uncategorized": "Okategoriserat", + "unconfirmed": "Obekräftad", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/tr.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/tr.json.diff new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/zh-CN.json.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/zh-CN.json.diff new file mode 100644 index 0000000..2709630 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/locales/zh-CN.json.diff @@ -0,0 +1,831 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/zh-CN.json 2024-12-11 19:56:41.016755152 +0000 ++++ ../5.2.1/overleaf/services/web/locales/zh-CN.json 2024-12-01 18:28:29.000000000 +0000 +@@ -48,7 +48,7 @@ + "account_not_linked_to_dropbox": "您的账户没有链接到Dropbox", + "account_settings": "账户设置", + "account_with_email_exists": "看起来在 __appName__ 已经存在一个电子邮件为__email__的账户。", +- "acct_linked_to_institution_acct_2": "您可以通过您的<0> __institutionName__ 机构登录信息来<0>登录 Overleaf。", ++ "acct_linked_to_institution_acct_2": "您可以通过您的<0> __institutionName__ 机构登录信息来<0>登录 HajTeX。", + "actions": "操作", + "activate": "激活", + "activate_account": "激活账户", +@@ -98,7 +98,7 @@ + "advanced_search": "高级搜索", + "aggregate_changed": "替换", + "aggregate_to": "为", +- "agree_with_the_terms": "我同意Overleaf的条款", ++ "agree_with_the_terms": "我同意HajTeX的条款", + "ai_can_make_mistakes": "AI 可能会犯错。在确定修复之前,请先检查修复内容。", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "您对改进此功能有什么想法或建议吗?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "告诉我们哪里出了问题,以便我们改进。", +@@ -135,7 +135,7 @@ + "anyone_with_link_can_view": "任何人可以通过此链接浏览此项目。", + "app_on_x": "__appName__ 在 __social__", + "apply_educational_discount": "使用教育折扣", +- "apply_educational_discount_info": "10人或10人以上的团体可享受40%的教育折扣。适用于使用Overleaf教学的学生或教师。", ++ "apply_educational_discount_info": "10人或10人以上的团体可享受40%的教育折扣。适用于使用HajTeX教学的学生或教师。", + "apply_educational_discount_info_new": "使用__appName__进行教学的10人或以上团体可享受40%的折扣", + "apply_suggestion": "使用建议", + "april": "四月", +@@ -202,7 +202,7 @@ + "bulk_reject_confirm": "您确认拒绝__nChanges__ 个变动吗?", + "buy_now_no_exclamation_mark": "现在购买", + "by": "由", +- "by_joining_labs": "加入实验室即表示您同意接收 Overleaf 不定期发送的电子邮件和更新信息(例如,征求您的反馈)。您还同意我们的<0>服务条款和<1>隐私声明。", ++ "by_joining_labs": "加入实验室即表示您同意接收 HajTeX 不定期发送的电子邮件和更新信息(例如,征求您的反馈)。您还同意我们的<0>服务条款和<1>隐私声明。", + "by_registering_you_agree_to_our_terms_of_service": "注册即表示您同意我们的 <0>服务条款 和 <1>隐私条款。", + "by_subscribing_you_agree_to_our_terms_of_service": "订阅即表示您同意我们的<0>服务条款。", + "can_edit": "可以编辑", +@@ -288,7 +288,7 @@ + "collaborate_online_and_offline": "使用自己的工作流进行在线和离线协作", + "collaboration": "合作", + "collaborator": "合作者", +- "collabratec_account_not_registered": "未注册 IEEE Collabratec™ 帐户。请从IEEE Collabratec™连接到Overleaf 或者使用其他帐户登录。", ++ "collabratec_account_not_registered": "未注册 IEEE Collabratec™ 帐户。请从IEEE Collabratec™连接到HajTeX 或者使用其他帐户登录。", + "collabs_per_proj": "每个项目 __collabcount__ 个合作者", + "collabs_per_proj_single": "__collabcount__ 个合作者每个项目", + "collapse": "合上", +@@ -300,7 +300,7 @@ + "commit": "提交", + "common": "通用", + "common_causes_of_compile_timeouts_include": "常见的导致编译超时的原因包括", +- "commons_plan_tooltip": "由于您与 __institution__ 的隶属关系,您加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", ++ "commons_plan_tooltip": "由于您与 __institution__ 的隶属关系,您加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", + "compact": "紧凑的", + "company_name": "公司名称", + "compare": "比较", +@@ -315,8 +315,8 @@ + "compile_servers_info_new": "用于编译项目的服务器。付费计划用户的编译器始终在最快的可用服务器上运行。", + "compile_terminated_by_user": "由于点击了“停止编译”按钮,编译被取消。您可以下载原始日志以查看编译停止的位置。", + "compile_timeout_short": "编译时限", +- "compile_timeout_short_info_basic": "这是您在Overleaf服务器上编译项目的时限。对于更长或更复杂的项目,您可能需要更多的时间。", +- "compile_timeout_short_info_new": "这是您在 Overleaf 上编译项目的时间。对于更长或更复杂的项目,您可能需要更多时间。", ++ "compile_timeout_short_info_basic": "这是您在HajTeX服务器上编译项目的时限。对于更长或更复杂的项目,您可能需要更多的时间。", ++ "compile_timeout_short_info_new": "这是您在 HajTeX 上编译项目的时间。对于更长或更复杂的项目,您可能需要更多时间。", + "compiler": "编译器", + "compiling": "正在编译", + "complete": "完成", +@@ -394,7 +394,7 @@ + "custom": "默认 (Custom)", + "custom_borders": "自定义边框", + "custom_resource_portal": "定制资源门户", +- "custom_resource_portal_info": "您可以在 Overleaf 上拥有自己的自定义门户页面。这是您的用户了解有关 Overleaf 的更多信息、访问模板、常见问题解答和帮助资源以及注册 Overleaf 的好地方。", ++ "custom_resource_portal_info": "您可以在 HajTeX 上拥有自己的自定义门户页面。这是您的用户了解有关 HajTeX 的更多信息、访问模板、常见问题解答和帮助资源以及注册 HajTeX 的好地方。", + "customer_resource_portal": "客户资源门户", + "customize": "定制", + "customize_your_group_subscription": "定制您的团队计划", +@@ -408,7 +408,7 @@ + "dealing_with_errors": "处理错误", + "december": "十二月", + "dedicated_account_manager": "专属客服", +- "dedicated_account_manager_info": "我们的客户管理团队将能够协助您解决请求、问题,并通过宣传材料、培训资源和网络研讨会帮助您宣传 Overleaf。", ++ "dedicated_account_manager_info": "我们的客户管理团队将能够协助您解决请求、问题,并通过宣传材料、培训资源和网络研讨会帮助您宣传 HajTeX。", + "default": "默认", + "delete": "删除", + "delete_account": "删除账户", +@@ -478,7 +478,7 @@ + "dont_have_account_without_question_mark": "没有帐号", + "download": "下载", + "download_all": "下载全部", +- "download_metadata": "下载 Overleaf 元数据", ++ "download_metadata": "下载 HajTeX 元数据", + "download_pdf": "下载PDF", + "download_zip_file": "下载 ZIP 格式文件", + "draft_sso_configuration": "起草 SSO 配置", +@@ -486,15 +486,15 @@ + "drag_here_paste_an_image_or": "将图片拖到此处、粘贴图片,或者 ", + "drop_files_here_to_upload": "拖动文件到这里以上传", + "dropbox": "Dropbox", +- "dropbox_already_linked_error": "您的Dropbox帐户无法链接,因为它已与另一个Overleaf帐户链接。", +- "dropbox_already_linked_error_with_email": "您的Dropbox帐户无法链接,因为它已与另一个Overleaf帐户 __otherUsersEmail__ 链接。", ++ "dropbox_already_linked_error": "您的Dropbox帐户无法链接,因为它已与另一个HajTeX帐户链接。", ++ "dropbox_already_linked_error_with_email": "您的Dropbox帐户无法链接,因为它已与另一个HajTeX帐户 __otherUsersEmail__ 链接。", + "dropbox_checking_sync_status": "正在检查 Dropbox 更新", + "dropbox_duplicate_names_error": "您的 Dropbox 帐户无法链接,因为您有多个同名项目: ", + "dropbox_duplicate_project_names": "您的 Dropbox 帐户已取消关联,因为您有多个名为 <0>\"__projectName__\" 的项目。", + "dropbox_duplicate_project_names_suggestion": "请让您的项目名称在您的所有<0>活动、存档和废弃项目中唯一,然后重新关联您的 Dropbox 帐户。", + "dropbox_email_not_verified": "我们无法从您的 Dropbox 帐户检索更新。Dropbox 报告您的电子邮件地址未经验证。请在 Dropbox 帐户中验证您的电子邮件地址以解决此问题。", + "dropbox_for_link_share_projs": "此项目是通过链接共享访问的,除非项目所有者通过电子邮件邀请您,否则不会同步到您的Dropbox。", +- "dropbox_integration_info": "使用双向Dropbox同步,在线和离线无缝工作。您在本地所做的更改将自动发送到Overleaf,反之亦然。", ++ "dropbox_integration_info": "使用双向Dropbox同步,在线和离线无缝工作。您在本地所做的更改将自动发送到HajTeX,反之亦然。", + "dropbox_integration_lowercase": "Dropbox 集成", + "dropbox_successfully_linked_description": "谢谢,我们已成功将您的Dropbox帐户链接到__appName__。", + "dropbox_sync": "Dropbox同步", +@@ -506,16 +506,16 @@ + "dropbox_sync_now_running": "该项目的手动同步已在后台启动。 请给它几分钟的时间来处理。", + "dropbox_sync_out": "将更新推送到 Dropbox", + "dropbox_sync_troubleshoot": "更改未出现在 Dropbox 中? 请稍等几分钟。 如果更改仍未显示,您可以<0>立即同步此项目。", +- "dropbox_synced": "Overleaf 和 Dropbox 已处理所有更新。请注意,您的本地 Dropbox 可能仍在同步。", +- "dropbox_unlinked_because_access_denied": "您的Dropbox帐户已取消链接,因为Dropbox服务拒绝了您存储的凭据。请重新链接您的Dropbox帐户,以便在Overleaf继续使用。", +- "dropbox_unlinked_because_full": "您的Dropbox帐户已满,因此已取消链接,我们无法再向其发送更新。请释放一些空间并重新链接您的Dropbox帐户,以便在Overleaf继续使用。", ++ "dropbox_synced": "HajTeX 和 Dropbox 已处理所有更新。请注意,您的本地 Dropbox 可能仍在同步。", ++ "dropbox_unlinked_because_access_denied": "您的Dropbox帐户已取消链接,因为Dropbox服务拒绝了您存储的凭据。请重新链接您的Dropbox帐户,以便在HajTeX继续使用。", ++ "dropbox_unlinked_because_full": "您的Dropbox帐户已满,因此已取消链接,我们无法再向其发送更新。请释放一些空间并重新链接您的Dropbox帐户,以便在HajTeX继续使用。", + "dropbox_unlinked_premium_feature": "<0>您的 Dropbox 帐户已取消关联,因为 Dropbox Sync 是您通过机构许可获得的一项高级功能。", + "due_date": "到期 __date__", + "due_today": "今天截止", + "duplicate_file": "重复文件", + "duplicate_projects": "该用户有名称重复的项目", + "each_user_will_have_access_to": "每个用户都可以访问", +- "easily_import_and_sync_your_references": "当您升级 Overleaf 订阅后,可以轻松从 Zotero 或 Mendeley 导入并同步您的参考文献。", ++ "easily_import_and_sync_your_references": "当您升级 HajTeX 订阅后,可以轻松从 Zotero 或 Mendeley 导入并同步您的参考文献。", + "easily_manage_your_project_files_everywhere": "随时随地轻松管理您的项目文件", + "easy_collaboration_for_students": "方便学生协作。支持更长或更复杂的项目。", + "edit": "编辑", +@@ -536,8 +536,8 @@ + "editor_theme": "编辑器主题", + "educational_discount_applied": "40% 教育折扣适用!", + "educational_discount_available_for_groups_of_ten_or_more": "10 人或以上团体可享受教育折扣", +- "educational_discount_disclaimer": "该许可证用于教育目的(适用于使用 Overleaf 进行教学的学生或教师)", +- "educational_discount_for_groups_of_ten_or_more": "Overleaf 为 10 人或以上团体提供 40% 的教育折扣。", ++ "educational_discount_disclaimer": "该许可证用于教育目的(适用于使用 HajTeX 进行教学的学生或教师)", ++ "educational_discount_for_groups_of_ten_or_more": "HajTeX 为 10 人或以上团体提供 40% 的教育折扣。", + "educational_discount_for_groups_of_x_or_more": "教育折扣适用于__size__ 人或以上的团体", + "educational_percent_discount_applied": "应用 __percent__% 教育折扣!", + "email": "电子邮件", +@@ -613,21 +613,21 @@ + "faq_change_plans_or_cancel_question": "我可以稍后更改计划或取消吗?", + "faq_do_collab_need_on_paid_plan_answer": "不,他们可以在任何计划中,包括免费计划。如果您使用高级计划,您创建的项目中的合作者将可以使用一些高级功能,即使这些合作者使用免费计划。有关更多信息,请阅读<0>帐户和订阅以及<1>高级功能的工作原理。", + "faq_do_collab_need_on_paid_plan_question": "我的合作者是否也需要拥有付费计划?", +- "faq_how_does_a_group_plan_work_answer": "团体订阅是升级多个Overleaf帐户的一种方式。它们易于管理,有助于节省文书工作,并降低单独购买多个订阅的成本。要了解更多信息,请阅读有关<0>加入团队订阅 和 <1>管理团队订阅 的信息。您可以在上面购买团队订阅,也可以通过 <2> 联系我们 购买。", ++ "faq_how_does_a_group_plan_work_answer": "团体订阅是升级多个HajTeX帐户的一种方式。它们易于管理,有助于节省文书工作,并降低单独购买多个订阅的成本。要了解更多信息,请阅读有关<0>加入团队订阅 和 <1>管理团队订阅 的信息。您可以在上面购买团队订阅,也可以通过 <2> 联系我们 购买。", + "faq_how_does_a_group_plan_work_question": "团队计划是如何运作的?如何将人员添加到计划中?", + "faq_how_does_free_trial_works_answer": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__计划。试用结束后不能继续免费。您的卡将在试用期结束时收费,除非您在此之前取消。您可以通过订阅设置取消。", + "faq_how_free_trial_works_answer_v2": "在为期__len__天的免费试用期间,您可以完全访问所选的__appName__高级计划。试用结束后不能继续免费。您的卡将在试用期结束时开始扣费,除非您在此之前取消。若要取消订阅,请转到您帐户中的订阅设置(试用仍将持续到__len__天为止)。", + "faq_how_free_trial_works_question": "如何体验免费使用?", +- "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "在Overleaf中,每个用户都创建并管理自己的Overleaf帐户。大多数用户从免费计划开始,但可以通过订阅计划、加入团队订阅或加入<0>Commons subscription来升级并享用高级功能。当您购买、加入或退出订阅时,您仍然可以保留相同的Overleaf帐户。", +- "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "要了解更多信息,请阅读 <0>在Overleaf中帐户和订阅如何协同工作的有关内容。", ++ "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "在HajTeX中,每个用户都创建并管理自己的HajTeX帐户。大多数用户从免费计划开始,但可以通过订阅计划、加入团队订阅或加入<0>Commons subscription来升级并享用高级功能。当您购买、加入或退出订阅时,您仍然可以保留相同的HajTeX帐户。", ++ "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "要了解更多信息,请阅读 <0>在HajTeX中帐户和订阅如何协同工作的有关内容。", + "faq_i_have_free_account_want_subscription_how_question": "我有一个免费帐户并想加入订阅,我该怎么做?", + "faq_pay_by_invoice_answer_v2": "是的,如果你想购买五人或五人以上的团队订阅或者许可证。对于个人订阅,我们只接受通过信用卡、借记卡或PayPal在线支付。", + "faq_pay_by_invoice_question": "可以稍后支付吗", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "不会。只需升级项目拥有者的帐户。个人标准订阅允许您邀请10名合作者加入您拥有的每个项目。", + "faq_the_individual_standard_plan_10_collab_question": "个人标准计划有10个项目合作者,这是否意味着这10个人都需要升级订阅?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "在加入到您作为订阅者与他们共享的项目后,您的合作者将能够访问一些高级功能,如完整的文档历史记录和特定项目的更长的编译时间。然而,邀请他们参加某个特定项目并不能全面提升他们的帐户。阅读有关<0>每个项目有哪些功能,每个帐户有哪些功能的更多信息。", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "在Overleaf中,每个用户都创建自己的帐户。您可以创建只有自己处理的项目,也可以邀请其他人查看或与您一起处理您拥有的项目。与您共享项目的用户称为<0>合作者。我们有时称他们为项目合作者。", +- "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "换言之,合作者只是您在某个项目中合作的其他Overleaf的用户。", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "在HajTeX中,每个用户都创建自己的帐户。您可以创建只有自己处理的项目,也可以邀请其他人查看或与您一起处理您拥有的项目。与您共享项目的用户称为<0>合作者。我们有时称他们为项目合作者。", ++ "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "换言之,合作者只是您在某个项目中合作的其他HajTeX的用户。", + "faq_what_is_the_difference_between_users_and_collaborators_question": "用户和合作者之间有什么区别?", + "fast": "快速", + "fastest": "最快", +@@ -705,7 +705,7 @@ + "free_7_day_trial_billed_monthly": "免费试用 7 天,然后按月付费", + "free_dropbox_and_history": "免费的Dropbox和历史功能", + "free_plan_label": "您现在是 免费计划", +- "free_plan_tooltip": "单击了解如何从 Overleaf 高级功能中受益。", ++ "free_plan_tooltip": "单击了解如何从 HajTeX 高级功能中受益。", + "frequently_asked_questions": "常见问题", + "from_another_project": "从另一个项目中", + "from_enforcement_date": "自 __enforcementDate__ 起,该项目的任何其他编辑者都将成为查看者。", +@@ -735,8 +735,8 @@ + "get_collaborative_benefits": "从 __appName__ 获得协作优势,即使你喜欢离线工作", + "get_discounted_plan": "获得折扣计划", + "get_dropbox_sync": "获取 Dropbox 集成", +- "get_early_access_to_ai": "抢先体验 Overleaf Labs 中的全新 AI 错误助手", +- "get_exclusive_access_to_labs": "加入 Overleaf Labs 后,即可获得早期实验的独家访问权。我们唯一的要求就是您提供真实的反馈,以帮助我们发展和改进。", ++ "get_early_access_to_ai": "抢先体验 HajTeX Labs 中的全新 AI 错误助手", ++ "get_exclusive_access_to_labs": "加入 HajTeX Labs 后,即可获得早期实验的独家访问权。我们唯一的要求就是您提供真实的反馈,以帮助我们发展和改进。", + "get_full_project_history": "获取完整的历史记录", + "get_git_integration": "获取 Git 集成", + "get_github_sync": "获取 GitHub 集成", +@@ -747,7 +747,7 @@ + "get_most_subscription_by_checking_features": "查看 <0>__appName__ 的功能,以充分利用您的 __appName__ 订阅。", + "get_some_texnical_assistance": "获取 AI 的一些技术帮助来修复项目中的错误。", + "get_symbol_palette": "获取符号面板", +- "get_the_best_overleaf_experience": "获取最佳的 Overleaf 体验", ++ "get_the_best_overleaf_experience": "获取最佳的 HajTeX 体验", + "get_the_best_writing_experience": "获取最佳的写作体验", + "get_the_most_out_headline": "通过以下功能充分利用__appName__:", + "get_track_changes": "获取历史记录", +@@ -766,9 +766,9 @@ + "git_bridge_modal_you_can_also_git_clone": "您也可以使用下面的链接和git身份验证令牌来git克隆您的项目。", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git、GitHub、Dropbox、Mendeley 和 Zotero 集成", + "git_integration": "Git 集成", +- "git_integration_info": "通过Git集成,你可以用Git克隆你的Overleaf项目。有关完整教程, 请阅读 <0>我们的帮助页面。", ++ "git_integration_info": "通过Git集成,你可以用Git克隆你的HajTeX项目。有关完整教程, 请阅读 <0>我们的帮助页面。", + "git_integration_lowercase": "Git 集成", +- "git_integration_lowercase_info": "您可以将您的Overleaf项目克隆到本地存储库,将您的Overleaf项目视为远程存储库,可以向其推送更改和从中提取更改。", ++ "git_integration_lowercase_info": "您可以将您的HajTeX项目克隆到本地存储库,将您的HajTeX项目视为远程存储库,可以向其推送更改和从中提取更改。", + "github": "GitHub", + "github_commit_message_placeholder": "为 __appName__ 中的更改提交信息", + "github_credentials_expired": "您的 Github 授权凭证已过期", +@@ -776,7 +776,7 @@ + "github_file_name_error": "无法导入此存储库,因为它包含文件名无效的文件:", + "github_file_sync_error": "我们无法同步以下文件:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git 与 <0>Dropbox 集成", +- "github_git_folder_error": "此项目在根目录中包含一个.git文件夹,这说明它已经是git存储库。Overleaf 的 Github 同步服务无法同步 git 历史记录。请删除.git文件夹,然后重试。", ++ "github_git_folder_error": "此项目在根目录中包含一个.git文件夹,这说明它已经是git存储库。HajTeX 的 Github 同步服务无法同步 git 历史记录。请删除.git文件夹,然后重试。", + "github_integration_lowercase": "Git 和 GitHub 支持", + "github_is_no_longer_connected": "GitHub 已不再链接到此项目。", + "github_is_premium": "与 GitHub 同步是一项付费功能", +@@ -784,17 +784,17 @@ + "github_merge_failed": "您对 __appName__ 和 GitHub 的更改无法自动合并。 请手动将<0>__sharelatex_branch__分支合并到git中的默认分支中。 手动合并后,单击下面继续。", + "github_no_master_branch_error": "无法导入此存储库,因为它缺少主分支。请确保项目有一个主分支", + "github_only_integration_lowercase": "Github 集成", +- "github_only_integration_lowercase_info": "将您的 Overleaf 项目直接链接到作为 Overleaf 项目远程存储库的GitHub存储库。这允许您与 Overleaf 之外的合作者共享,并将 Overleaf 集成到更复杂的工作流程中。", ++ "github_only_integration_lowercase_info": "将您的 HajTeX 项目直接链接到作为 HajTeX 项目远程存储库的GitHub存储库。这允许您与 HajTeX 之外的合作者共享,并将 HajTeX 集成到更复杂的工作流程中。", + "github_private_description": "您可以选择谁可以查看并提交到此存储库。", + "github_public_description": "任何人都可以看到该存储库。您可以选择谁有权提交。", +- "github_repository_diverged": "已强制推送到链接存储库的主分支。在强制推送之后拉取 GitHub 更改可能会导致 Overleaf 和 GitHub 不同步。您可能需要在拉取后推送更改以恢复同步。", ++ "github_repository_diverged": "已强制推送到链接存储库的主分支。在强制推送之后拉取 GitHub 更改可能会导致 HajTeX 和 GitHub 不同步。您可能需要在拉取后推送更改以恢复同步。", + "github_successfully_linked_description": "谢谢,您已成功建立了您的GitHub账户与 __appName__ 的关联。您现在可以导出您的 __appName__ 项目到GitHub,或者从您的GitHub存储困导入项目。", +- "github_symlink_error": "您的Github存储库包含符号链接文件,Overleaf 暂时不支持这些文件。请删除这些文件并重试。", ++ "github_symlink_error": "您的Github存储库包含符号链接文件,HajTeX 暂时不支持这些文件。请删除这些文件并重试。", + "github_sync": "GitHub 同步", + "github_sync_description": "通过与 GitHub 同步,你可以将您的__appName__项目关联到GitHub的存储库,从 __appName__ 创建新的提交,并与线下或者GitHub中的提交合并。", + "github_sync_error": "抱歉,与我们的 GitHub 服务连接出错。请稍后重试。", + "github_sync_repository_not_found_description": "链接的存储库已被删除,或者您不再有权访问它。通过克隆项目并使用“Github”菜单项,可以设置与新存储库的同步。您还可以取消存储库与此项目的链接。", +- "github_timeout_error": "将 Overleaf 项目与 Github 同步时超时。这可能是由于项目的总体大小,或者要同步的文件/更改的数量太大。", ++ "github_timeout_error": "将 HajTeX 项目与 Github 同步时超时。这可能是由于项目的总体大小,或者要同步的文件/更改的数量太大。", + "github_too_many_files_error": "无法导入此存储库,因为它超过了允许的最大文件数", + "github_validation_check": "请检查存储库的名字是否已被占用,且您有权限创建存储库。", + "github_workflow_authorize": "授权 GitHub 工作流文件", +@@ -809,7 +809,7 @@ + "go_prev_page": "转到上一页", + "go_to_account_settings": "前往账户设置", + "go_to_code_location_in_pdf": "转到PDF中的位置", +- "go_to_overleaf": "前往 Overleaf", ++ "go_to_overleaf": "前往 HajTeX", + "go_to_pdf_location_in_code": "转到代码中对应 PDF 的位置(提示:双击 PDF 以获得最佳结果)", + "go_to_settings": "转到“设置”", + "great_for_getting_started": "非常适合入门", +@@ -824,16 +824,16 @@ + "group_libraries": "团队库", + "group_managed_by_group_administrator": "此团队中的用户帐户由团队管理员管理。", + "group_members_and_collaborators_get_access_to": "小组成员及其项目合作者可以访问", +- "group_members_and_their_collaborators_get_access_to_info": "这些功能可供小组成员及其合作者(受邀加入小组成员拥有的项目的其他 Overleaf 用户)使用。", ++ "group_members_and_their_collaborators_get_access_to_info": "这些功能可供小组成员及其合作者(受邀加入小组成员拥有的项目的其他 HajTeX 用户)使用。", + "group_members_get_access_to": "团队成员将会获得", + "group_members_get_access_to_info": "这些功能仅对团队成员(订阅者)可用。", +- "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "群组计划管理员可以轻松添加和删除群组中的用户。对于全站计划,用户在注册或将电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时会自动升级。", +- "group_plan_tooltip": "您作为团体订阅的成员加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", +- "group_plan_with_name_tooltip": "您作为团体订阅 __groupName__ 的成员加入了 __plan__ 计划。 单击以了解如何充分利用 Overleaf 高级功能。", ++ "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "群组计划管理员可以轻松添加和删除群组中的用户。对于全站计划,用户在注册或将电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时会自动升级。", ++ "group_plan_tooltip": "您作为团体订阅的成员加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", ++ "group_plan_with_name_tooltip": "您作为团体订阅 __groupName__ 的成员加入了 __plan__ 计划。 单击以了解如何充分利用 HajTeX 高级功能。", + "group_plans": "团队计划", + "group_professional": "团队专业版", +- "group_sso_configuration_idp_metadata": "此处提供的信息来自您的身份提供商(IdP)。这通常被称为其SAML元数据。对于某些IdP,您必须将Overleaf配置为服务提供商,才能获得填写此表格所需的数据。有关更多指导,请参阅<0>我们的文档。", +- "group_sso_configure_service_provider_in_idp": "对于某些 IdP,您必须将 Overleaf 配置为服务提供商才能获取填写此表单所需的数据。 为此,您需要下载 Overleaf 元数据。", ++ "group_sso_configuration_idp_metadata": "此处提供的信息来自您的身份提供商(IdP)。这通常被称为其SAML元数据。对于某些IdP,您必须将HajTeX配置为服务提供商,才能获得填写此表格所需的数据。有关更多指导,请参阅<0>我们的文档。", ++ "group_sso_configure_service_provider_in_idp": "对于某些 IdP,您必须将 HajTeX 配置为服务提供商才能获取填写此表单所需的数据。 为此,您需要下载 HajTeX 元数据。", + "group_sso_documentation_links": "请参阅我们的<0>文档和<1>问题排查指南以获取更多帮助。", + "group_standard": "团队标准版", + "group_subscription": "团队订阅", +@@ -843,7 +843,7 @@ + "headers": "标题", + "help": "帮助", + "help_articles_matching": "符合你的主题的帮助文章", +- "help_improve_overleaf_fill_out_this_survey": "如果您想帮助我们改进Overleaf,请花费一点您的宝贵时间填写<0>此调查哦。", ++ "help_improve_overleaf_fill_out_this_survey": "如果您想帮助我们改进HajTeX,请花费一点您的宝贵时间填写<0>此调查哦。", + "help_improve_screen_reader_fill_out_this_survey": "填写此简易调查,帮助我们改善您使用 __appName__ 屏幕阅读器的体验。", + "hide_configuration": "隐藏配置", + "hide_deleted_user": "隐藏已删除的用户", +@@ -903,7 +903,7 @@ + "how_to_create_tables": "如何创建表格", + "how_to_insert_images": "如何插入图片", + "how_we_use_your_data": "我们如何使用您的数据", +- "how_we_use_your_data_explanation": "<0>请回答几个简短的问题,帮助我们继续改进Overleaf。您的回答将帮助我们和我们的企业集团更多地了解我们的用户群体。我们可能会使用这些信息来改善您的 Overleaf 体验,例如提供个性化的入门、升级提示、帮助建议和量身定制的营销沟通(如果您选择接收这些信息)<1>有关我们如何使用您的个人数据的更多详细信息,请参阅我们的<0>隐私声明", ++ "how_we_use_your_data_explanation": "<0>请回答几个简短的问题,帮助我们继续改进HajTeX。您的回答将帮助我们和我们的企业集团更多地了解我们的用户群体。我们可能会使用这些信息来改善您的 HajTeX 体验,例如提供个性化的入门、升级提示、帮助建议和量身定制的营销沟通(如果您选择接收这些信息)<1>有关我们如何使用您的个人数据的更多详细信息,请参阅我们的<0>隐私声明", + "hundreds_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作漂亮的文档。", + "i_want_to_stay": "我要留下", + "id": "ID", +@@ -940,7 +940,7 @@ + "indvidual_plans": "个人方案", + "info": "信息", + "inr_discount_modal_info": "以平价获取文档历史记录、跟踪更改、更多协作者等功能。", +- "inr_discount_modal_title": "面向印度用户的所有 Overleaf 高级计划七折优惠", ++ "inr_discount_modal_title": "面向印度用户的所有 HajTeX 高级计划七折优惠", + "inr_discount_offer_plans_page_banner": "__flag__ 好消息!我们已为印度用户的高级计划提供70% 折扣折扣。 查看下面的最新低价。", + "insert": "插入", + "insert_column_left": "在左边插入列", +@@ -966,7 +966,7 @@ + "institution_acct_successfully_linked_2": "您的<0>__appName__帐户已成功链接到您的<0\\>__institutionName__机构帐户。", + "institution_and_role": "机构和角色", + "institution_email_new_to_app": "您的 __institutionName__ 电子邮件地址 (__email__) 对__appName__ 是新的。", +- "institution_has_overleaf_subscription": "<0>__institutionName__已有Overleaf订阅。单击发送到__emailAddress__的确认链接,升级到<0>Overleaf Professional。", ++ "institution_has_overleaf_subscription": "<0>__institutionName__已有HajTeX订阅。单击发送到__emailAddress__的确认链接,升级到<0>HajTeX Professional。", + "institution_templates": "机构模版", + "institutional": "机构", + "institutional_leavers_survey_notification": "提供一些快速反馈,即可获得年度订阅25%的折扣!", +@@ -1014,7 +1014,7 @@ + "join_beta_program": "加入beta计划", + "join_labs": "加入实验室", + "join_now": "现在加入", +- "join_overleaf_labs": "加入 Overleaf Labs", ++ "join_overleaf_labs": "加入 HajTeX Labs", + "join_project": "加入项目", + "join_sl_to_view_project": "加入 __appName__ 来查看此项目", + "join_team_explanation": "请单击下面的按钮加入团队并享受升级的__appName__帐户的好处", +@@ -1034,7 +1034,7 @@ + "ko": "韩语", + "labels_help_you_to_easily_reference_your_figures": "标签可以帮助您轻松地在整个文档中引用您的图片。要引用文档中的图片,请使用<0> ef{…} 命令引用标签。这使得引用图形变得容易,而无需手动记住图形编号<1> 了解更多信息", + "labels_help_you_to_reference_your_tables": "标签可以帮助您轻松地在整个文档中引用表。要引用文本中的表,请使用<0>ef{…}命令引用标签。这样就可以很容易地引用表格,而无需手动记住表格编号<1> 阅读标签和交叉引用。", +- "labs_program_benefits": "__appName__ 一直在寻找新的方法来帮助用户更快、更有效地工作。 通过加入 Overleaf Labs,您可以参与探索协作写作和出版领域创新想法的实验。", ++ "labs_program_benefits": "__appName__ 一直在寻找新的方法来帮助用户更快、更有效地工作。 通过加入 HajTeX Labs,您可以参与探索协作写作和出版领域创新想法的实验。", + "language": "语言", + "language_feedback": "语言反馈", + "large_or_high-resolution_images_taking_too_long": "大型或高分辨率图像的处理时间过长。 您也许能够<0>优化一下。", +@@ -1049,7 +1049,7 @@ + "last_updated": "最近上传", + "last_updated_date_by_x": "由 __person__ 在 __lastUpdatedDate__", + "last_used": "最近使用", +- "latam_discount_modal_info": "使用__currencyName__支付的高级订阅可享受__discount__%的折扣,充分释放Overleaf的潜力。获得更长的编译超时时间、完整的文档历史记录、跟踪更改、额外的合作者等等。", ++ "latam_discount_modal_info": "使用__currencyName__支付的高级订阅可享受__discount__%的折扣,充分释放HajTeX的潜力。获得更长的编译超时时间、完整的文档历史记录、跟踪更改、额外的合作者等等。", + "latam_discount_modal_title": "高级订阅折扣", + "latam_discount_offer_plans_page_banner": "__flag__好消息 我们已经为__country__的用户在此页面上的高级计划应用了__discount__折扣。看看新的低价 (in __currency__)。", + "latex_articles_page_summary": "用 LaTeX 编写并由我们社区发布的论文、演示文稿、报告等。 在下面搜索或浏览。", +@@ -1075,7 +1075,7 @@ + "leave": "离开", + "leave_any_group_subscriptions": "保留除将管理您帐户的组订阅之外的任何团队订阅<0>将它们从“订阅”页面中删除", + "leave_group": "退出团队", +- "leave_labs": "离开 Overleaf Labs", ++ "leave_labs": "离开 HajTeX Labs", + "leave_now": "现在退出", + "leave_project": "离开项目", + "leave_projects": "离开项目", +@@ -1153,7 +1153,7 @@ + "login_or_password_wrong_try_again": "注册名或密码错误,请重试", + "login_register_or": "或者", + "login_to_accept_invitation": "登录以接受邀请", +- "login_to_overleaf": "登录到Overleaf", ++ "login_to_overleaf": "登录到HajTeX", + "login_with_service": "使用__service__登录", + "logs_and_output_files": "日志和生成的文件", + "longer_compile_timeout": "更长的 <0>编译时间", +@@ -1191,11 +1191,11 @@ + "managed_user_invite_has_been_sent_to_email": "托管用户邀请已发送到<0>__email__", + "managed_users": "托管用户", + "managed_users_accounts": "托管用户帐户", +- "managed_users_accounts_plan_info": "托管用户使您可以更好地控制您的组对 Overleaf 的使用。 它确保对用户访问和删除进行更严格的管理,并允许您在有人离开组时保持对项目的控制。", ++ "managed_users_accounts_plan_info": "托管用户使您可以更好地控制您的组对 HajTeX 的使用。 它确保对用户访问和删除进行更严格的管理,并允许您在有人离开组时保持对项目的控制。", + "managed_users_explanation": "托管用户确保您能够控制组织的项目以及项目的所有者<0>阅读有关托管用户的更多信息", + "managed_users_gives_gives_you_more_control_over_your_group": "托管用户让您可以更好地控制您的群组对 __appName__ 的使用。它确保对用户访问和删除进行更严格的管理,并允许您在有人离开群组时继续控制您的项目。", + "managed_users_is_enabled": "托管用户已启用", +- "managed_users_terms": "要使用托管用户功能,您必须代表您的组织在 <0>__link__ 上选择下面的“我同意”,同意最新版本的客户条款。 这些条款将适用于您的组织对 Overleaf 的使用,以取代任何先前商定的 Overleaf 条款。 例外情况是我们与您签署了协议,在这种情况下,签署的协议将继续有效。 请保留一份副本作为记录。", ++ "managed_users_terms": "要使用托管用户功能,您必须代表您的组织在 <0>__link__ 上选择下面的“我同意”,同意最新版本的客户条款。 这些条款将适用于您的组织对 HajTeX 的使用,以取代任何先前商定的 HajTeX 条款。 例外情况是我们与您签署了协议,在这种情况下,签署的协议将继续有效。 请保留一份副本作为记录。", + "managers_cannot_remove_admin": "管理员无法删除", + "managers_cannot_remove_self": "管理者不能删除自己", + "managers_management": "管理管理者", +@@ -1206,7 +1206,7 @@ + "math_display": "数学表达式", + "math_inline": "行内数学符号", + "max_collab_per_project": "每个项目的协作者数量", +- "max_collab_per_project_info": "您可以邀请参与每个项目的人数。 他们只需要拥有一个 Overleaf 帐户即可。 他们可以是每个项目中的不同人。", ++ "max_collab_per_project_info": "您可以邀请参与每个项目的人数。 他们只需要拥有一个 HajTeX 帐户即可。 他们可以是每个项目中的不同人。", + "maximum_files_uploaded_together": "最多可同时上传__max__个文件", + "may": "五月", + "maybe_later": "或许稍后", +@@ -1218,7 +1218,7 @@ + "mendeley_groups_relink": "访问您的 Mendeley 数据时出错。 这可能是由于缺乏权限造成的。 请重新关联您的帐户并重试。", + "mendeley_integration": "Mendeley 集成", + "mendeley_integration_lowercase": "Mendeley 集成", +- "mendeley_integration_lowercase_info": "在 Mendeley 中管理您的参考文献,并将其直接链接到 Overleaf 中的 .bib 文件,以便您可以轻松引用文献中的任何内容。", ++ "mendeley_integration_lowercase_info": "在 Mendeley 中管理您的参考文献,并将其直接链接到 HajTeX 中的 .bib 文件,以便您可以轻松引用文献中的任何内容。", + "mendeley_is_premium": "Mendeley集成是一个高级功能", + "mendeley_reference_loading_error": "错误,无法加载Mendeley的参考文献", + "mendeley_reference_loading_error_expired": "Mendeley令牌过期,请重新关联您的账户", +@@ -1241,7 +1241,7 @@ + "more_options": "更多选择", + "more_options_for_border_settings_coming_soon": "更多的边框设置选项即将推出。", + "more_project_collaborators": "<0>更多项目<0>合作者", +- "more_than_one_kind_of_snippet_was_requested": "在Overleaf打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "more_than_one_kind_of_snippet_was_requested": "在HajTeX打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", + "most_popular": "最受欢迎的", + "most_popular_uppercase": "最受欢迎的", + "must_be_email_address": "必须是电邮地址", +@@ -1327,14 +1327,14 @@ + "normal": "常规", + "normally_x_price_per_month": "通常每月__price__", + "normally_x_price_per_year": "通常每年__price__", +- "not_found_error_from_the_supplied_url": "在Overleaf打开此内容的链接指向找不到的文件。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "not_found_error_from_the_supplied_url": "在HajTeX打开此内容的链接指向找不到的文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "not_managed": "未被托管", + "not_now": "稍后", + "not_registered": "未注册", + "note_features_under_development": "<0>请注意此计划中的功能仍在测试和快速开发中。 这意味着它们可能<0>改变、<0>被删除或<0>成为高级计划的一部分", +- "notification_features_upgraded_by_affiliation": "好消息!您的组织__institutionName__已有 Overleaf 订阅,并且您现在可以访问 Overleaf 的所有专业功能。", ++ "notification_features_upgraded_by_affiliation": "好消息!您的组织__institutionName__已有 HajTeX 订阅,并且您现在可以访问 HajTeX 的所有专业功能。", + "notification_personal_and_group_subscriptions": "我们发现您有<0>多个活跃的 __appName__ 订阅。 为避免支付超出您需要的费用,请<1>检查您的订阅。", +- "notification_personal_subscription_not_required_due_to_affiliation": " 好消息!您的组织 __institutionName__ 与 Overleaf 有合作关系。您可以取消您的个人订阅,而不会失去访问您的任何利益。", ++ "notification_personal_subscription_not_required_due_to_affiliation": " 好消息!您的组织 __institutionName__ 与 HajTeX 有合作关系。您可以取消您的个人订阅,而不会失去访问您的任何利益。", + "notification_project_invite": "__userName__ 想让您加入 __projectName__ 加入项目", + "notification_project_invite_accepted_message": "您已加入 __projectName__", + "notification_project_invite_message": "__userName__ 希望您加入 __projectName__", +@@ -1343,7 +1343,7 @@ + "number_collab_info": "您可以邀请与您一起处理项目的人数。每个项目都有限制,因此您可以邀请不同的人参与每个项目。", + "number_of_projects": "项目的数量", + "number_of_users": "用户数量", +- "number_of_users_info": "如果你订阅此计划,可以升级的Overleaf账户的用户数量", ++ "number_of_users_info": "如果你订阅此计划,可以升级的HajTeX账户的用户数量", + "number_of_users_with_colon": "用户数量:", + "oauth_orcid_description": " 通过将您的 ORCID iD 链接到您的__appName__帐户,安全地建立您的身份。提交给参与发布者的文件将自动包含您的ORCID iD,以改进工作流和可见性。 ", + "october": "十月", +@@ -1358,14 +1358,14 @@ + "one_collaborator_per_project": "每个项目 1 名协作者", + "one_free_collab": "1个免费的合作者", + "one_per_project": "每个项目 1 个", +- "one_step_away_from_professional_features": "您距离访问<0>Overleaf Professional 功能仅一步之遥!", ++ "one_step_away_from_professional_features": "您距离访问<0>HajTeX Professional 功能仅一步之遥!", + "one_user": "1 个用户", + "ongoing_experiments": "正在进行的实验", + "online_latex_editor": "在线LaTeX编辑器", + "only_group_admin_or_managers_can_delete_your_account_1": "通过成为托管用户,您的组织将对您的帐户拥有管理权限,并控制您的内容,包括关闭您的帐户以及访问、删除和共享您的内容的权限。因此:", + "only_group_admin_or_managers_can_delete_your_account_2": "只有您的群组管理员才能删除您的帐户。", + "only_group_admin_or_managers_can_delete_your_account_3": "您的群组管理员将能够将项目的所有权重新分配给其他群组成员。", +- "only_group_admin_or_managers_can_delete_your_account_4": "一旦您成为托管用户,就无法再更改回来。 <0>了解有关托管 Overleaf 帐户的更多信息。", ++ "only_group_admin_or_managers_can_delete_your_account_4": "一旦您成为托管用户,就无法再更改回来。 <0>了解有关托管 HajTeX 帐户的更多信息。", + "only_group_admin_or_managers_can_delete_your_account_5": "有关更多信息,请参阅我们的使用条款中的“托管帐户”部分,您可以通过单击“接受邀请”来同意该条款", + "only_importer_can_refresh": "只有最初导入此 __provider__ 文件的人才能刷新它。", + "open_a_file_on_the_left": "打开左侧的一个文件", +@@ -1398,12 +1398,12 @@ + "over": "超过", + "over_n_users_at_research_institutions_and_business": "全球有超过 __userCountMillion__ 万研究机构和企业用户喜爱 __appName__", + "overall_theme": "全局主题", +- "overleaf": "Overleaf", +- "overleaf_group_plans": "Overleaf 团队计划", +- "overleaf_history_system": "Overleaf 历史跟踪系统", +- "overleaf_individual_plans": "Overleaf 个人计划", +- "overleaf_labs": "Overleaf Labs", +- "overleaf_plans_and_pricing": "overleaf 计划和价格", ++ "overleaf": "HajTeX", ++ "overleaf_group_plans": "HajTeX 团队计划", ++ "overleaf_history_system": "HajTeX 历史跟踪系统", ++ "overleaf_individual_plans": "HajTeX 个人计划", ++ "overleaf_labs": "HajTeX Labs", ++ "overleaf_plans_and_pricing": "HajTeX 计划和价格", + "overview": "概览", + "overwrite": "覆盖", + "overwriting_the_original_folder": "覆盖原始文件夹将删除它及其包含的所有文件。", +@@ -1458,7 +1458,7 @@ + "personalized_onboarding_info": "我们将帮助您设置好一切,然后我们将在这里回答您的用户关于平台、模板或LaTeX的问题!", + "pl": "波兰语", + "plan": "计划", +- "plan_tooltip": "你在__plan__计划中。点击了解如何充分利用您的 Overleaf 高级功能。", ++ "plan_tooltip": "你在__plan__计划中。点击了解如何充分利用您的 HajTeX 高级功能。", + "planned_maintenance": "计划中的维护", + "plans_amper_pricing": "套餐 & 价格", + "plans_and_pricing": "套餐及价格", +@@ -1501,7 +1501,7 @@ + "powerful_latex_editor_and_realtime_collaboration_info": "拼写检查、智能自动完成、语法高亮显示、数十种颜色主题、vim和emacs绑定、LaTeX警告和错误消息的帮助等等。每个人都有最新的版本,您可以实时看到合作者的光标和更改。", + "premium_feature": "Premium 功能", + "premium_features": "高级功能", +- "premium_plan_label": "您正在使用 Overleaf Premium", ++ "premium_plan_label": "您正在使用 HajTeX Premium", + "presentation": "幻灯片", + "presentation_mode": "演示模式", + "press_and_awards": "新闻 & 奖项", +@@ -1544,7 +1544,7 @@ + "project_ownership_transfer_confirmation_1": "是否确定要将 <0>__user__ 设为 <1>__project__ 的所有者?", + "project_ownership_transfer_confirmation_2": "此操作无法撤消。新所有者将收到通知,并可以更改项目访问权限设置(包括删除您自己的访问权限)。", + "project_renamed_or_deleted": "项目已重命名或删除", +- "project_renamed_or_deleted_detail": "该项目已被外部数据源(例如 Dropbox)重命名或删除。 我们不想删除您在 Overleaf 上的数据,因此该项目仍然包含您的历史记录和合作者。 如果项目已重命名,请在项目列表中查找新名称下的新项目。", ++ "project_renamed_or_deleted_detail": "该项目已被外部数据源(例如 Dropbox)重命名或删除。 我们不想删除您在 HajTeX 上的数据,因此该项目仍然包含您的历史记录和合作者。 如果项目已重命名,请在项目列表中查找新名称下的新项目。", + "project_synced_with_git_repo_at": "该项目已与GitHub存储库同步,仓库地址为", + "project_synchronisation": "项目同步", + "project_timed_out_enable_stop_on_first_error": "<0>启用“出现第一个错误时停止”可帮助您立即查找并修复错误。", +@@ -1574,7 +1574,7 @@ + "quoted_text_in": "引文内容", + "raw_logs": "原始日志", + "raw_logs_description": "来自 LaTeX 编译器的原始日志", +- "react_history_tutorial_content": "要比较一系列版本,请在范围的开头和结尾使用所需版本的 <0>。 要添加标签或下载版本,请使用三点菜单中的选项。 <1>了解有关使用Overleaf历史记录的更多信息。", ++ "react_history_tutorial_content": "要比较一系列版本,请在范围的开头和结尾使用所需版本的 <0>。 要添加标签或下载版本,请使用三点菜单中的选项。 <1>了解有关使用HajTeX历史记录的更多信息。", + "react_history_tutorial_title": "历史跟踪操作迁移到了新位置", + "reactivate_subscription": "重新激活您的订阅", + "read_lines_from_path": "从 __path__ 读取行", +@@ -1663,7 +1663,7 @@ + "repository_name": "存储库名称", + "republish": "重新发布", + "request_new_password_reset_email": "请求发送重置密码电子邮件", +- "request_overleaf_common": "请求 Overleaf Commons", ++ "request_overleaf_common": "请求 HajTeX Commons", + "request_password_reset": "请求重置密码", + "request_password_reset_to_reconfirm": "请求密码重置邮件以重新确认", + "request_reconfirmation_email": "请求再确认电子邮件", +@@ -1718,13 +1718,13 @@ + "saml_authentication_required_error": "其他登录方法已被您的群组管理员禁用。 请使用您的群组 SSO 登录。", + "saml_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在SAML系统中的账户,请使用此账户登陆系统。", + "saml_email_not_recognized_error": "此电子邮件地址未设置为SSO。请检查并重试,或者与管理员联系。", +- "saml_identity_exists_error": "很抱歉,您的身份提供商返回的身份已链接到另一个Overleaf帐户。有关详细信息,请与您的管理员联系。", ++ "saml_identity_exists_error": "很抱歉,您的身份提供商返回的身份已链接到另一个HajTeX帐户。有关详细信息,请与您的管理员联系。", + "saml_invalid_signature_error": "很抱歉,从您的身份提供商处收到的信息签名无效。有关详细信息,请与您的管理员联系。", + "saml_login_disabled_error": "很抱歉,__email__的单点登录已被禁用。有关详细信息,请与管理员联系。", + "saml_login_failure": "抱歉,您登录时出现问题。请联系您的管理员以获取更多信息。", +- "saml_login_identity_mismatch_error": "抱歉,您正在尝试以 __email__ 身份登录 Overleaf,但您的身份提供商返回的身份不是此 Overleaf 帐户的正确身份。", +- "saml_login_identity_not_found_error": "抱歉,我们无法找到为此身份提供商设置单点登录的 Overleaf 帐户。", +- "saml_metadata": "Overleaf SAML 元数据", ++ "saml_login_identity_mismatch_error": "抱歉,您正在尝试以 __email__ 身份登录 HajTeX,但您的身份提供商返回的身份不是此 HajTeX 帐户的正确身份。", ++ "saml_login_identity_not_found_error": "抱歉,我们无法找到为此身份提供商设置单点登录的 HajTeX 帐户。", ++ "saml_metadata": "HajTeX SAML 元数据", + "saml_missing_signature_error": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。 请联系您的管理员以获取更多信息。", + "saml_response": "SAML 响应:", + "save": "保存", +@@ -1801,8 +1801,8 @@ + "select_tag": "选择标签__tagName__", + "select_user": "选择用户", + "selected": "选择的", +- "selected_by_overleaf_staff": "由 Overleaf 工作人员精选", +- "selected_by_overleaf_staff_description": "这些模板是由 Overleaf 工作人员精心挑选的,因为它们的质量很高,并且多年来从 Overleaf 社区收到了积极的反馈。", ++ "selected_by_overleaf_staff": "由 HajTeX 工作人员精选", ++ "selected_by_overleaf_staff_description": "这些模板是由 HajTeX 工作人员精心挑选的,因为它们的质量很高,并且多年来从 HajTeX 社区收到了积极的反馈。", + "selection_deleted": "所选内容已删除", + "send": "发送", + "send_first_message": "向你的合作者发送第一条信息", +@@ -1813,7 +1813,7 @@ + "september": "九月", + "server_error": "服务器错误", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro 许可证", +- "server_pro_license_entitlement_line_2": "您当前有 <0>__count__ 活跃用户。 如果您需要增加许可证授权,请<1>联系 Overleaf。", ++ "server_pro_license_entitlement_line_2": "您当前有 <0>__count__ 活跃用户。 如果您需要增加许可证授权,请<1>联系 HajTeX。", + "server_pro_license_entitlement_line_3": "活跃用户是指在过去 12 个月内在此 Server Pro 实例中打开过项目的用户。", + "services": "服务", + "session_created_at": "会话创建于", +@@ -1827,7 +1827,7 @@ + "set_up_single_sign_on": "设置单点登录 (SSO)", + "set_up_sso": "设置 SSO", + "settings": "设置", +- "setup_another_account_under_a_personal_email_address": "在个人电子邮件地址下设置另一个 Overleaf 帐户。", ++ "setup_another_account_under_a_personal_email_address": "在个人电子邮件地址下设置另一个 HajTeX 帐户。", + "share": "共享", + "share_project": "共享该项目", + "share_with_your_collabs": "和您的合作者共享", +@@ -1857,7 +1857,7 @@ + "site_description": "一个简洁的在线 LaTeX 编辑器。无需安装,实时共享,版本控制,数百免费模板……", + "site_wide_option_available": "提供站点范围的选项", + "sitewide_option_available": "提供站点范围的选项", +- "sitewide_option_available_info": "当用户注册或将其电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时,用户会自动升级。", ++ "sitewide_option_available_info": "当用户注册或将其电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时,用户会自动升级。", + "six_collaborators_per_project": "每个项目6个合作者", + "six_per_project": "每个项目6个", + "skip": "跳过", +@@ -1873,9 +1873,9 @@ + "somthing_went_wrong_compiling": "抱歉,出错了,您的项目无法编译。请在几分钟后再试。", + "sorry_detected_sales_restricted_region": "抱歉,我们检测到您所在的地区目前无法接受付款。 如果您认为您错误地收到了此消息,请联系我们并提供您所在位置的详细信息,我们将为您调查此问题。 我们对不便表示抱歉。", + "sorry_it_looks_like_that_didnt_work_this_time": "抱歉!这次似乎没有成功。请重试。", +- "sorry_something_went_wrong_opening_the_document_please_try_again": "很抱歉,尝试在Overleaf打开此内容时发生意外错误。请再试一次。", ++ "sorry_something_went_wrong_opening_the_document_please_try_again": "很抱歉,尝试在HajTeX打开此内容时发生意外错误。请再试一次。", + "sorry_the_connection_to_the_server_is_down": "抱歉,服务器连接已断开。", +- "sorry_there_are_no_experiments": "抱歉,Overleaf Labs 目前没有正在进行任何实验。", ++ "sorry_there_are_no_experiments": "抱歉,HajTeX Labs 目前没有正在进行任何实验。", + "sorry_this_account_has_been_suspended": "抱歉,该账户已被暂停。", + "sorry_your_table_cant_be_displayed_at_the_moment": "抱歉,您的表格暂时无法显示。", + "sorry_your_token_expired": "抱歉,您的令牌已过期", +@@ -1897,7 +1897,7 @@ + "sso_configuration": "SSO 配置", + "sso_configuration_not_finalized": "您的配置尚未最终确定。", + "sso_configuration_saved": "SSO 配置已保存", +- "sso_disabled_by_group_admin": "您的组管理员已禁用 SSO。 您仍然可以像平常一样登录并使用 Overleaf。", ++ "sso_disabled_by_group_admin": "您的组管理员已禁用 SSO。 您仍然可以像平常一样登录并使用 HajTeX。", + "sso_error_audience_mismatch": "您的 IdP 中配置的服务提供商实体 ID 与我们的元数据中提供的不匹配。 请联系您的 IT 部门以获取更多信息。", + "sso_error_idp_error": "您的身份提供商响应错误。", + "sso_error_invalid_external_user_id": "IdP 提供的唯一标识您用户的 SAML 属性格式无效,应为字符串。 属性:<0> __expecting__ ", +@@ -1907,10 +1907,10 @@ + "sso_error_missing_lastname_attribute": "指定用户姓氏的 SAML 属性丢失或使用与您配置的名称不同的名称。 应为:<0>__expecting__", + "sso_error_missing_signature": "抱歉,从您的身份提供商收到的信息未签名(响应和断言签名都是必需的)。", + "sso_error_response_already_processed": "SAML 响应的 InResponseTo 无效。 如果它与 SAML 请求不匹配,或者登录处理时间过长且请求已过期,则可能会发生这种情况。", +- "sso_explanation": "为您的组设置单点登录。 除非启用了托管用户,否则此登录方法对于群组成员来说是可选的。 <0>详细了解 Overleaf 组 SSO。", ++ "sso_explanation": "为您的组设置单点登录。 除非启用了托管用户,否则此登录方法对于群组成员来说是可选的。 <0>详细了解 HajTeX 组 SSO。", + "sso_here_is_the_data_we_received": "以下是我们在 SAML 响应中收到的数据:", + "sso_integration": "SSO 集成", +- "sso_integration_info": "Overleaf 提供标准的基于 SAML 的单点登录集成。", ++ "sso_integration_info": "HajTeX 提供标准的基于 SAML 的单点登录集成。", + "sso_is_disabled": "SSO 已经关闭", + "sso_is_disabled_explanation_1": "群组成员将无法通过SSO登录", + "sso_is_disabled_explanation_2": "该组的所有成员都需要用户名和密码才能登录__appName__", +@@ -1926,7 +1926,7 @@ + "sso_not_active": "单点登录未开启", + "sso_not_linked": "您尚未将帐户绑定到 __provider__。请以另一种方式登录到您的帐户,并通过您的帐户设置绑定您的 __provider__ 帐户。", + "sso_reauth_request": "SSO 二次身份验证请求已发送至 <0>__email__", +- "sso_test_interstitial_info_1": "<0>开始此测试之前,请确保您已<1>将 Overleaf 配置为 IdP 中的服务提供商,并授权访问 Overleaf 服务。", ++ "sso_test_interstitial_info_1": "<0>开始此测试之前,请确保您已<1>将 HajTeX 配置为 IdP 中的服务提供商,并授权访问 HajTeX 服务。", + "sso_test_interstitial_info_2": "点击<0>测试配置会将您重定向到 IdP 的登录屏幕。 <1>阅读我们的文档,了解测试期间发生的情况的完整详细信息。 如果您遇到困难,请查看我们的<2>SSO 故障排除建议。", + "sso_test_interstitial_title": "让我们测试一下您的 SSO 配置", + "sso_test_result_error_message": "这次测试没有成功,但不用担心 - 通常可以通过调整配置设置来快速解决错误。 我们的<0>SSO 故障排除指南提供有关测试错误的一些常见原因的帮助。", +@@ -1956,7 +1956,7 @@ + "store_your_work": "将工作存储在自己的硬件上", + "stretch_width_to_text": "拉伸宽度适应文本", + "student": "学生", +- "student_and_faculty_support_make_difference": "学生和教师的支持会带来改变! 在讨论 Overleaf 机构账户时,我们可以与您所在大学的联系人分享此信息。", ++ "student_and_faculty_support_make_difference": "学生和教师的支持会带来改变! 在讨论 HajTeX 机构账户时,我们可以与您所在大学的联系人分享此信息。", + "student_disclaimer": "教育折扣适用于中学和高等教育机构(学校和大学)的所有学生。 我们可能会与您联系以确认您是否有资格享受折扣。", + "student_plans": "学生计划", + "students": "学生", +@@ -2014,14 +2014,14 @@ + "tc_switch_everyone_tip": "为所有用户切换记录模式", + "tc_switch_guests_tip": "为所有分享链接用户切换记录模式", + "tc_switch_user_tip": "为当前用户切换记录模式", +- "tell_the_project_owner_and_ask_them_to_upgrade": "如果您需要更多编译时间,<0>告诉项目所有者并要求他们升级其 Overleaf 计划。", ++ "tell_the_project_owner_and_ask_them_to_upgrade": "如果您需要更多编译时间,<0>告诉项目所有者并要求他们升级其 HajTeX 计划。", + "template": "模版", + "template_approved_by_publisher": "该模板已获得发布者批准", + "template_description": "模板描述", + "template_gallery": "模板库", + "template_not_found_description": "这种从模板创建项目的方法已被删除。请访问我们的模板库以查找更多模板。", + "template_title_taken_from_project_title": "模板标题将自动从项目标题中获取", +- "template_top_pick_by_overleaf": "该模板是由 Overleaf 工作人员精心挑选的高质量模版", ++ "template_top_pick_by_overleaf": "该模板是由 HajTeX 工作人员精心挑选的高质量模版", + "templates": "模板", + "templates_admin_source_project": "管理员:源项目", + "templates_page_summary": "使用高质量的LaTeX模板开始您的项目,包括期刊、个人履历、个人简历、论文、展示Pre、作业、信件、项目报告等。在下面搜索或浏览。", +@@ -2045,18 +2045,18 @@ + "thanks_for_subscribing": "感谢订购!", + "thanks_for_subscribing_you_help_sl": "感谢您订阅 __planName__ 计划。 正是像您这样的人的支持才使得 __appName__ 能够继续成长和改进。", + "thanks_settings_updated": "谢谢,您的设置已更新", +- "the_file_supplied_is_of_an_unsupported_type ": "在Overleaf打开此内容的链接指向错误的文件类型。有效的文件类型是.tex文档和.zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_file_supplied_is_of_an_unsupported_type ": "在HajTeX打开此内容的链接指向错误的文件类型。有效的文件类型是.tex文档和.zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_following_files_already_exist_in_this_project": "该项目中已存在以下文件:", + "the_following_files_and_folders_already_exist_in_this_project": "此项目中已存在以下文件和文件夹:", + "the_following_folder_already_exists_in_this_project": "该项目中已存在以下文件夹:", + "the_following_folder_already_exists_in_this_project_plural": "该项目中已存在以下文件夹:", + "the_original_text_has_changed": "原文本已发生改变,因此此建议无法应用", + "the_project_that_contains_this_file_is_not_shared_with_you": "包含此文件的项目未与您共享", +- "the_requested_conversion_job_was_not_found": "在Overleaf打开此内容的链接指定了找不到的转换作业。作业可能已过期,需要重新运行。如果某个网站的链接经常出现这种情况,请向他们报告。", +- "the_requested_publisher_was_not_found": "在Overleaf打开此内容的链接指定了找不到的发布者。如果某个网站的链接经常出现这种情况,请向他们报告。", +- "the_required_parameters_were_not_supplied": "在Overleaf打开此内容的链接缺少一些必需的参数。如果某个网站的链接经常出现这种情况,请向他们报告。", +- "the_supplied_parameters_were_invalid": "在Overleaf打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", +- "the_supplied_uri_is_invalid": "在Overleaf打开此内容的链接包含无效的URI。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_requested_conversion_job_was_not_found": "在HajTeX打开此内容的链接指定了找不到的转换作业。作业可能已过期,需要重新运行。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_requested_publisher_was_not_found": "在HajTeX打开此内容的链接指定了找不到的发布者。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_required_parameters_were_not_supplied": "在HajTeX打开此内容的链接缺少一些必需的参数。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_supplied_parameters_were_invalid": "在HajTeX打开此内容的链接包含一些无效参数。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "the_supplied_uri_is_invalid": "在HajTeX打开此内容的链接包含无效的URI。如果某个网站的链接经常出现这种情况,请向他们报告。", + "the_target_folder_could_not_be_found": "找不到目标文件夹。", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "您在此处选择的宽度基于文档中文本的宽度。 或者,您可以直接在 LaTeX 代码中自定义图像大小。", + "their_projects_will_be_transferred_to_another_user": "他们的项目将全部转移给您选择的另一个用户", +@@ -2067,7 +2067,7 @@ + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "恢复项目时出现问题。请稍后重试。如果问题仍然存在,请联系我们。", + "there_was_an_error_opening_your_content": "创建项目时出错", + "thesis": "论文", +- "they_lose_access_to_account": "他们将立即失去对此 Overleaf 帐户的所有访问权限", ++ "they_lose_access_to_account": "他们将立即失去对此 HajTeX 帐户的所有访问权限", + "this_action_cannot_be_reversed": "此操作无法撤消。", + "this_action_cannot_be_undone": "此操作无法撤消。", + "this_address_will_be_shown_on_the_invoice": "该地址将显示在发票上", +@@ -2080,7 +2080,7 @@ + "this_project_already_has_maximum_editors": "此项目的编辑者人数已达到所有者方案允许的最大数量。这意味着您可以查看但无法编辑该项目。", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "该项目超出了我们免费计划的编译超时限制。", + "this_project_exceeded_editor_limit": "此项目超出了您的方案的编辑者限制。所有协作者现在都只有查看权限。", +- "this_project_has_more_than_max_collabs": "此项目的协作者数量超出了项目所有者的 Overleaf 计划允许的最大数量。这意味着您可能会失去 __linkSharingDate__ 的编辑权限。", ++ "this_project_has_more_than_max_collabs": "此项目的协作者数量超出了项目所有者的 HajTeX 计划允许的最大数量。这意味着您可能会失去 __linkSharingDate__ 的编辑权限。", + "this_project_is_public": "此项目是公共的,可以被任何人通过URL编辑", + "this_project_is_public_read_only": "该项目是公开的,任何人都可以通过该URL查看,但是不能编辑。", + "this_project_will_appear_in_your_dropbox_folder_at": "此项目将显示在您的Dropbox的目录 ", +@@ -2097,7 +2097,7 @@ + "to_add_email_accounts_need_to_be_linked_2": "要添加此电子邮件,您的 <0>__appName__ 和 <0>__institutionName__ 帐户需要关联。", + "to_add_more_collaborators": "若要添加更多合作者或打开链接共享,请询问项目所有者", + "to_change_access_permissions": "若要更改访问权限,请询问项目所有者", +- "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "要确认电子邮件地址,您必须使用请求新的辅助电子邮件的 Overleaf 帐户登录。", ++ "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "要确认电子邮件地址,您必须使用请求新的辅助电子邮件的 HajTeX 帐户登录。", + "to_confirm_transfer_enter_email_address": "要接受邀请,请输入与您的帐户关联的电子邮件地址。", + "to_confirm_unlink_all_users_enter_email": "要确认您要取消所有用户的链接,请输入您的电子邮件地址:", + "to_fix_this_you_can": "要解决此问题,您可以:", +@@ -2168,8 +2168,8 @@ + "track_changes_is_on": "修改追踪功能 开启", + "tracked_change_added": "已添加", + "tracked_change_deleted": "已删除", +- "transfer_management_of_your_account": "Overleaf 账户的转移管理", +- "transfer_management_of_your_account_to_x": "将您 Overleaf 帐户的管理权转移至 __groupName__", ++ "transfer_management_of_your_account": "HajTeX 账户的转移管理", ++ "transfer_management_of_your_account_to_x": "将您 HajTeX 帐户的管理权转移至 __groupName__", + "transfer_management_resolve_following_issues": "如需转移账户管理权,您需要解决以下问题:", + "transfer_this_users_projects": "转移该用户的项目", + "transfer_this_users_projects_description": "该用户的项目将转移给新所有者。", +@@ -2179,8 +2179,8 @@ + "trashed": "被删除", + "trashed_projects": "已删除项目", + "trashing_projects_wont_affect_collaborators": "删除项目不会影响你的合作者。", +- "trial_last_day": "这是您的 Overleaf Premium 试用期的最后一天", +- "trial_remaining_days": "Overleaf Premium 试用期还有 __days__ 天", ++ "trial_last_day": "这是您的 HajTeX Premium 试用期的最后一天", ++ "trial_remaining_days": "HajTeX Premium 试用期还有 __days__ 天", + "tried_to_log_in_with_email": "您已尝试使用 __email__ 登录。", + "tried_to_register_with_email": "您已尝试使用 __email__ 进行注册,该帐户已在 __appName__ 中注册为机构帐户。", + "troubleshooting_tip": "故障修复提示", +@@ -2199,7 +2199,7 @@ + "tutorials": "教程", + "two_users": "2 个用户", + "uk": "乌克兰语", +- "unable_to_extract_the_supplied_zip_file": "在Overleaf打开此内容失败,因为无法提取zip文件。请确保它是有效的zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", ++ "unable_to_extract_the_supplied_zip_file": "在HajTeX打开此内容失败,因为无法提取zip文件。请确保它是有效的zip文件。如果某个网站的链接经常出现这种情况,请向他们报告。", + "unarchive": "恢复", + "uncategorized": "未分类", + "uncategorized_projects": "未分类的项目", +@@ -2222,7 +2222,7 @@ + "unlimited_projects_info": "默认情况下,您的项目是私有的。这意味着只有你才能查看它们,只有你才能允许其他人访问它们。", + "unlink": "取消关联", + "unlink_all_users": "取消所有用户的链接", +- "unlink_all_users_explanation": "您即将删除组中所有用户的 SSO 登录选项。 如果启用 SSO,这将强制用户使用您的 IdP 重新验证其 Overleaf 帐户。 他们会收到一封电子邮件,要求他们这样做。", ++ "unlink_all_users_explanation": "您即将删除组中所有用户的 SSO 登录选项。 如果启用 SSO,这将强制用户使用您的 IdP 重新验证其 HajTeX 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_dropbox_folder": "取消 Dropbox 帐户链接", + "unlink_dropbox_warning": "您与 Dropbox 同步的所有项目都将断开连接,并且不再与 Dropbox 保持同步。 您确定要取消 Dropbox 帐户的关联吗?", + "unlink_github_repository": "取消链接 Github 存储库", +@@ -2234,7 +2234,7 @@ + "unlink_reference": "取消关联参考文献提供者", + "unlink_the_project_from_the_current_github_repo": "取消项目与当前 GitHub 存储库的链接,并创建与您拥有的存储库的连接。 (您需要有效的 __appName__ 订阅才能设置 GitHub 同步)。", + "unlink_user": "取消链接用户", +- "unlink_user_explanation": "您即将删除 <0>__email__ 的 SSO 登录选项。 这将迫使他们向您的 IdP 重新验证其 Overleaf 帐户。 他们会收到一封电子邮件,要求他们这样做。", ++ "unlink_user_explanation": "您即将删除 <0>__email__ 的 SSO 登录选项。 这将迫使他们向您的 IdP 重新验证其 HajTeX 帐户。 他们会收到一封电子邮件,要求他们这样做。", + "unlink_users": "取消用户链接", + "unlink_warning_reference": "警告:如果将账户与此提供者取消关联,您将无法把参考文献导入到项目中。", + "unlinking": "取消链接", +@@ -2268,9 +2268,9 @@ + "upload_zipped_project": "上传项目的压缩包", + "url_to_fetch_the_file_from": "获取文件的URL", + "usage_metrics": "使用指标", +- "usage_metrics_info": "显示有多少用户正在访问许可证、正在创建和处理多少项目以及 Overleaf 中正在进行多少协作的指标。", ++ "usage_metrics_info": "显示有多少用户正在访问许可证、正在创建和处理多少项目以及 HajTeX 中正在进行多少协作的指标。", + "use_a_different_password": "请使用不同的密码", +- "use_saml_metadata_to_configure_sso_with_idp": "使用 Overleaf SAML 元数据通过您的身份提供商配置 SSO。", ++ "use_saml_metadata_to_configure_sso_with_idp": "使用 HajTeX SAML 元数据通过您的身份提供商配置 SSO。", + "use_your_own_machine": "使用你自己的机器,有你自己的设置", + "used_latex_before": "您以前使用过 LaTeX 吗?", + "used_latex_response_never": "没有,从不", +@@ -2285,7 +2285,7 @@ + "user_is_not_part_of_group": "用户不属于团队", + "user_last_name_attribute": "用户姓氏属性", + "user_management": "用户管理", +- "user_management_info": "团体计划管理员可以访问管理面板,可以在其中轻松添加和删除用户。 对于站点范围的计划,用户在注册或将其电子邮件地址添加到 Overleaf(基于域的注册或 SSO)时会自动升级。", ++ "user_management_info": "团体计划管理员可以访问管理面板,可以在其中轻松添加和删除用户。 对于站点范围的计划,用户在注册或将其电子邮件地址添加到 HajTeX(基于域的注册或 SSO)时会自动升级。", + "user_metrics": "用户数据指标", + "user_not_found": "找不到用户", + "user_sessions": "用户会话", +@@ -2338,7 +2338,7 @@ + "wed_love_you_to_stay": "我们希望你留下来", + "welcome_to_sl": "欢迎使用 __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "我们正在<0>对项目共享进行一些更改。这意味着,作为具有编辑权限的人,项目所有者和其他编辑者将可以看到您的姓名和电子邮件地址。", +- "were_performing_maintenance": "我们正在对Overleaf进行维护,您需要等待片刻。很抱歉给您带来不便。编辑器将在 __seconds__ 秒后自动刷新。", ++ "were_performing_maintenance": "我们正在对HajTeX进行维护,您需要等待片刻。很抱歉给您带来不便。编辑器将在 __seconds__ 秒后自动刷新。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "我们最近<0>降低了免费计划的编译超时限制,这可能会影响这个项目。", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "我们最近<0>降低了免费计划的编译时限,这可能会影响这个项目。", + "what_do_you_need": "你需要什么?", +@@ -2348,24 +2348,23 @@ + "what_does_this_mean_for_you": "这意味着:", + "what_happens_when_sso_is_enabled": "开启单点登录后会发生什么?", + "what_should_we_call_you": "我们该怎么称呼你?", +- "when_you_join_labs": "加入实验室后,您可以选择要参与的实验。完成此操作后,您可以正常使用 Overleaf,但您会看到所有实验室功能都标有此徽章:", ++ "when_you_join_labs": "加入实验室后,您可以选择要参与的实验。完成此操作后,您可以正常使用 HajTeX,但您会看到所有实验室功能都标有此徽章:", + "when_you_tick_the_include_caption_box": "当您勾选“包含标题”框时,图像将带有占位符标题插入到文档中。 要编辑它,您只需选择占位符文本并键入以将其替换为您自己的文本。", + "why_latex": "为何用 LaTeX?", + "wide": "宽松的", + "will_lose_edit_access_on_date": "将于 __date__ 失去编辑权限", + "will_need_to_log_out_from_and_in_with": "您需要从 __email1__ 帐户注销,然后使用 __email2__ 登录。", +- "with_premium_subscription_you_also_get": "通过Overleaf Premium订阅,您还可以获得", ++ "with_premium_subscription_you_also_get": "通过HajTeX Premium订阅,您还可以获得", + "word_count": "字数统计", + "work_offline": "离线工作", + "work_or_university_sso": "工作/高校账户 单点登录", +- "work_with_non_overleaf_users": "和非Overleaf用户一起工作", ++ "work_with_non_overleaf_users": "和非HajTeX用户一起工作", + "would_you_like_to_see_a_university_subscription": "您想在你的大学看到风靡全球各大学的__appName__订阅吗?", + "write_and_collaborate_faster_with_features_like": "借助以下功能更快地写作和协作:", + "writefull": "Writefull", +- "writefull_learn_more": "了解更多关于 Writefull for Overleaf", ++ "writefull_learn_more": "了解更多关于 Writefull for HajTeX", + "writefull_loading_error_body": "尝试刷新页面,如果无效,尝试禁用所有的浏览器拓展,以便检查是否他们阻止了 Writefull 的加载。", + "writefull_loading_error_title": "Writefull 加载失败", +- "writefull_settings_description": "使用 Writefull for Overleaf 获得专为研究写作量身定制的基于人工智能的免费语言反馈。 另外,如果您升级到 Writefull Premium,您可以使用 TeXGPT 生成 LaTeX 代码 - 在结账时使用 OVERLEAF10 可获得 10% 的折扣。", + "x_changes_in": "__count__ 处变化在", + "x_changes_in_plural": "__count__ 处变化在", + "x_collaborators_per_project": "每个项目__collaboratorsCount__个协作者", +@@ -2382,10 +2381,10 @@ + "you": "你", + "you_already_have_a_subscription": "你已经有一个订阅啦", + "you_and_collaborators_get_access_to": "你与你的项目协作者将会获得", +- "you_and_collaborators_get_access_to_info": "这些功能可供您和您的协作者(您邀请加入项目的其他 Overleaf 用户)使用。", ++ "you_and_collaborators_get_access_to_info": "这些功能可供您和您的协作者(您邀请加入项目的其他 HajTeX 用户)使用。", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员和<1>成员", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__)管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员和<1>成员。", +- "you_are_a_manager_of_commons_at_institution_x": "您是 <0>__institutionName__ 的 Overleaf Commons 订阅的<0>管理者", ++ "you_are_a_manager_of_commons_at_institution_x": "您是 <0>__institutionName__ 的 HajTeX Commons 订阅的<0>管理者", + "you_are_a_manager_of_publisher_x": "您是 <0>__publisherName__ 的<0>管理者", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "您是由 <1>__adminEmail__ 管理的 <1>__groupName__ 团队的、<0>__planName__ 计划的 <1>管理员", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "您是<1>您 (__adminEmail__) 管理的<0>__planName__团体订阅<1>__groupName__的<1>管理员。", +@@ -2421,7 +2420,7 @@ + "you_will_be_able_to_reassign_subscription": "您可以将他们的订阅成员资格重新分配给组织中的其他人", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "尽管您仍可使用此工具在<1>代码编辑器中插入表格,但在<0>可视化编辑器中使用此工具将获得最佳结果。 选择所需的行数和列数后,表格将出现在文档中,您可以双击单元格向其中添加内容。", + "youll_need_to_ask_the_github_repository_owner": "您需要请求 GitHub 存储库所有者 (<0>__repoOwnerEmail__) 重新连接该项目。", +- "youll_no_longer_need_to_remember_credentials": "您将不再需要记住单独的电子邮件地址和密码。相反,您将使用单点登录登录到Overleaf。<0>阅读有关SSO的更多信息。", ++ "youll_no_longer_need_to_remember_credentials": "您将不再需要记住单独的电子邮件地址和密码。相反,您将使用单点登录登录到HajTeX。<0>阅读有关SSO的更多信息。", + "your_account_is_managed_by_admin_cant_join_additional_group": "您的__appName__帐户由您当前的组管理员(__admin__)管理。这意味着您不能加入其他组订阅<0>阅读有关托管用户的更多信息", + "your_account_is_managed_by_your_group_admin": "您的帐户由您的群组管理员管理。 您无法更改或删除您的电子邮件地址。", + "your_account_is_suspended": "你的账户暂时无法使用", +@@ -2454,7 +2453,7 @@ + "your_sessions": "我的会话", + "your_subscription": "您的订阅", + "your_subscription_has_expired": "您的订购已过期", +- "youre_a_member_of_overleaf_labs": "您是 Overleaf Labs 的成员。别忘了定期查看您可以报名参加哪些实验。", ++ "youre_a_member_of_overleaf_labs": "您是 HajTeX Labs 的成员。别忘了定期查看您可以报名参加哪些实验。", + "youre_about_to_disable_single_sign_on": "您将禁用所有群成员的单点登录。", + "youre_about_to_enable_single_sign_on": "您即将启用单点登录(SSO)。在执行此操作之前,您应该确保您确信SSO配置是正确的,并且您的所有组成员都具有托管用户帐户。", + "youre_about_to_enable_single_sign_on_sso_only": "您即将启用单点登录 (SSO)。 在执行此操作之前,您应该确保 SSO 配置正确。", +@@ -2477,7 +2476,7 @@ + "zotero_groups_relink": "访问您的Zotero数据时出错。这可能是由于缺乏权限造成的。请重新链接您的帐户,然后重试。", + "zotero_integration": "Zotero 集成", + "zotero_integration_lowercase": "Zotero集成", +- "zotero_integration_lowercase_info": "在Zotero中管理您的参考库,并将其直接链接到Overleaf中的.bib文件,这样您就可以轻松引用库中的任何内容。", ++ "zotero_integration_lowercase_info": "在Zotero中管理您的参考库,并将其直接链接到HajTeX中的.bib文件,这样您就可以轻松引用库中的任何内容。", + "zotero_is_premium": "Zotero 集成是一个高级(付费)功能", + "zotero_reference_loading_error": "错误,无法加载Zotero的参考文献", + "zotero_reference_loading_error_expired": "Zotero令牌过期,请重新关联您的账户", diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js.diff new file mode 100644 index 0000000..47ac9ed --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js 2024-12-11 19:56:22.100981186 +0000 ++++ ../5.2.1/overleaf/services/web/modules/launchpad/app/views/launchpad.js 2024-12-11 00:47:11.560149013 +0000 +@@ -1058,7 +1058,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js.diff new file mode 100644 index 0000000..fcde9ca --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js 2024-12-11 19:56:17.397037396 +0000 ++++ ../5.2.1/overleaf/services/web/modules/user-activate/app/views/user/activate.js 2024-12-11 00:47:11.546149177 +0000 +@@ -1035,7 +1035,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js.diff b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js.diff new file mode 100644 index 0000000..72e5717 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js 2024-12-11 19:56:19.777008956 +0000 ++++ ../5.2.1/overleaf/services/web/modules/user-activate/app/views/user/register.js 2024-12-11 00:47:11.553149095 +0000 +@@ -1023,7 +1023,7 @@ + } + else + if (!settings.nav.hide_powered_by) { +-pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https:\u002F\u002Fwww.overleaf.com\u002Ffor\u002Fenterprises\"\u003EPowered by Overleaf\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; ++pug_html = pug_html + "\u003Cli\u003E© 2024\n\u003Ca href=\"https://github.com/HajTeX/HajTeX"\u003EPowered by HajTex\u003C\u002Fa\u003E\u003C\u002Fli\u003E"; + if (showLanguagePicker || hasCustomLeftNav) { + pug_html = pug_html + "\u003Cli\u003E\u003Cstrong class=\"text-muted\"\u003E|\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E"; + } diff --git a/docker/features/hajtex-branding/dev_tools/find_and_replace.sh b/docker/features/hajtex-branding/dev_tools/find_and_replace.sh new file mode 100644 index 0000000..390a031 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/find_and_replace.sh @@ -0,0 +1,17 @@ +cd /overleaf/ && grep -l -R "Powered by Overleaf" * | grep -v node_modules > /var/lib/overleaf/list.txt + +for line in $(cat /var/lib/overleaf/list.txt) +do + dirname=$(dirname $line) + mkdir -p /var/lib/overleaf/$dirname + cat ${line} |\ + sed 's/https:\\u002F\\u002Fwww.overleaf.com\\u002Ffor\\u002Fenterprises\\/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed 's/https:\\u002F\\u002Fwww.overleaf.com\\u002Ffor\\u002Fenterprises/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed 's/https:\/\/www.overleaf.com\/for\/enterprises/https:\/\/github.com\/HajTeX\/HajTeX/g' |\ + sed s/"Powered by Overleaf"/"Powered by HajTex"/g > ${line}_bak + rm ${line} + mv ${line}_bak ${line} + cp ${line} /var/lib/overleaf/${line} + +done + diff --git a/docker/features/hajtex-branding/dev_tools/get_file_list.sh b/docker/features/hajtex-branding/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/hajtex-branding/dev_tools/get_masterfiles.sh b/docker/features/hajtex-branding/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/hajtex-branding/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/hajtex-branding/disable_feature.sh b/docker/features/hajtex-branding/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/hajtex-branding/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/hajtex-branding/enable_feature.sh b/docker/features/hajtex-branding/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/hajtex-branding/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/login-page/5.2.1/overleaf/services/web/app/views/user/login.pug b/docker/features/login-page/5.2.1/overleaf/services/web/app/views/user/login.pug new file mode 100644 index 0000000..e737317 --- /dev/null +++ b/docker/features/login-page/5.2.1/overleaf/services/web/app/views/user/login.pug @@ -0,0 +1,35 @@ +extends ../layout-marketing + +block content + main.content.content-alt#main-content + .container + .row + .card + .page-header + h1 #{translate("log_in")} + .card-body.text-center + p + img(src='https://overleaf.pip.uni-bremen.de/register/static/logo_ub.png' style='width:300px;') + img(src='https://overleaf.pip.uni-bremen.de/register/static/logo_pip.jpg' style='width:300px;') + p + a(href="https://www.uni-bremen.de/en/pip") University of Bremen FB1 -- PIP + p + | HajTex site of the + p + | Postgraduate International Programme in Physics and Electrical Engineering + p + | PIP @ University of Bremen FB1! + p + | If you are an invited external guest, please Sign Up first. + p + a.btn.btn-primary.mt-2(href="/register", role="button") Sign Up + p + p + | If you are a member of the University and want to use an email username@[...].uni-bremen.de, please Sign Up too. + p + a.btn.btn-primary.mt-2(href="/register", role="button") Sign Up + p + p + | For persons with ZfN university account, just login. + p + a.btn.btn-primary.mt-2(href="/login/oidc", role="button") #{translate("log_in")} diff --git a/docker/features/login-page/README.md b/docker/features/login-page/README.md new file mode 100644 index 0000000..57d3353 --- /dev/null +++ b/docker/features/login-page/README.md @@ -0,0 +1 @@ +Allows to replace the login page of the site \ No newline at end of file diff --git a/docker/features/login-page/_intern/files.yaml b/docker/features/login-page/_intern/files.yaml new file mode 100644 index 0000000..75fe9d3 --- /dev/null +++ b/docker/features/login-page/_intern/files.yaml @@ -0,0 +1,2 @@ +volumes: + - /docker/features/login-page/5.2.1/overleaf/services/web/app/views/user/login.pug:/overleaf/services/web/app/views/user/login.pug diff --git a/docker/features/login-page/_prep/prep.sh b/docker/features/login-page/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/login-page/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.pug.diff b/docker/features/login-page/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.pug.diff new file mode 100644 index 0000000..08ad590 --- /dev/null +++ b/docker/features/login-page/dev_tools/5.2.1/overleaf/services/web/app/views/user/login.pug.diff @@ -0,0 +1,44 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/user/login.pug 2024-12-15 03:03:50.766680769 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/user/login.pug 2024-12-15 03:02:16.630801897 +0000 +@@ -8,35 +8,9 @@ + .card + .page-header + h1 #{translate("log_in")} +- form(data-ol-async-form, name="loginForm", action='/login', method="POST") +- input(name='_csrf', type='hidden', value=csrfToken) +- +formMessages() +- +customFormMessage('invalid-password-retry-or-reset', 'danger') +- | !{translate('email_or_password_wrong_try_again_or_reset', {}, [{ name: 'a', attrs: { href: '/user/password/reset', 'aria-describedby': 'resetPasswordDescription' } }])} +- span.sr-only(id='resetPasswordDescription') +- | #{translate('reset_password_link')} +- +customValidationMessage('password-compromised') +- | !{translate('password_compromised_try_again_or_use_known_device_or_reset', {}, [{name: 'a', attrs: {href: 'https://haveibeenpwned.com/passwords', rel: 'noopener noreferrer', target: '_blank'}}, {name: 'a', attrs: {href: '/user/password/reset', target: '_blank'}}])}. +- .form-group +- input.form-control( +- type='email', +- name='email', +- required, +- placeholder='email@example.com', +- autofocus="true" +- ) +- .form-group +- input.form-control( +- type='password', +- name='password', +- required, +- placeholder='********', +- ) +- .actions +- button.btn-primary.btn( +- type='submit', +- data-ol-disabled-inflight +- ) +- span(data-ol-inflight="idle") #{translate("login")} +- span(hidden data-ol-inflight="pending") #{translate("logging_in")}… +- a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}? ++ .card-body.text-center ++ p ++ | Overleaf  ++ a(href="https://www.uni-bremen.de/fb1 ") University of Bremen FB1! ++ p ++ a.btn.btn-primary.mt-2(href="/login/oidc", role="button") #{translate("log_in")} diff --git a/docker/features/login-page/dev_tools/get_file_list.sh b/docker/features/login-page/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/login-page/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/login-page/dev_tools/get_masterfiles.sh b/docker/features/login-page/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/login-page/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/login-page/disable_feature.sh b/docker/features/login-page/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/login-page/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/login-page/enable_feature.sh b/docker/features/login-page/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/login-page/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js new file mode 100644 index 0000000..0fb67dc --- /dev/null +++ b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js @@ -0,0 +1,99 @@ +const _ = require('lodash') +const Settings = require('@overleaf/settings') + +const supportModuleAvailable = Settings.moduleImportSequence.includes('support') + +const symbolPaletteModuleAvailable = + Settings.moduleImportSequence.includes('symbol-palette') + +const trackChangesModuleAvailable = + Settings.moduleImportSequence.includes('track-changes') + +/** + * @typedef {Object} Settings + * @property {Object | undefined} apis + * @property {Object | undefined} apis.linkedUrlProxy + * @property {string | undefined} apis.linkedUrlProxy.url + * @property {Object | undefined} apis.references + * @property {string | undefined} apis.references.url + * @property {boolean | undefined} enableGithubSync + * @property {boolean | undefined} enableGitBridge + * @property {boolean | undefined} enableHomepage + * @property {boolean | undefined} enableSaml + * @property {boolean | undefined} ldap + * @property {boolean | undefined} oauth + * @property {Object | undefined} overleaf + * @property {Object | undefined} overleaf.oauth + * @property {boolean | undefined} saml + */ + +const Features = { + /** + * @returns {boolean} + */ + externalAuthenticationSystemUsed() { + return ( + (Boolean(Settings.ldap) && Boolean(Settings.ldap.enable)) || + (Boolean(Settings.saml) && Boolean(Settings.saml.enable)) || + (Boolean(Settings.oidc) && Boolean(Settings.oidc.enable)) || + Boolean(Settings.overleaf) + ) + }, + + /** + * Whether a feature is enabled in the appliation's configuration + * + * @param {string} feature + * @returns {boolean} + */ + hasFeature(feature) { + switch (feature) { + case 'saas': + return Boolean(Settings.overleaf) + case 'homepage': + return Boolean(Settings.enableHomepage) + case 'registration-page': + return Boolean(true) + case 'registration': + return Boolean(Settings.overleaf) + case 'chat': + return Boolean(Settings.disableChat) === false + case 'github-sync': + return Boolean(Settings.enableGithubSync) + case 'git-bridge': + return Boolean(Settings.enableGitBridge) + case 'oauth': + return Boolean(Settings.oauth) + case 'templates-server-pro': + return Boolean(Settings.templates?.user_id) + case 'affiliations': + case 'analytics': + return Boolean(_.get(Settings, ['apis', 'v1', 'url'])) + case 'references': + return Boolean(_.get(Settings, ['apis', 'references', 'url'])) + case 'saml': + return Boolean(Settings.enableSaml) + case 'linked-project-file': + return Boolean(Settings.enabledLinkedFileTypes.includes('project_file')) + case 'linked-project-output-file': + return Boolean( + Settings.enabledLinkedFileTypes.includes('project_output_file') + ) + case 'link-url': + return Boolean( + _.get(Settings, ['apis', 'linkedUrlProxy', 'url']) && + Settings.enabledLinkedFileTypes.includes('url') + ) + case 'support': + return supportModuleAvailable + case 'symbol-palette': + return symbolPaletteModuleAvailable + case 'track-changes': + return trackChangesModuleAvailable + default: + throw new Error(`unknown feature: ${feature}`) + } + }, +} + +module.exports = Features diff --git a/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..5bab656 --- /dev/null +++ b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1020 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + oidc: { + enable: process.env.OIDC_ENABLE || false, + updateUserDetailsOnLogin: process.env.OIDC_ENABLE || false, + nameShort: process.env.OIDC_NAME_SHORT || "OIDC", + nameLong: process.env.OIDC_NAME_LONG || "OIDC", + }, + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + references: { + url: `http://${process.env.REFERENCES_HOST || '127.0.0.1'}:3056`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: ['@/features/symbol-palette/components/symbol-palette'], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + 'symbol-palette', + 'track-changes', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/locales/en.json b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/locales/en.json new file mode 100644 index 0000000..5871071 --- /dev/null +++ b/docker/features/manuel_overwrite/5.2.1/overleaf/services/web/locales/en.json @@ -0,0 +1,2551 @@ +{ + "12x_basic": "12x Basic", + "1_2_width": "½ width", + "1_4_width": "¼ width", + "3_4_width": "¾ width", + "About": "About", + "Account": "Account", + "Account Settings": "Account Settings", + "Documentation": "Documentation", + "Projects": "Projects", + "Security": "Security", + "Subscription": "Subscription", + "Terms": "Terms", + "Universities": "Universities", + "a_custom_size_has_been_used_in_the_latex_code": "A custom size has been used in the LaTeX code.", + "a_fatal_compile_error_that_completely_blocks_compilation": "A <0>fatal compile error that completely blocks the compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "A file with that name already exists. That file will be overwritten.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "A more comprehensive list of keyboard shortcuts can be found in <0>this __appName__ project template", + "about": "About", + "about_to_archive_projects": "You are about to archive the following projects:", + "about_to_delete_cert": "You are about to delete the following certificate:", + "about_to_delete_projects": "You are about to delete the following projects:", + "about_to_delete_tag": "You are about to delete the following tag (any projects in them will not be deleted):", + "about_to_delete_the_following_project": "You are about to delete the following project", + "about_to_delete_the_following_projects": "You are about to delete the following projects", + "about_to_delete_user_preamble": "You’re about to delete __userName__ (__userEmail__). Doing this will mean:", + "about_to_enable_managed_users": "By enabling the Managed Users feature, all existing members of your group subscription will be invited to become managed. This will give you admin rights over their account. You will also have the option to invite new members to join the subscription and become managed.", + "about_to_leave_project": "You are about to leave this project.", + "about_to_leave_projects": "You are about to leave the following projects:", + "about_to_trash_projects": "You are about to trash the following projects:", + "abstract": "Abstract", + "accept": "Accept", + "accept_all": "Accept all", + "accept_and_continue": "Accept and continue", + "accept_change": "Accept change", + "accept_change_error_description": "There was an error accepting a track change. Please try again in a few moments.", + "accept_change_error_title": "Accept Change Error", + "accept_invitation": "Accept invitation", + "accept_or_reject_each_changes_individually": "Accept or reject each change individually", + "accept_terms_and_conditions": "Accept terms and conditions", + "accepted_invite": "Accepted invite", + "accepting_invite_as": "You are accepting this invite as", + "access_denied": "Access Denied", + "access_levels_changed": "Access levels changed", + "account": "Account", + "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", + "account_has_past_due_invoice_change_plan_warning": "Your account currently has a past due invoice. You will not be able to change your plan until this is resolved.", + "account_linking": "Account Linking", + "account_managed_by_group_administrator": "Your account is managed by your group administrator (__admin__)", + "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", + "account_settings": "Account Settings", + "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", + "acct_linked_to_institution_acct_2": "You can <0>log in to HajTeX through your <0>__institutionName__ institutional login.", + "actions": "Actions", + "activate": "Activate", + "activate_account": "Activate your account", + "activating": "Activating", + "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", + "active": "Active", + "add": "Add", + "add_a_recovery_email_address": "Add a recovery email address", + "add_additional_certificate": "Add another certificate", + "add_affiliation": "Add Affiliation", + "add_another_address_line": "Add another address line", + "add_another_email": "Add another email", + "add_another_token": "Add another token", + "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", + "add_comment": "Add comment", + "add_comment_error_message": "There was an error adding your comment. Please try again in a few moments.", + "add_comment_error_title": "Add Comment Error", + "add_company_details": "Add Company Details", + "add_email": "Add Email", + "add_email_address": "Add email address", + "add_email_to_claim_features": "Add an institutional email address to claim your features.", + "add_files": "Add Files", + "add_more_collaborators": "Add more collaborators", + "add_more_editors": "Add more editors", + "add_more_managers": "Add more managers", + "add_more_members": "Add more members", + "add_new_email": "Add new email", + "add_or_remove_project_from_tag": "Add or remove project from tag __tagName__", + "add_people": "Add people", + "add_role_and_department": "Add role and department", + "add_to_dictionary": "Add to Dictionary", + "add_to_tag": "Add to tag", + "add_your_comment_here": "Add your comment here", + "add_your_first_group_member_now": "Add your first group members now", + "added": "added", + "added_by_on": "Added by __name__ on __date__", + "adding": "Adding", + "adding_a_bibliography": "Adding a bibliography?", + "additional_certificate": "Additional certificate", + "additional_licenses": "Your subscription includes <0>__additionalLicenses__ additional license(s) for a total of <1>__totalLicenses__ licenses.", + "address": "Address", + "address_line_1": "Address", + "address_second_line_optional": "Address second line (optional)", + "adjust_column_width": "Adjust column width", + "admin": "admin", + "admin_panel": "Admin panel", + "admin_user_created_message": "Created admin user, Log in here to continue", + "administration_and_security": "Administration and security", + "advanced_reference_search": "Advanced <0>reference search", + "advanced_reference_search_mode": "Advanced reference search", + "advanced_search": "Advanced Search", + "aggregate_changed": "Changed", + "aggregate_to": "to", + "agree_with_the_terms": "I agree with the HajTeX terms", + "ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "Do you have any thoughts or suggestions for improving this feature?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Tell us what was wrong so we can improve.", + "ai_feedback_the_answer_was_too_long": "The answer was too long", + "ai_feedback_the_answer_wasnt_detailed_enough": "The answer wasn’t detailed enough", + "ai_feedback_the_suggestion_didnt_fix_the_error": "The suggestion didn’t fix the error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "The suggestion wasn’t the best fix available", + "ai_feedback_there_was_no_code_fix_suggested": "There was no code fix suggested", + "alignment": "Alignment", + "all": "All", + "all_borders": "All borders", + "all_our_group_plans_offer_educational_discount": "All of our <0>group plans offer an <1>educational discount for students and faculty", + "all_premium_features": "All premium features", + "all_premium_features_including": "All premium features, including:", + "all_prices_displayed_are_in_currency": "All prices displayed are in __recommendedCurrency__.", + "all_projects": "All Projects", + "all_projects_will_be_transferred_immediately": "All projects will be transferred to the new owner immediately.", + "all_templates": "All Templates", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "All the pros of our standard plan, plus unlimited collaborators per project.", + "all_these_experiments_are_available_exclusively": "All these experiments are available exclusively to members of the Labs program. If you sign up, you can choose which experiments you want to try.", + "allows_to_search_by_author_title_etc_possible_to_pull_results_directly_from_your_reference_manager_if_connected": "Allows to search by author, title, etc. Possible to pull results directly from your reference manager (if connected).", + "already_have_an_account": "Already have an account?", + "already_have_sl_account": "Already have an __appName__ account?", + "already_subscribed_try_refreshing_the_page": "Already subscribed? Try refreshing the page.", + "also": "Also", + "also_available_as_on_premises": "Also available as On-Premises", + "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", + "an_email_has_already_been_sent_to": "An email has already been sent to <0>__email__. Please wait and try again later.", + "an_error_occured_while_restoring_project": "An error occured while restoring the project", + "an_error_occurred_when_verifying_the_coupon_code": "An error occurred when verifying the coupon code", + "and": "and", + "annual": "Annual", + "anonymous": "Anonymous", + "anyone_with_link_can_edit": "Anyone with this link can edit this project", + "anyone_with_link_can_view": "Anyone with this link can view this project", + "app_on_x": "__appName__ on __social__", + "apply_educational_discount": "Apply educational discount", + "apply_educational_discount_info": "HajTeX offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using HajTeX for teaching.", + "apply_educational_discount_info_new": "40% discount for groups of 10 or more using __appName__ for teaching", + "apply_suggestion": "Apply suggestion", + "april": "April", + "archive": "Archive", + "archive_projects": "Archive Projects", + "archived": "Archived", + "archived_projects": "Archived Projects", + "archiving_projects_wont_affect_collaborators": "Archiving projects won’t affect your collaborators.", + "are_you_affiliated_with_an_institution": "Are you affiliated with an institution?", + "are_you_getting_an_undefined_control_sequence_error": "Are you getting an Undefined Control Sequence error? If you are, make sure you’ve loaded the graphicx package—<0>\\usepackage{graphicx}—in the preamble (first section of code) in your document. <1>Learn more", + "are_you_still_at": "Are you still at <0>__institutionName__?", + "are_you_sure": "Are you sure?", + "article": "Article", + "articles": "Articles", + "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution.", + "as_email": "as __email__", + "ascending": "Ascending", + "ask_proj_owner_to_unlink_from_current_github": "Ask the owner of the project (<0>__projectOwnerEmail__) to unlink the project from the current GitHub repository and create a connection to a different repository.", + "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project’s full history.", + "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", + "ask_repo_owner_to_reconnect": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "ask_repo_owner_to_renew_overleaf_subscription": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "august": "August", + "author": "Author", + "auto_close_brackets": "Auto-close Brackets", + "auto_compile": "Auto Compile", + "auto_complete": "Auto-complete", + "autocompile_disabled": "Autocompile disabled", + "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", + "autocomplete": "Autocomplete", + "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", + "automatic_user_registration": "automatic user registration", + "automatic_user_registration_uppercase": "Automatic user registration", + "back": "Back", + "back_to_account_settings": "Back to account settings", + "back_to_all_posts": "Back to all posts", + "back_to_configuration": "Back to configuration", + "back_to_editor": "Back to editor", + "back_to_log_in": "Back to log in", + "back_to_subscription": "Back to Subscription", + "back_to_your_projects": "Back to your projects", + "basic": "Basic", + "basic_compile_timeout_on_fast_servers": "Basic compile timeout on fast servers", + "become_an_advisor": "Become an __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Before you use the AI error assistant", + "best_choices_companies_universities_non_profits": "Best choice for companies, universities and non-profits", + "beta": "Beta", + "beta_feature_badge": "Beta feature badge", + "beta_program_already_participating": "You are enrolled in the Beta Program", + "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", + "beta_program_benefits": "We’re always improving __appName__. By joining this program you can have <0>early access to new features and help us understand your needs better.", + "beta_program_not_participating": "You are not enrolled in the Beta Program", + "beta_program_opt_in_action": "Opt-In to Beta Program", + "beta_program_opt_out_action": "Opt-Out of Beta Program", + "better_bibliographies": "Better bibliographies", + "bibliographies": "Bibliographies", + "binary_history_error": "Preview not available for this file type", + "blank_project": "Blank Project", + "blocked_filename": "This file name is blocked.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 50% discount to premium plans on this page for our users in Brazil. Check out the new lower prices.", + "browser": "Browser", + "built_in": "Built-In", + "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", + "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", + "buy_now_no_exclamation_mark": "Buy now", + "buy_overleaf_assist": "Buy HajTeX Assist", + "by": "by", + "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from HajTeX—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", + "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.", + "by_subscribing_you_agree_to_our_terms_of_service": "By subscribing, you agree to our <0>terms of service.", + "can_edit": "Can edit", + "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", + "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", + "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "can_link_your_institution_acct_2": "You can now <0>link your <0>__appName__ account to your <0>__institutionName__ institutional account.", + "can_now_relink_dropbox": "You can now <0>relink your Dropbox account.", + "can_view": "Can view", + "cancel": "Cancel", + "cancel_anytime": "We’re confident that you’ll love __appName__, but if not you can cancel anytime. We’ll give you your money back, no questions asked, if you let us know within 30 days.", + "cancel_my_account": "Cancel my subscription", + "cancel_my_subscription": "Cancel my subscription", + "cancel_personal_subscription_first": "You already have an individual subscription, would you like us to cancel this first before joining the group licence?", + "cancel_your_subscription": "Cancel Your Subscription", + "cannot_invite_non_user": "Can’t send invite. Recipient must already have an __appName__ account", + "cannot_invite_self": "Can’t send invite to yourself", + "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", + "cant_find_email": "That email address is not registered, sorry.", + "cant_find_page": "Sorry, we can’t find the page you are looking for.", + "cant_see_what_youre_looking_for_question": "Can’t see what you’re looking for?", + "caption_above": "Caption above", + "caption_below": "Caption below", + "card_details": "Card details", + "card_details_are_not_valid": "Card details are not valid", + "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", + "card_payment": "Card payment", + "careers": "Careers", + "category_arrows": "Arrows", + "category_greek": "Greek", + "category_misc": "Misc", + "category_operators": "Operators", + "category_relations": "Relations", + "center": "Center", + "certificate": "Certificate", + "change": "Change", + "change_currency": "Change currency", + "change_or_cancel-cancel": "cancel", + "change_or_cancel-change": "Change", + "change_or_cancel-or": "or", + "change_owner": "Change owner", + "change_password": "Change Password", + "change_password_in_account_settings": "Change password in Account Settings", + "change_plan": "Change plan", + "change_primary_email_address_instructions": "To change your primary email, please add your new primary email address first (by clicking <0>Add another email) and confirm it. Then click the <0>Make Primary button. <1>Learn more about managing your __appName__ emails.", + "change_project_owner": "Change Project Owner", + "change_the_ownership_of_your_personal_projects": "Change the ownership of your personal projects to the new account. <0>Find out how to change project owner.", + "change_to_group_plan": "Change to a group plan", + "change_to_this_plan": "Change to this plan", + "changing_the_position_of_your_figure": "Changing the position of your figure", + "changing_the_position_of_your_table": "Changing the position of your table", + "chat": "Chat", + "chat_error": "Could not load chat messages, please try again.", + "check_your_email": "Check your email", + "checking": "Checking", + "checking_dropbox_status": "Checking Dropbox status", + "checking_project_github_status": "Checking project status in GitHub", + "choose_a_custom_color": "Choose a custom color", + "choose_from_group_members": "Choose from group members", + "choose_which_experiments": "Choose which experiments you’d like to try.", + "choose_your_plan": "Choose your plan", + "city": "City", + "clear_cached_files": "Clear cached files", + "clear_search": "clear search", + "clear_sessions": "Clear Sessions", + "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", + "clear_sessions_success": "Sessions Cleared", + "clearing": "Clearing", + "click_here_to_view_sl_in_lng": "Click here to use __appName__ in <0>__lngName__", + "click_link_to_proceed": "Click __clickText__ below to proceed.", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "Clicking <0>Delete will remove your SSO configuration and unlink all users. You can only do this when SSO is disabled in your Group settings.", + "clone_with_git": "Clone with Git", + "close": "Close", + "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", + "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", + "cn": "Chinese (Simplified)", + "code_check_failed": "Code check failed", + "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", + "code_editor": "Code Editor", + "code_editor_tooltip_message": "You can see the code behind your project (and make edits to it) in the Code Editor", + "code_editor_tooltip_title": "Want to view and edit the LaTeX code?", + "collaborate_easily_on_your_projects": "Collaborate easily on your projects. Work on longer or more complex docs.", + "collaborate_online_and_offline": "Collaborate online and offline, using your own workflow", + "collaboration": "Collaboration", + "collaborator": "Collaborator", + "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to HajTeX from IEEE Collabratec™ or log in with a different account.", + "collabs_per_proj": "__collabcount__ collaborators per project", + "collabs_per_proj_single": "__collabcount__ collaborator per project", + "collapse": "Collapse", + "column_width": "Column width", + "column_width_is_custom_click_to_resize": "Column width is custom. Click to resize", + "column_width_is_x_click_to_resize": "Column width is __width__. Click to resize", + "comment": "Comment", + "comment_submit_error": "Sorry, there was a problem submitting your comment", + "commit": "Commit", + "common": "Common", + "common_causes_of_compile_timeouts_include": "Common causes of compile timeouts include", + "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your HajTeX premium features.", + "community_articles": "Community articles", + "compact": "Compact", + "company_name": "Company Name", + "compare": "Compare", + "compare_features": "Compare features", + "comparing_from_x_to_y": "Comparing from <0>__startTime__ to <0>__endTime__", + "compile_error_entry_description": "An error which prevented this project from compiling", + "compile_error_handling": "Compile Error Handling", + "compile_larger_projects": "Compile larger projects", + "compile_mode": "Compile Mode", + "compile_servers": "Compile servers", + "compile_servers_info": "Compiles for users on premium plans always run on a dedicated pool of the fastest available servers.", + "compile_servers_info_new": "The servers used to compile your project. Compiles for users on paid plans always run on the fastest available servers.", + "compile_terminated_by_user": "The compile was cancelled using the ‘Stop Compilation’ button. You can download the raw logs to see where the compile stopped.", + "compile_timeout_short": "Compile timeout", + "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the HajTeX servers. You may need additional time for longer or more complex projects.", + "compile_timeout_short_info_new": "This is how much time you get to compile your project on HajTeX. You may need additional time for longer or more complex projects.", + "compiler": "Compiler", + "compiling": "Compiling", + "complete": "Complete", + "compliance": "Compliance", + "compromised_password": "Compromised Password", + "configure_sso": "Configure SSO", + "configured": "Configured", + "confirm": "Confirm", + "confirm_affiliation": "Confirm Affiliation", + "confirm_affiliation_to_relink_dropbox": "Please confirm you are still at the institution and on their license, or upgrade your account in order to relink your Dropbox account.", + "confirm_delete_user_type_email_address": "To confirm you want to delete __userName__ please type the email address associated with their account", + "confirm_email": "Confirm Email", + "confirm_new_password": "Confirm New Password", + "confirm_primary_email_change": "Confirm primary email change", + "confirm_remove_sso_config_enter_email": "To confirm you want to remove your SSO configuration, enter your email address:", + "confirm_your_email": "Confirm your email address", + "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", + "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", + "confirming": "Confirming", + "conflicting_paths_found": "Conflicting Paths Found", + "congratulations_youve_successfully_join_group": "Congratulations! You‘ve successfully joined the group subscription.", + "connected_users": "Connected Users", + "connecting": "Connecting", + "connection_lost": "Connection lost", + "contact": "Contact", + "contact_group_admin": "Please contact your group administrator.", + "contact_message_label": "Message", + "contact_sales": "Contact Sales", + "contact_support": "Contact Support", + "contact_support_to_change_group_subscription": "Please <0>contact support if you wish to change your group subscription.", + "contact_us": "Contact Us", + "contact_us_lowercase": "Contact us", + "contacting_the_sales_team": "Contacting the Sales team", + "continue": "Continue", + "continue_github_merge": "I have manually merged. Continue", + "continue_to": "Continue to __appName__", + "continue_with_free_plan": "Continue with free plan", + "continue_with_service": "Continue with __service__", + "copied": "Copied", + "copy": "Copy", + "copy_code": "Copy code", + "copy_project": "Copy Project", + "copy_response": "Copy response", + "copying": "Copying", + "could_not_connect_to_collaboration_server": "Could not connect to collaboration server", + "could_not_connect_to_websocket_server": "Could not connect to WebSocket server", + "could_not_load_translations": "Could not load translations", + "country": "Country", + "country_flag": "__country__ country flag", + "coupon_code": "Coupon code", + "coupon_code_is_not_valid_for_selected_plan": "Coupon code is not valid for selected plan", + "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", + "create": "Create", + "create_a_new_password_for_your_account": "Create a new password for your account", + "create_a_new_project": "Create a new project", + "create_account": "Create account", + "create_an_account": "Create an account", + "create_first_admin_account": "Create the first Admin account", + "create_new_account": "Create new account", + "create_new_subscription": "Create New Subscription", + "create_new_tag": "Create new tag", + "create_project_in_github": "Create a GitHub repository", + "created_at": "Created at", + "creating": "Creating", + "credit_card": "Credit Card", + "cs": "Czech", + "currency": "Currency", + "current_file": "Current file", + "current_page_page": "Current Page, Page __page__", + "current_password": "Current Password", + "current_price": "Current price", + "current_session": "Current Session", + "currently_seeing_only_24_hrs_history": "You’re currently seeing the last 24 hours of changes in this project.", + "currently_signed_in_as_x": "Currently signed in as <0>__userEmail__.", + "currently_subscribed_to_plan": "You are currently subscribed to the <0>__planName__ plan.", + "custom": "Custom", + "custom_borders": "Custom borders", + "custom_resource_portal": "Custom resource portal", + "custom_resource_portal_info": "You can have your own custom portal page on HajTeX. This is a great place for your users to find out more about HajTeX, access templates, FAQs and Help resources, and sign up to HajTeX.", + "customer_resource_portal": "Customer resource portal", + "customize": "Customize", + "customize_your_group_subscription": "Customize your group subscription", + "customize_your_plan": "Customize your plan", + "customizing_figures": "Customizing figures", + "customizing_tables": "Customizing tables", + "da": "Danish", + "date": "Date", + "date_and_owner": "Date and owner", + "de": "German", + "dealing_with_errors": "Dealing with errors", + "december": "December", + "dedicated_account_manager": "Dedicated account manager", + "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about HajTeX with promotional materials, training resources and webinars.", + "default": "Default", + "delete": "Delete", + "delete_account": "Delete Account", + "delete_account_confirmation_label": "I understand this will delete all projects in my __appName__ account with email address <0>__userDefaultEmail__", + "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", + "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", + "delete_and_leave": "Delete / Leave", + "delete_and_leave_projects": "Delete and Leave Projects", + "delete_authentication_token": "Delete Authentication token", + "delete_authentication_token_info": "You’re about to delete a Git authentication token. If you do, it can no longer be used to authenticate your identity when performing Git operations.", + "delete_certificate": "Delete certificate", + "delete_comment": "Delete comment", + "delete_comment_error_message": "There was an error deleting your comment. Please try again in a few moments.", + "delete_comment_error_title": "Delete Comment Error", + "delete_comment_message": "You cannot undo this action.", + "delete_comment_thread": "Delete comment thread", + "delete_comment_thread_message": "This will delete the whole comment thread. You cannot undo this action.", + "delete_figure": "Delete figure", + "delete_projects": "Delete Projects", + "delete_row_or_column": "Delete row or column", + "delete_sso_config": "Delete SSO configuration", + "delete_table": "Delete table", + "delete_tag": "Delete Tag", + "delete_token": "Delete token", + "delete_user": "Delete user", + "delete_your_account": "Delete your account", + "deleted_at": "Deleted At", + "deleted_by_email": "Deleted By email", + "deleted_by_id": "Deleted By ID", + "deleted_by_ip": "Deleted By IP", + "deleted_by_on": "Deleted by __name__ on __date__", + "deleting": "Deleting", + "demonstrating_git_integration": "Demonstrating Git integration", + "demonstrating_track_changes_feature": "Demonstrating Track Changes feature", + "department": "Department", + "descending": "Descending", + "description": "Description", + "details_provided_by_google_explanation": "Your details were provided by your Google account. Please check you’re happy with them.", + "dictionary": "Dictionary", + "did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features to everyone at __institutionName__?", + "disable_single_sign_on": "Disable single sign-on", + "disable_sso": "Disable SSO", + "disable_stop_on_first_error": "Disable “Stop on first error”", + "disabling": "Disabling", + "disconnected": "Disconnected", + "discount_of": "Discount of __amount__", + "discover_latex_templates_and_examples": "Discover LaTeX templates and examples to help with everything from writing a journal article to using a specific LaTeX package.", + "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust HajTeX with their work.", + "dismiss_error_popup": "Dismiss first error alert", + "display_deleted_user": "Display deleted users", + "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", + "do_not_link_accounts": "Don’t link accounts", + "do_you_need_edit_access": "Do you need edit access?", + "do_you_want_to_change_your_primary_email_address_to": "Do you want to change your primary email address to __email__?", + "do_you_want_to_overwrite_it": "Do you want to overwrite it?", + "do_you_want_to_overwrite_it_plural": "Do you want to overwrite them?", + "do_you_want_to_overwrite_them": "Do you want to overwrite them?", + "document_too_long": "Document Too Long", + "document_too_long_detail": "Sorry, this file is too long to be edited manually. Please try to split it into smaller files.", + "document_too_long_tracked_deletes": "You can also accept pending deletions to reduce the size of the file.", + "document_updated_externally": "Document Updated Externally", + "document_updated_externally_detail": "This document was just updated externally. Any recent changes you have made may have been overwritten. To see previous versions, please look in the history.", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "does not contain or significantly match your email", + "doesnt_match": "Doesn’t match", + "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_allow_log_in_through_institution_2": "Doing this will allow you to log in to <0>__appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Doing this will verify your affiliation with <0>__institutionName__ and will allow you to log in to <0>__appName__ through your institution.", + "done": "Done", + "dont_have_account": "Don’t have an account?", + "dont_have_account_without_question_mark": "Don’t have an account", + "download": "Download", + "download_all": "Download all", + "download_metadata": "Download HajTeX metadata", + "download_pdf": "Download PDF", + "download_zip_file": "Download .zip file", + "draft_sso_configuration": "Draft SSO configuration", + "drag_here": "drag here", + "drag_here_paste_an_image_or": "Drag here, paste an image, or ", + "drop_files_here_to_upload": "Drop files here to upload", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account.", + "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another HajTeX account using email address __otherUsersEmail__.", + "dropbox_checking_sync_status": "Checking Dropbox for updates", + "dropbox_duplicate_names_error": "Your Dropbox account can not be linked, because you have more than one project with the same name: ", + "dropbox_duplicate_project_names": "Your Dropbox account has been unlinked, because you have more than one project called <0>\"__projectName__\".", + "dropbox_duplicate_project_names_suggestion": "Please make your project names unique across all your <0>active, archived and trashed projects and then re-link your Dropbox account.", + "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", + "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won’t be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", + "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on HajTeX and vice versa.", + "dropbox_integration_lowercase": "Dropbox integration", + "dropbox_successfully_linked_description": "Thanks, we’ve successfully linked your Dropbox account to __appName__.", + "dropbox_sync": "Dropbox Sync", + "dropbox_sync_both": "Sending and receiving updates", + "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox account. Changes in __appName__ are automatically sent to your Dropbox account, and the other way around.", + "dropbox_sync_error": "Sorry, there was a problem checking our Dropbox service. Please try again in a few moments.", + "dropbox_sync_in": "Receiving updates from Dropbox", + "dropbox_sync_now_rate_limited": "Manual syncing is limited to one per minute. Please wait for a while and try again.", + "dropbox_sync_now_running": "A manual sync for this project has been started in the background. Please give it a few minutes to process.", + "dropbox_sync_out": "Sending updates to Dropbox", + "dropbox_sync_troubleshoot": "Changes not appearing in Dropbox? Please wait a few minutes. If changes still don’t appear, you can <0>sync this project now.", + "dropbox_synced": "HajTeX and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", + "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with HajTeX.", + "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with HajTeX.", + "dropbox_unlinked_premium_feature": "<0>Your Dropbox account has been unlinked because Dropbox Sync is a premium feature that you had through an institutional license.", + "due_date": "Due __date__", + "due_today": "Due today", + "duplicate_file": "Duplicate File", + "duplicate_projects": "This user has projects with duplicate names", + "each_user_will_have_access_to": "Each user will have access to", + "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your HajTeX plan.", + "easily_manage_your_project_files_everywhere": "Easily manage your project files, everywhere", + "easy_collaboration_for_students": "Easy collaboration for students. Supports longer or more complex projects.", + "edit": "Edit", + "edit_comment_error_message": "There was an error editing your comment. Please try again in a few moments.", + "edit_comment_error_title": "Edit Comment Error", + "edit_dictionary": "Edit Dictionary", + "edit_dictionary_empty": "Your custom dictionary is empty.", + "edit_dictionary_remove": "Remove from dictionary", + "edit_figure": "Edit figure", + "edit_sso_configuration": "Edit SSO Configuration", + "edit_tag": "Edit Tag", + "editing": "Editing", + "editing_and_collaboration": "Editing and collaboration", + "editing_captions": "Editing captions", + "editor": "Editor", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", + "editor_limit_exceeded_in_this_project": "Too many editors in this project", + "editor_only_hide_pdf": "Editor only <0>(hide PDF)", + "editor_theme": "Editor theme", + "educational_discount_applied": "40% educational discount applied!", + "educational_discount_available_for_groups_of_ten_or_more": "The educational discount is available for groups of 10 or more", + "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using HajTeX for teaching)", + "educational_discount_for_groups_of_ten_or_more": "HajTeX offers a 40% educational discount for groups of 10 or more.", + "educational_discount_for_groups_of_x_or_more": "The educational discount is available for groups of __size__ or more", + "educational_percent_discount_applied": "__percent__% educational discount applied!", + "email": "Email", + "email_address": "Email address", + "email_address_is_invalid": "Email address is invalid", + "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", + "email_already_registered": "This email is already registered", + "email_already_registered_secondary": "This email is already registered as a secondary email", + "email_already_registered_sso": "This email is already registered. Please log in to your account another way and link your account to the new provider via your account settings.", + "email_confirmed_onboarding": "Great! Let’s get you set up", + "email_confirmed_onboarding_message": "Your email address is confirmed. Click <0>Continue to finish your setup.", + "email_does_not_belong_to_university": "We don’t recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", + "email_limit_reached": "You can have a maximum of <0>__emailAddressLimit__ email addresses on this account. To add another email address, please delete an existing one.", + "email_link_expired": "Email link expired, please request a new one.", + "email_must_be_linked_to_institution": "As a member of __institutionName__, this email address can only be added via single sign-on on your <0>account settings page. Please add a different recovery email address.", + "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again.", + "email_or_password_wrong_try_again_or_reset": "Your email or password is incorrect. Please try again, or <0>set or reset your password.", + "email_required": "Email required", + "email_sent": "Email Sent", + "emails": "Emails", + "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", + "emails_and_affiliations_title": "Emails and Affiliations", + "empty": "Empty", + "empty_zip_file": "Zip doesn’t contain any file", + "en": "English", + "enable_managed_users": "Enable Managed Users", + "enable_single_sign_on": "Enable single sign-on", + "enable_sso": "Enable SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "Enable <0>“Stop on first error” under the <1>Recompile drop-down menu to help you find and fix errors right away.", + "enabled": "Enabled", + "enabling": "Enabling", + "end_of_document": "End of document", + "enter_6_digit_code": "Enter 6-digit code", + "enter_any_size_including_units_or_valid_latex_command": "Enter any size (including units) or valid LaTeX command", + "enter_image_url": "Enter image URL", + "enter_the_confirmation_code": "Enter the 6-digit confirmation code sent to __email__.", + "enter_your_email_address": "Enter your email address", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Enter your email address below, and we will send you a link to reset your password", + "enter_your_new_password": "Enter your new password", + "equation_preview": "Equation preview", + "error": "Error", + "error_opening_document": "Error opening document", + "error_opening_document_detail": "Sorry, something went wrong opening this document. Please try again.", + "error_performing_request": "An error has occurred while performing your request.", + "error_processing_file": "Sorry, something went wrong processing this file. Please try again.", + "error_submitting_comment": "Error submitting comment", + "es": "Spanish", + "estimated_number_of_overleaf_users": "Estimated number of __appName__ users", + "every": "per", + "everything_in_free_plus": "Everything in Free, plus…", + "everything_in_group_professional_plus": "Everything in Group Professional, plus…", + "everything_in_group_standard_plus": "Everything in Group Standard, plus…", + "everything_in_standard_plus": "Everything in Standard, plus…", + "example": "Example", + "example_project": "Example Project", + "examples": "Examples", + "examples_to_help_you_learn": "Examples to help you learn how to use powerful LaTeX packages and techniques.", + "exclusive_access_with_labs": "Exclusive access to early-stage experiments", + "existing_plan_active_until_term_end": "Your existing plan and its features will remain active until the end of the current billing period.", + "expand": "Expand", + "experiment_full": "Sorry, this experiment is full", + "expired": "Expired", + "expired_confirmation_code": "Your confirmation code has expired. Click <0>Resend confirmation code to get a new one.", + "expires": "Expires", + "expires_in_days": "Expires in __days__ days", + "expires_on": "Expires: __date__", + "expiry": "Expiry Date", + "explore_all_plans": "Explore all plans", + "export_csv": "Export CSV", + "export_project_to_github": "Export Project to GitHub", + "failed_to_send_group_invite_to_email": "Failed to send Group invite to <0>__email__. Please try again later.", + "failed_to_send_managed_user_invite_to_email": "Failed to send Managed User invite to <0>__email__. Please try again later.", + "failed_to_send_sso_link_invite_to_email": "Failed to send SSO invite reminder to <0>__email__. Please try again later.", + "faq_change_plans_or_cancel_answer": "Yes, you can do this at any time via your subscription settings. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When cancelling, your subscription will continue until the end of the billing period. If your account temporarily does not have a subscription, the only change will be to the features available to you. Your projects will always be available on your account.", + "faq_change_plans_or_cancel_question": "Can I change plans or cancel later?", + "faq_do_collab_need_on_paid_plan_answer": "No, they can be on any plan, including the free plan. If you are on a premium plan, some premium features will be available to your collaborators in projects that you have created, even if those collaborators are on the free plan. For more information, read about <0>account and subscriptions and <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Do my collaborators also need to be on a paid plan?", + "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one HajTeX account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", + "faq_how_does_a_group_plan_work_question": "How does a group plan work? How can I add people to the plan?", + "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", + "faq_how_free_trial_works_answer_v2": "You get full access to your chosen premium plan during your __len__ day free trial, and there is no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to your subscription settings in your account (the trial will continue for the full __len__ days).", + "faq_how_free_trial_works_question": "How does the free trial work?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In HajTeX, every user creates and manages their own HajTeX account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same HajTeX account.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in HajTeX.", + "faq_i_have_free_account_want_subscription_how_question": "I have a free account and want to join a subscription, how do I do that?", + "faq_pay_by_invoice_answer_v2": "Yes, if you’d like to purchase a group subscription for five or more people, or a site license. For individual subscriptions we can only accept payment online via credit card, debit card or PayPal.", + "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "No. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 collaborators to each project owned by you.", + "faq_the_individual_standard_plan_10_collab_question": "The individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "While working on a project that you, as a subscriber, share with them, your collaborators will be able to access some premium features such as the full document history and extended compile time for that particular project. Inviting them to a particular project does not upgrade their accounts overall, however. Read more about <0>which features are per project, and which are per account.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In HajTeX, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other HajTeX users that you are working with on one of your projects.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "What’s the difference between users and collaborators?", + "fast": "Fast", + "fastest": "Fastest", + "feature_included": "Feature included", + "feature_not_included": "Feature not included", + "featured": "Featured", + "featured_latex_templates": "Featured LaTeX Templates", + "features": "Features", + "features_and_benefits": "Features & Benefits", + "february": "February", + "file_action_created": "Created", + "file_action_deleted": "Deleted", + "file_action_edited": "Edited", + "file_action_renamed": "Renamed", + "file_action_restored": "Restored __fileName__ from: __date__", + "file_action_restored_project": "Restored project from __date__", + "file_already_exists": "A file or folder with this name already exists", + "file_already_exists_in_this_location": "An item named <0>__fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", + "file_name": "File Name", + "file_name_figure_modal": "File name", + "file_name_in_this_project": "File Name In This Project", + "file_name_in_this_project_figure_modal": "File name in this project", + "file_or_folder_name_already_exists": "A file or folder with this name already exists", + "file_outline": "File outline", + "file_size": "File size", + "file_too_large": "File too large", + "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", + "files_selected": "files selected.", + "fill_in_our_quick_survey": "Fill in our quick survey.", + "filter_projects": "Filter projects", + "filters": "Filters", + "find_out_more": "Find out More", + "find_out_more_about_institution_login": "Find out more about institutional login", + "find_out_more_about_the_file_outline": "Find out more about the file outline", + "find_out_more_nt": "Find out more.", + "finding_a_fix": "Finding a fix", + "first_name": "First Name", + "fit_to_height": "Fit to height", + "fit_to_width": "Fit to width", + "fixed_width": "Fixed width", + "fixed_width_wrap_text": "Fixed width, wrap text", + "flexible_plans_for_everyone": "Flexible plans for everyone—from individual students and researchers, to large businesses and universities.", + "fold_line": "Fold line", + "folder_location": "Folder location", + "folders": "Folders", + "following_paths_conflict": "The following files and folders conflict with the same path", + "font_family": "Font Family", + "font_size": "Font Size", + "footer_about_us": "About us", + "footer_contact_us": "Contact us", + "footer_navigation": "Footer navigation", + "footer_plans_and_pricing": "Plans & pricing", + "for_business": "For business", + "for_enterprise": "For enterprise", + "for_government": "For government", + "for_groups_or_site_wide": "For groups or site-wide", + "for_individuals_and_groups": "For individuals & groups", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "For large institutions and organizations that need site-wide access or an on-premises solution.", + "for_more_information_see_managed_accounts_section": "For more information, see the \"Managed Accounts\" section in <0>our terms of use, which you agree to by clicking Accept invitation.", + "for_publishers": "For publishers", + "for_small_teams_and_departments_who_want_to_write_collaborate": "For small teams and departments who want to write and collaborate easily in LaTeX.", + "for_students": "For students", + "for_students_only": "For students only", + "for_teaching": "For teaching", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "For teams and organizations who want a streamlined sign-on process and our strongest cloud security.", + "for_universities": "For universities", + "forever": "forever", + "forgot_your_password": "Forgot your password", + "format": "Format", + "found_matching_deleted_users": "Found __deletedUserCount__ matching deleted users", + "four_minutes": "4 minutes", + "fr": "French", + "free": "Free", + "free_7_day_trial_billed_annually": "Free 7-day trial, then billed annually", + "free_7_day_trial_billed_monthly": "Free 7-day trial, then billed monthly", + "free_dropbox_and_history": "Free Dropbox and History", + "free_plan_label": "You’re on the free plan", + "free_plan_tooltip": "Click to find out how you could benefit from HajTeX premium features.", + "frequently_asked_questions": "frequently asked questions", + "from_another_project": "From another project", + "from_enforcement_date": "From __enforcementDate__ any additional editors on this project will be made viewers.", + "from_external_url": "From external URL", + "from_filename": "From <0>__filename__", + "from_github": "From GitHub", + "from_project_files": "From project files", + "from_provider": "From __provider__", + "from_url": "From URL", + "full_doc_history": "Full document history", + "full_doc_history_info_v2": "You can see all the edits in your project and who made every change. Add labels to quickly access specific versions.", + "full_document_history": "Full document <0>history", + "full_project_search": "Full Project Search", + "full_width": "Full width", + "gallery": "Gallery", + "gallery_find_more": "Find More __itemPlural__", + "gallery_items_tagged": "__itemPlural__ tagged __title__", + "gallery_page_items": "Gallery Items", + "gallery_page_summary": "A gallery of up-to-date and stylish LaTeX templates, examples to help you learn LaTeX, and papers and presentations published by our community. Search or browse below.", + "gallery_page_title": "Gallery - Templates, Examples and Articles written in LaTeX", + "gallery_show_all": "Show all __itemPlural__", + "generate_token": "Generate token", + "generic_if_problem_continues_contact_us": "If the problem continues please contact us", + "generic_linked_file_compile_error": "This project’s output files are not available because it failed to compile. Please open the project to see the compilation error details.", + "generic_something_went_wrong": "Sorry, something went wrong", + "get_advanced_reference_search": "Get advanced reference search", + "get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline", + "get_discounted_plan": "Get discounted plan", + "get_dropbox_sync": "Get Dropbox Sync", + "get_early_access_to_ai": "Get early access to the new AI Error Assistant in HajTeX Labs", + "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join HajTeX Labs. All we ask in return is your honest feedback to help us develop and improve.", + "get_full_project_history": "Get full project history", + "get_git_integration": "Get Git integration", + "get_github_sync": "Get GitHub Sync", + "get_in_touch": "Get in touch", + "get_in_touch_having_problems": "Get in touch with support if you’re having problems", + "get_involved": "Get involved", + "get_more_compile_time": "Get more compile time", + "get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features.", + "get_some_texnical_assistance": "Get some TeXnical assistance from AI to fix errors in your project.", + "get_symbol_palette": "Get Symbol Palette", + "get_the_best_overleaf_experience": "Get the best HajTeX experience", + "get_the_best_writing_experience": "Get the best writing experience", + "get_the_most_out_headline": "Get the most out of __appName__ with features such as:", + "get_track_changes": "Get track changes", + "git": "Git", + "git_authentication_token": "Git authentication token", + "git_authentication_token_create_modal_info_1": "This is your Git authentication token. You should enter this when prompted for a password.", + "git_authentication_token_create_modal_info_2": "<0>You will only see this authentication token once so please copy it and keep it safe. For full instructions on using authentication tokens, visit our <1>help page.", + "git_bridge_modal_click_generate": "Click Generate token to generate your authentication token now. Or do this later in your Account Settings.", + "git_bridge_modal_enter_authentication_token": "When prompted for a password, enter your new authentication token:", + "git_bridge_modal_git_authentication_tokens": "Git authentication tokens", + "git_bridge_modal_git_clone_your_project": "Git clone your project by using the link below and a Git authentication token", + "git_bridge_modal_learn_more_about_authentication_tokens": "Learn more about Git integration authentication tokens.", + "git_bridge_modal_read_only": "You have read-only access to this project. This means you can pull from __appName__ but you can’t push any changes you make back to this project.", + "git_bridge_modal_see_once": "You’ll only see this token once. To delete it or generate a new one, visit Account Settings. For detailed instructions and troubleshooting, read our <0>help page.", + "git_bridge_modal_use_previous_token": "If you’re prompted for a password, you can use a previously generated Git authentication token. Or you can generate a new one in Account Settings. For more support, read our <0>help page.", + "git_bridge_modal_you_can_also_git_clone": "You can also git clone your project by using the link below and a Git authentication token.", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git, GitHub, Dropbox, Mendeley, and Zotero integrations", + "git_integration": "Git Integration", + "git_integration_info": "With Git integration, you can clone your HajTeX projects with Git. For full instructions on how to do this, read <0>our help page.", + "git_integration_lowercase": "Git integration", + "git_integration_lowercase_info": "You can clone your HajTeX project to a local repository, treating your HajTeX project as a remote repository that changes can be pushed to and pulled from.", + "github": "GitHub", + "github_commit_message_placeholder": "Commit message for changes made in __appName__...", + "github_credentials_expired": "Your GitHub authorization credentials have expired", + "github_empty_repository_error": "It looks like your GitHub repository is empty or not yet available. Create a new file on GitHub.com then try again.", + "github_file_name_error": "This repository cannot be imported, because it contains file(s) with an invalid filename:", + "github_file_sync_error": "We are unable to sync the following files:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git and <0>Dropbox integrations", + "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The HajTeX GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", + "github_integration_lowercase": "Git and GitHub integration", + "github_is_no_longer_connected": "GitHub is no longer connected to this project.", + "github_is_premium": "GitHub Sync is a premium feature", + "github_large_files_error": "Merge failed: your GitHub repository contains files over the 50mb file size limit ", + "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the <0>__sharelatex_branch__ branch into the default branch in git. Click below to continue, after you have manually merged.", + "github_no_master_branch_error": "This repository cannot be imported as it is missing a default branch. Please make sure the project has a default branch", + "github_only_integration_lowercase": "GitHub integration", + "github_only_integration_lowercase_info": "Link your HajTeX projects directly to a GitHub repository that acts as a remote repository for your HajTeX project. This allows you to share with collaborators outside of HajTeX, and integrate HajTeX into more complex workflows.", + "github_private_description": "You choose who can see and commit to this repository.", + "github_public_description": "Anyone can see this repository. You choose who can commit.", + "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause HajTeX and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", + "github_successfully_linked_description": "Thanks, we’ve successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", + "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by HajTeX. Please remove these and try again.", + "github_sync": "GitHub Sync", + "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories, create new commits from __appName__, and merge commits from GitHub.", + "github_sync_error": "Sorry, there was a problem checking our GitHub service. Please try again in a few moments.", + "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the ‘GitHub’ menu item. You can also unlink the repository from this project.", + "github_timeout_error": "Syncing your HajTeX project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", + "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", + "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", + "github_workflow_authorize": "Authorize GitHub Workflow files", + "github_workflow_files_delete_github_repo": "The repository has been created on GitHub but linking was unsuccessful. You will have to delete GitHub repository or choose a new name.", + "github_workflow_files_error": "The __appName__ GitHub sync service couldn’t sync GitHub Workflow files (in .github/workflows/). Please authorize __appName__ to edit your GitHub workflow files and try again.", + "give_feedback": "Give feedback", + "give_your_feedback": "give your feedback", + "global": "global", + "go_back_and_link_accts": "Go back and link your accounts", + "go_next_page": "Go to Next Page", + "go_page": "Go to page __page__", + "go_prev_page": "Go to Previous Page", + "go_to_account_settings": "Go to Account Settings", + "go_to_code_location_in_pdf": "Go to code location in PDF", + "go_to_first_page": "Go to first page", + "go_to_last_page": "Go to last page", + "go_to_next_page": "Go to next page", + "go_to_overleaf": "Go to HajTeX", + "go_to_page_x": "Go to page __page__", + "go_to_pdf_location_in_code": "Go to PDF location in code (Tip: double click on the PDF for best results)", + "go_to_previous_page": "Go to previous page", + "go_to_settings": "Go to settings", + "great_for_getting_started": "Great for getting started", + "great_for_small_teams_and_departments": "Great for small teams and departments", + "group": "Group", + "group_admin": "Group admin", + "group_admins_get_access_to": "Group admins get access to", + "group_admins_get_access_to_info": "Special features available only on group plans.", + "group_full": "This group is already full", + "group_invitations": "Group Invitations", + "group_invite_has_been_sent_to_email": "Group invite has been sent to <0>__email__", + "group_libraries": "Group Libraries", + "group_managed_by_group_administrator": "User accounts in this group are managed by the group administrator.", + "group_members_and_collaborators_get_access_to": "Group members and their project collaborators get access to", + "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other HajTeX users invited to projects owned by a group member).", + "group_members_get_access_to": "Group members get access to", + "group_members_get_access_to_info": "These features are available only to group members (subscribers).", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your HajTeX premium features.", + "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your HajTeX premium features.", + "group_plans": "Group Plans", + "group_professional": "Group Professional", + "group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata. You can add this manually or click <1>Import IdP metadata to import an XML file.", + "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure HajTeX as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the HajTeX metadata.", + "group_sso_documentation_links": "Please see our <0>documentation and <1>troubleshooting guide for more help.", + "group_standard": "Group Standard", + "group_subscription": "Group Subscription", + "groups": "Groups", + "have_an_extra_backup": "Have an extra backup", + "have_more_days_to_try": "Have another __days__ days on your Trial!", + "headers": "Headers", + "help": "Help", + "help_articles_matching": "Help articles matching your subject", + "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve HajTeX, please take a moment to fill out <0>this survey.", + "help_improve_screen_reader_fill_out_this_survey": "Help us improve your experience using a screen reader with __appName__ by filling out this quick survey.", + "hide_configuration": "Hide configuration", + "hide_deleted_user": "Hide deleted users", + "hide_document_preamble": "Hide document preamble", + "hide_local_file_contents": "Hide Local File Contents", + "hide_outline": "Hide File outline", + "history": "History", + "history_add_label": "Add label", + "history_adding_label": "Adding label", + "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", + "history_compare_from_this_version": "Compare from this version", + "history_compare_up_to_this_version": "Compare up to this version", + "history_delete_label": "Delete label", + "history_deleting_label": "Deleting label", + "history_download_this_version": "Download this version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Created by", + "history_label_project_current_state": "Current state", + "history_label_this_version": "Label this version", + "history_new_label_name": "New label name", + "history_restore_promo_content": "Now you can restore a single file or your whole project to a previous version, including comments and tracked changes. Click Restore this version to restore the selected file or use the <0> menu in the history entry to restore the full project.", + "history_restore_promo_title": "Need to turn back time?", + "history_resync": "History resync", + "history_view_a11y_description": "Show all of the project history or only labelled versions.", + "history_view_all": "All history", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Hit Enter to reply", + "home": "Home", + "hotkey_add_a_comment": "Add a comment", + "hotkey_autocomplete_menu": "Autocomplete Menu", + "hotkey_beginning_of_document": "Beginning of document", + "hotkey_bold_text": "Bold text", + "hotkey_compile": "Compile", + "hotkey_delete_current_line": "Delete Current Line", + "hotkey_end_of_document": "End of document", + "hotkey_find_and_replace": "Find (and replace)", + "hotkey_go_to_line": "Go To Line", + "hotkey_indent_selection": "Indent Selection", + "hotkey_insert_candidate": "Insert Candidate", + "hotkey_italic_text": "Italic Text", + "hotkey_redo": "Redo", + "hotkey_search_references": "Search References", + "hotkey_select_all": "Select All", + "hotkey_select_candidate": "Select Candidate", + "hotkey_to_lowercase": "To Lowercase", + "hotkey_to_uppercase": "To Uppercase", + "hotkey_toggle_comment": "Toggle Comment", + "hotkey_toggle_review_panel": "Toggle review panel", + "hotkey_toggle_track_changes": "Toggle track changes", + "hotkey_undo": "Undo", + "hotkeys": "Hotkeys", + "how_it_works": "How it works", + "how_many_users_do_you_need": "How many users do you need?", + "how_to_create_tables": "How to create tables", + "how_to_insert_images": "How to insert images", + "how_we_use_your_data": "How we use your data", + "how_we_use_your_data_explanation": "<0>Please help us continue to improve HajTeX by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your HajTeX experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", + "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "i_want_to_stay": "I want to stay", + "id": "ID", + "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", + "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", + "if_you_need_to_customize_your_table_further_you_can": "If you need to customize your table further, you can. Using LaTeX code, you can change anything from table styles and border styles to colors and column widths. <0>Read our guide to using tables in LaTeX to help you get started.", + "if_your_occupation_not_listed_type_full_name": "If your __occupation__ isn’t listed, you can type the full name.", + "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", + "ignore_validation_errors": "Don’t check syntax", + "ill_take_it": "I’ll take it!", + "image_file": "Image file", + "image_url": "Image URL", + "image_width": "Image width", + "import_a_bibtex_file_from_your_provider_account": "Import a BibTeX file from your __provider__ account", + "import_from_github": "Import from GitHub", + "import_idp_metadata": "Import IdP metadata", + "import_to_sharelatex": "Import to __appName__", + "imported_from_another_project_at_date": "Imported from <0>Another project/__sourceEntityPathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Imported from <0>__shortenedUrlHTML__ at __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Imported from Mendeley at __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Imported from the output of <0>Another project: __sourceOutputFilePathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Imported from Zotero at __formattedDate__ __relativeDate__", + "importing": "Importing", + "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", + "in_good_company": "You’re In Good Company", + "in_order_to_have_a_secure_account_make_sure_your_password": "To help keep your account secure, make sure your new password:", + "in_order_to_match_institutional_metadata_2": "In order to match your institutional metadata, we’ve linked your account using <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", + "include_caption": "Include caption", + "include_label": "Include label", + "include_results_from_your_reference_manager": "Include results from your reference manager", + "include_results_from_your_x_account": "Include results from your __provider__ account", + "include_the_error_message_and_ai_response": "Include the error message and AI response", + "increased_compile_timeout": "Increased compile timeout", + "individuals": "Individuals", + "indvidual_plans": "Individual Plans", + "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", + "inr_discount_modal_title": "70% off all HajTeX premium plans for users in India", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 70% discount to premium plans for our users in India. Check out the new lower prices below.", + "insert": "Insert", + "insert_column_left": "Insert column left", + "insert_column_right": "Insert column right", + "insert_figure": "Insert figure", + "insert_from_another_project": "Insert from another project", + "insert_from_project_files": "Insert from project files", + "insert_from_url": "Insert from URL", + "insert_image": "Insert image", + "insert_row_above": "Insert row above", + "insert_row_below": "Insert row below", + "insert_x_columns_left": "Insert __columns__ columns left", + "insert_x_columns_right": "Insert __columns__ columns right", + "insert_x_rows_above": "Insert __rows__ rows above", + "insert_x_rows_below": "Insert __rows__ rows below", + "institution": "Institution", + "institution_account": "Institution Account", + "institution_account_tried_to_add_affiliated_with_another_institution": "This email is already associated with your account but affiliated with another institution.", + "institution_account_tried_to_add_already_linked": "This institution is already linked with your account via another email address.", + "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", + "institution_account_tried_to_add_not_affiliated": "This email is already associated with your account but not affiliated with this institution.", + "institution_account_tried_to_confirm_saml": "This email cannot be confirmed. Please remove the email from your account and try adding it again.", + "institution_acct_successfully_linked_2": "Your <0>__appName__ account was successfully linked to your <0>__institutionName__ institutional account.", + "institution_and_role": "Institution and role", + "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", + "institution_has_overleaf_subscription": "<0>__institutionName__ has an HajTeX subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>HajTeX Professional.", + "institution_templates": "Institution Templates", + "institutional": "Institutional", + "institutional_leavers_survey_notification": "Provide some quick feedback to receive a 25% discount on an annual subscription!", + "institutional_login_not_supported": "Your institution doesn’t support institutional login yet, but you can still register with your institutional email.", + "institutional_login_unknown": "Sorry, we don’t know which institution issued that email address. You can browse our list of institutions to find yours, or you can use one of the other options below.", + "integrations": "Integrations", + "interested_in_cheaper_personal_plan": "Would you be interested in the cheaper <0>__price__ Personal plan?", + "invalid_certificate": "Invalid certificate. Please check the certificate and try again.", + "invalid_confirmation_code": "That didn’t work. Please check the code and try again.", + "invalid_email": "An email address is invalid", + "invalid_file_name": "Invalid File Name", + "invalid_filename": "Upload failed: check that the file name doesn’t contain special characters, trailing/leading whitespace or more than __nameLimit__ characters", + "invalid_institutional_email": "Your institution’s SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution’s domain. Please contact your IT department if you have any questions.", + "invalid_password": "Invalid Password", + "invalid_password_contains_email": "Password cannot contain parts of email address", + "invalid_password_invalid_character": "Password contains an invalid character", + "invalid_password_not_set": "Password is required", + "invalid_password_too_long": "Maximum password length __maxLength__ exceeded", + "invalid_password_too_short": "Password too short, minimum __minLength__", + "invalid_password_too_similar": "Password is too similar to parts of email address", + "invalid_request": "Invalid Request. Please correct the data and try again.", + "invalid_zip_file": "Invalid zip file", + "invite": "Invite", + "invite_expired": "The invite may have expired", + "invite_more_collabs": "Invite more collaborators", + "invite_not_accepted": "Invite not yet accepted", + "invite_not_valid": "This is not a valid project invite", + "invite_not_valid_description": "The invite may have expired. Please contact the project owner", + "invite_resend_limit_hit": "The invite resend limit hit", + "invited_to_group": "<0>__inviterName__ has invited you to join a group subscription on __appName__", + "invited_to_group_have_individual_subcription": "__inviterName__ has invited you to join a group __appName__ subscription. If you join this group, you may not need your individual subscription. Would you like to cancel it?", + "invited_to_group_login": "To accept this invitation you need to log in as __emailAddress__.", + "invited_to_group_login_benefits": "As part of this group, you’ll have access to __appName__ premium features such as additional collaborators, greater maximum compile time, and real-time track changes.", + "invited_to_group_register": "To accept __inviterName__’s invitation you’ll need to create an account.", + "invited_to_group_register_benefits": "__appName__ is a collaborative online LaTeX editor, with thousands of ready-to-use templates and an array of LaTeX learning resources to help you get started.", + "invited_to_join": "You have been invited to join", + "ip_address": "IP Address", + "is_email_affiliated": "Is your email affiliated with an institution? ", + "is_longer_than_n_characters": "is at least __n__ characters long", + "is_not_used_on_any_other_website": "is not used on any other website", + "issued_on": "Issued: __date__", + "it": "Italian", + "ja": "Japanese", + "january": "January", + "join_beta_program": "Join beta program", + "join_labs": "Join Labs", + "join_now": "Join now", + "join_overleaf_labs": "Join HajTeX Labs", + "join_project": "Join Project", + "join_sl_to_view_project": "Join __appName__ to view this project", + "join_team_explanation": "Please click the button below to join the group subscription and enjoy the benefits of an upgraded __appName__ account", + "joined_team": "You have joined the group subscription managed by __inviterName__", + "joining": "Joining", + "july": "July", + "june": "June", + "justify": "Justify", + "kb_suggestions_enquiry": "Have you checked our <0>__kbLink__?", + "keep_current_plan": "Keep my current plan", + "keep_personal_projects_separate": "Keep personal projects separate", + "keep_your_account_safe": "Keep your account safe", + "keep_your_account_safe_add_another_email": "Keep your account safe and make sure you don’t lose access to it by adding another email address.", + "keep_your_email_updated": "Keep your email updated so that you don’t lose access to your account and data.", + "keybindings": "Keybindings", + "knowledge_base": "knowledge base", + "ko": "Korean", + "labels_help_you_to_easily_reference_your_figures": "Labels help you to easily reference your figures throughout your document. To reference a figure within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference figures without needing to manually remember the figure numbering. <1>Learn more", + "labels_help_you_to_reference_your_tables": "Labels help you to reference your tables throughout your document easily. To reference a table within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference tables without manually remembering the table numbering. <1>Read about labels and cross-references.", + "labs_program_benefits": "By signing up for HajTeX Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", + "language": "Language", + "language_feedback": "Language Feedback", + "large_or_high-resolution_images_taking_too_long": "Large or high-resolution images taking too long to process. You may be able to <0>optimize them.", + "last_active": "Last Active", + "last_active_description": "Last time a project was opened.", + "last_edit": "Last edit", + "last_logged_in": "Last logged in", + "last_modified": "Last Modified", + "last_name": "Last Name", + "last_resort_trouble_shooting_guide": "If that doesn’t help, follow our <0>troubleshooting guide.", + "last_suggested_fix": "Last suggested fix", + "last_updated": "Last Updated", + "last_updated_date_by_x": "__lastUpdatedDate__ by __person__", + "last_used": "last used", + "latam_discount_modal_info": "Unlock the full potential of HajTeX with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", + "latam_discount_modal_title": "Premium subscription discount", + "latam_discount_offer_plans_page_banner": "__flag__ We’ve applied a __discount__ discount to premium plans on this page for our users in __country__. Check out the new lower prices (in __currency__).", + "latex_articles_page_summary": "Papers, presentations, reports and more, written in LaTeX and published by our community. Search or browse below.", + "latex_articles_page_title": "Articles - Papers, Presentations, Reports and more", + "latex_examples": "LaTeX examples", + "latex_examples_page_summary": "Examples of powerful LaTeX packages and techniques in use — a great way to learn LaTeX by example. Search or browse below.", + "latex_examples_page_title": "Examples - Equations, Formatting, TikZ, Packages and More", + "latex_in_thirty_minutes": "LaTeX in 30 minutes", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX places figures according to a special algorithm. You can use something called ‘placement parameters’ to influence the positioning of the figure. <0>Find out how", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX places tables according to a special algorithm. You can use “placement parameters” to influence the position of the table. <0>This article explains how to do this.", + "latex_templates": "LaTeX Templates", + "latex_templates_and_examples": "LaTeX templates and examples", + "latex_templates_for_journal_articles": "LaTeX templates for journal articles, academic papers, CVs and résumés, presentations, and more.", + "layout": "Layout", + "layout_processing": "Layout processing", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", + "learn": "Learn", + "learn_more": "Learn more", + "learn_more_about_account": "<0>Learn more about managing your __appName__ account.", + "learn_more_about_emails": "<0>Learn more about managing your __appName__ emails.", + "learn_more_about_link_sharing": "Learn more about Link Sharing", + "learn_more_about_managed_users": "Learn more about Managed Users.", + "learn_more_about_other_causes_of_compile_timeouts": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "learn_more_lowercase": "learn more", + "leave": "Leave", + "leave_any_group_subscriptions": "Leave any group subscriptions other than the one that will be managing your account. <0>Leave them from the Subscription page.", + "leave_group": "Leave group", + "leave_labs": "Leave HajTeX Labs", + "leave_now": "Leave now", + "leave_project": "Leave Project", + "leave_projects": "Leave Projects", + "left": "Left", + "length_unit": "Length unit", + "let_us_know": "Let us know", + "let_us_know_how_we_can_help": "Let us know how we can help", + "let_us_know_what_you_think": "Let us know what you think", + "lets_fix_your_errors": "Let’s fix your errors", + "library": "Library", + "license": "License", + "license_for_educational_purposes": "This license is for educational purposes (applies to students or faculty using __appName__ for teaching)", + "limited_offer": "Limited offer", + "limited_to_n_editors": "Limited to __count__ editor", + "limited_to_n_editors_per_project": "Limited to __count__ editor per project", + "limited_to_n_editors_per_project_plural": "Limited to __count__ editors per project", + "limited_to_n_editors_plural": "Limited to __count__ editors", + "line_height": "Line Height", + "line_width_is_the_width_of_the_line_in_the_current_environment": "Line width is the width of the line in the current environment. e.g. a full page width in single-column layout or half a page width in a two-column layout.", + "link": "Link", + "link_account": "Link Account", + "link_accounts": "Link Accounts", + "link_accounts_and_add_email": "Link Accounts and Add Email", + "link_institutional_email_get_started": "Link an institutional email address to your account to get started.", + "link_sharing": "Link sharing", + "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", + "link_sharing_is_off_short": "Link sharing is off", + "link_sharing_is_on": "Link sharing is on", + "link_to_github": "Link to your GitHub account", + "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", + "link_to_mendeley": "Link to Mendeley", + "link_to_zotero": "Link to Zotero", + "link_your_accounts": "Link your accounts", + "linked_accounts": "linked accounts", + "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below.", + "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", + "linked_file": "Imported file", + "links": "Links", + "loading": "Loading", + "loading_content": "Creating Project", + "loading_github_repositories": "Loading your GitHub repositories", + "loading_prices": "loading prices", + "loading_recent_github_commits": "Loading recent commits", + "loading_writefull": "Loading Writefull", + "log_entry_description": "Log entry with level: __level__", + "log_entry_maximum_entries": "Maximum log entries limit hit", + "log_entry_maximum_entries_enable_stop_on_first_error": "Try to fix the first error and recompile. Often one error causes many later error messages. You can <0>Enable “Stop on first error” to focus on fixing errors. We recommend fixing errors as soon as possible; letting them accumulate may lead to hard-to-debug and fatal errors. <1>Learn more", + "log_entry_maximum_entries_see_full_logs": "If you need to see the full logs, you can still download them or view the raw logs below.", + "log_entry_maximum_entries_title": "__total__ log messages total. Showing the first __displayed__", + "log_hint_extra_info": "Learn more", + "log_in": "Log in", + "log_in_and_link": "Log in and link", + "log_in_and_link_accounts": "Log in and link accounts", + "log_in_first_to_proceed": "You will need to log in first to proceed.", + "log_in_now": "Log in now", + "log_in_with": "Log in with __provider__", + "log_in_with_a_different_account": "Log in with a different account", + "log_in_with_email": "Log in with __email__", + "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", + "log_in_with_primary_email_address": "This will be the email address to use if you log in with an email address and password. Important __appName__ notifications will be sent to this email address.", + "log_in_with_sso": "Log in with SSO", + "log_in_with_sso_email": "Work or university email address", + "log_out": "Log Out", + "log_out_from": "Log out from __email__", + "log_out_lowercase_dot": "Log out.", + "log_viewer_error": "There was a problem displaying this project’s compilation errors and logs.", + "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", + "logging_in": "Logging in", + "logging_in_or_managing_your_account": "Logging in or managing your account", + "login": "Login", + "login_count": "Login count", + "login_error": "Login error", + "login_failed": "Login failed", + "login_here": "Login here", + "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", + "login_to_overleaf": "Log in to HajTeX", + "login_oidc": "__provider__-Login", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", + "longer_compile_timeout_on_faster_servers": "Longer compile timeout on faster servers", + "looking_multiple_licenses": "Looking for multiple licenses?", + "looks_like_logged_in_with_email": "It looks like you’re already logged in to __appName__ with the email __email__.", + "looks_like_youre_at": "It looks like you’re at <0>__institutionName__.", + "lost_connection": "Lost Connection", + "main_bibliography_file_for_this_project": "Main bibliography file for this project", + "main_document": "Main document", + "main_file_not_found": "Unknown main document", + "main_navigation": "Main navigation", + "maintenance": "Maintenance", + "make_a_copy": "Make a copy", + "make_email_primary_description": "Make this the primary email, used to log in", + "make_owner": "Make owner", + "make_primary": "Make Primary", + "make_private": "Make Private", + "manage_beta_program_membership": "Manage Beta Program Membership", + "manage_files_from_your_dropbox_folder": "Manage files from your Dropbox folder", + "manage_group_managers": "Manage group managers", + "manage_group_members_subtext": "Add or remove members from your group subscription", + "manage_group_settings": "Manage group settings", + "manage_group_settings_subtext": "Configure and manage SSO and Managed Users", + "manage_group_settings_subtext_group_sso": "Configure and manage SSO", + "manage_group_settings_subtext_managed_users": "Turn on Managed Users", + "manage_institution_managers": "Manage institution managers", + "manage_managers_subtext": "Assign or remove manager privileges", + "manage_members": "Manage members", + "manage_newsletter": "Manage Your Newsletter Preferences", + "manage_publisher_managers": "Manage publisher managers", + "manage_sessions": "Manage Your Sessions", + "manage_subscription": "Manage Subscription", + "managed": "Managed", + "managed_user_accounts": "Managed user accounts", + "managed_user_invite_has_been_sent_to_email": "Managed User invite has been sent to <0>__email__", + "managed_users": "Managed Users", + "managed_users_accounts": "Managed user accounts", + "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of HajTeX. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", + "managed_users_explanation": "Managed Users ensures you stay in control of your organization’s projects and who owns them. <0>Read more about Managed Users.", + "managed_users_gives_gives_you_more_control_over_your_group": "Managed Users gives you more control over your group’s use of __appName__. It ensures tighter management of user access and deletion and allows you to keep control of your projects when someone leaves the group.", + "managed_users_is_enabled": "Managed Users is enabled", + "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of HajTeX in place of any previously agreed HajTeX terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", + "managers_cannot_remove_admin": "Admins cannot be removed", + "managers_cannot_remove_self": "Managers cannot remove themselves", + "managers_management": "Managers management", + "managing_your_subscription": "Managing your subscription", + "march": "March", + "mark_as_resolved": "Mark as resolved", + "marked_as_resolved": "Marked as resolved", + "math_display": "Math Display", + "math_inline": "Math Inline", + "max_collab_per_project": "Max. collaborators per project", + "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an HajTeX account. They can be different people in each project.", + "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", + "may": "May", + "maybe_later": "Maybe later", + "member_picker": "Select number of users for group plan", + "members_management": "Members management", + "mendeley": "Mendeley", + "mendeley_cta": "Get Mendeley integration", + "mendeley_groups_loading_error": "There was an error loading groups from Mendeley", + "mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "mendeley_integration": "Mendeley Integration", + "mendeley_integration_lowercase": "Mendeley integration", + "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "mendeley_is_premium": "Mendeley integration is a premium feature", + "mendeley_reference_loading_error": "Error, could not load references from Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", + "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", + "mendeley_sync_description": "With the Mendeley integration you can import your references from Mendeley into your __appName__ projects.", + "menu": "Menu", + "merge": "Merge", + "merge_cells": "Merge cells", + "merging": "Merging", + "message_received": "Message received", + "missing_field_for_entry": "Missing field for", + "missing_fields_for_entry": "Missing fields for", + "money_back_guarantee": "30-day money back guarantee, no questions asked", + "month": "month", + "monthly": "Monthly", + "more": "More", + "more_actions": "More actions", + "more_comments": "More comments", + "more_info": "More Info", + "more_lowercase": "more", + "more_options": "More options", + "more_options_for_border_settings_coming_soon": "More options for border settings coming soon.", + "more_project_collaborators": "<0>More project <0>collaborators", + "more_than_one_kind_of_snippet_was_requested": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "most_popular": "most popular", + "most_popular_uppercase": "Most popular", + "must_be_email_address": "Must be an email address", + "must_be_purchased_online": "Must be purchased online", + "my_library": "My Library", + "n_items": "__count__ item", + "n_items_plural": "__count__ items", + "n_matches": "__n__ matches", + "n_more_updates_above": "__count__ more update above", + "n_more_updates_above_plural": "__count__ more updates above", + "n_more_updates_below": "__count__ more update below", + "n_more_updates_below_plural": "__count__ more updates below", + "n_users": "__userCount__ users", + "name": "Name", + "name_usage_explanation": "Your name will be displayed to your collaborators (so they know who they’re working with).", + "native": "Native", + "navigate_log_source": "Navigate to log position in source code: __location__", + "navigation": "Navigation", + "nearly_activated": "You’re one step away from activating your __appName__ account!", + "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", + "need_contact_group_admin_to_make_changes": "You’ll need to contact your group admin if you want to make certain changes to your account. <0>Read more about managed users.", + "need_make_changes": "You need to make some changes", + "need_more_than_50_users": "Need more than 50 users?", + "need_more_than_to_licenses_get_in_touch": "Need more than 50 licenses? Please get in touch", + "need_more_than_x_licenses": "Need more than __x__ licenses?", + "need_to_add_new_primary_before_remove": "You’ll need to add a new primary email address before you can remove this one.", + "need_to_leave": "Need to leave?", + "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", + "new_compile_domain_notice": "We’ve recently migrated PDF downloads to a new domain. Something might be blocking your browser from accessing that new domain, <0>__compilesUserContentDomain__. This could be caused by network blocking or a strict browser plugin rule. Please follow our <1>troubleshooting guide.", + "new_file": "New file", + "new_folder": "New folder", + "new_name": "New Name", + "new_password": "New Password", + "new_project": "New Project", + "new_snippet_project": "Untitled", + "new_subscription_will_be_billed_immediately": "Your new subscription will be billed immediately to your current payment method.", + "new_tag": "New Tag", + "new_tag_name": "New tag name", + "newsletter": "Newsletter", + "newsletter_info_note": "Please note: you will still receive important emails, such as project invites and security notifications (password resets, account linking, etc).", + "newsletter_info_subscribed": "You are currently <0>subscribed to the __appName__ newsletter. If you would prefer not to receive this email then you can unsubscribe at any time.", + "newsletter_info_summary": "Every few months we send a newsletter out summarizing the new features available.", + "newsletter_info_title": "Newsletter Preferences", + "newsletter_info_unsubscribed": "You are currently <0>unsubscribed to the __appName__ newsletter.", + "newsletter_onboarding_accept": "I’d like emails about product offers and company news and events.", + "next": "Next", + "next_page": "Next page", + "next_payment_of_x_collectected_on_y": "The next payment of <0>__paymentAmmount__ will be collected on <1>__collectionDate__.", + "nl": "Dutch", + "no": "Norwegian", + "no_actions": "No actions", + "no_articles_matching_your_tags": "There are no articles matching your tags", + "no_borders": "No borders", + "no_caption": "No caption", + "no_comments": "No comments", + "no_comments_or_suggestions": "No comments or suggestions", + "no_existing_password": "Please use the password reset form to set your password", + "no_featured_templates": "No featured templates", + "no_folder": "No folder", + "no_groups_selected": "No groups selected", + "no_i_dont_need_these": "No, I don’t need these", + "no_image_files_found": "No image files found", + "no_members": "No members", + "no_messages": "No messages", + "no_new_commits_in_github": "No new commits in GitHub since last merge.", + "no_one_has_commented_or_left_any_suggestions_yet": "No one has commented or left any suggestions yet.", + "no_other_projects_found": "No other projects found, please create another project first", + "no_other_sessions": "No other sessions active", + "no_pdf_error_explanation": "This compile didn’t produce a PDF. This can happen if:", + "no_pdf_error_reason_no_content": "The document environment contains no content. If it’s empty, please add some content and compile again.", + "no_pdf_error_reason_output_pdf_already_exists": "This project contains a file called output.pdf. If that file exists, please rename it and compile again.", + "no_pdf_error_reason_unrecoverable_error": "There is an unrecoverable LaTeX error. If there are LaTeX errors shown below or in the raw logs, please try to fix them and compile again.", + "no_pdf_error_title": "No PDF", + "no_planned_maintenance": "There is currently no planned maintenance", + "no_preview_available": "Sorry, no preview is available.", + "no_projects": "No projects", + "no_resolved_comments": "No resolved comments", + "no_resolved_threads": "No resolved threads", + "no_search_results": "No Search Results", + "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", + "no_symbols_found": "No symbols found", + "no_thanks_cancel_now": "No thanks, I still want to cancel", + "no_update_email": "No, update email", + "normal": "Normal", + "normally_x_price_per_month": "Normally __price__ per month", + "normally_x_price_per_year": "Normally __price__ per year", + "not_found_error_from_the_supplied_url": "The link to open this content on HajTeX pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "not_managed": "Not managed", + "not_now": "Not now", + "not_registered": "Not registered", + "note_features_under_development": "<0>Please note that features in this program are still being tested and actively developed. This means that they might <0>change, be <0>removed or <0>become part of a premium plan", + "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to all of HajTeX’s Professional features.", + "notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription. To avoid paying more than you need to, <1>review your subscriptions.", + "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an HajTeX subscription, and you now have access to HajTeX’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", + "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", + "notification_project_invite_accepted_message": "You’ve joined __projectName__", + "notification_project_invite_message": "__userName__ would like you to join __projectName__", + "november": "November", + "number_collab": "Number of collaborators", + "number_collab_info": "The number of people you can invite to work on a project with you. The limit is per project, so you can invite different people to each project.", + "number_of_projects": "Number of projects", + "number_of_users": "Number of users", + "number_of_users_info": "The number of users that can upgrade their HajTeX account if you purchase this plan.", + "number_of_users_with_colon": "Number of users:", + "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", + "october": "October", + "off": "Off", + "official": "Official", + "ok": "OK", + "ok_continue_to_project": "OK, continue to project", + "ok_join_project": "OK, join project", + "on": "On", + "on_free_plan_upgrade_to_access_features": "You are on the __appName__ Free plan. Upgrade to access these <0>Premium Features", + "one_collaborator": "Only one collaborator", + "one_collaborator_per_project": "1 collaborator per project", + "one_free_collab": "One free collaborator", + "one_per_project": "1 per project", + "one_step_away_from_professional_features": "You are one step away from accessing <0>HajTeX Professional features!", + "one_user": "1 user", + "ongoing_experiments": "Ongoing experiments", + "online_latex_editor": "Online LaTeX Editor", + "only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:", + "only_group_admin_or_managers_can_delete_your_account_2": "Only your group admin or group managers will be able to delete your account.", + "only_group_admin_or_managers_can_delete_your_account_3": "Your group admin and group managers will be able to reassign ownership of your projects to another group member.", + "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed HajTeX accounts.", + "only_group_admin_or_managers_can_delete_your_account_5": "For more information, see the \"Managed Accounts\" section in our terms of use, which you agree to by clicking Accept invitation", + "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", + "open_a_file_on_the_left": "Open a file on the left", + "open_action_menu": "Open __name__ action menu", + "open_advanced_reference_search": "Open advanced reference search", + "open_as_template": "Open as Template", + "open_file": "Edit file", + "open_link": "Go to page", + "open_path": "Open __path__", + "open_project": "Open Project", + "open_survey": "Open survey", + "open_target": "Go to target", + "opted_out_linking": "You’ve opted out from linking your __email__ __appName__ account to your institutional account.", + "optional": "Optional", + "or": "or", + "organization": "Organization", + "organization_name": "Organization name", + "organization_or_company_name": "Organization or company name", + "organization_or_company_type": "Organization or company type", + "organize_projects": "Organize Projects", + "original_price": "Original price", + "other": "Other", + "other_actions": "Other Actions", + "other_logs_and_files": "Other logs and files", + "other_output_files": "Download other output files", + "other_sessions": "Other Sessions", + "other_ways_to_log_in": "Other ways to log in", + "our_values": "Our values", + "out_of_sync": "Out of sync", + "out_of_sync_detail": "Sorry, this file has gone out of sync and we need to do a full refresh.<0 /><1>Please see this help guide for more information", + "output_file": "Output file", + "over": "over", + "over_n_users_at_research_institutions_and_business": "Over __userCountMillion__ million users at research institutions and businesses worldwide love __appName__", + "overall_theme": "Overall theme", + "overleaf": "HajTeX", + "overleaf_group_plans": "HajTeX group plans", + "overleaf_history_system": "HajTeX History System", + "overleaf_individual_plans": "HajTeX individual plans", + "overleaf_labs": "HajTeX Labs", + "overleaf_plans_and_pricing": "HajTeX plans and pricing", + "overleaf_template_gallery": "HajTeX template gallery", + "overview": "Overview", + "overwrite": "Overwrite", + "overwriting_the_original_folder": "Overwriting the original folder will delete it and all the files it contains.", + "owned_by_x": "owned by __x__", + "owner": "Owner", + "page_current": "Page __page__, Current Page", + "page_not_found": "Page Not Found", + "pagination_navigation": "Pagination Navigation", + "papers_presentations_reports_and_more": "Papers, presentations, reports and more, written in LaTeX and published by our community.", + "partial_outline_warning": "The File outline is out of date. It will update itself as you edit the document", + "password": "Password", + "password_cant_be_the_same_as_current_one": "Password can’t be the same as current one", + "password_change_old_password_wrong": "Your old password is wrong", + "password_change_password_must_be_different": "The password you entered is the same as your current password. Please try a different password.", + "password_change_passwords_do_not_match": "Passwords do not match", + "password_change_successful": "Password changed", + "password_compromised_try_again_or_use_known_device_or_reset": "The password you’ve entered is on a <0>public list of compromised passwords. Please try logging in from a device you’ve previously used or <1>reset your password", + "password_managed_externally": "Password settings are managed externally", + "password_reset": "Password Reset", + "password_reset_email_sent": "You have been sent an email to complete your password reset.", + "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", + "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", + "password_updated": "Password updated", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "This password was detected on a <0>public list of known compromised passwords", + "paste_options": "Paste options", + "paste_with_formatting": "Paste with formatting", + "paste_without_formatting": "Paste without formatting", + "payment_method_accepted": "__paymentMethod__ accepted", + "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", + "payment_summary": "Payment summary", + "pdf_compile_in_progress_error": "A previous compile is still running. Please wait a minute and try compiling again.", + "pdf_compile_rate_limit_hit": "Compile rate limit hit", + "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", + "pdf_in_separate_tab": "PDF in separate tab", + "pdf_only_hide_editor": "PDF only <0>(hide editor)", + "pdf_preview_error": "There was a problem displaying the compilation results for this project.", + "pdf_rendering_error": "PDF Rendering Error", + "pdf_unavailable_for_download": "PDF unavailable for download", + "pdf_viewer": "PDF Viewer", + "pdf_viewer_error": "There was a problem displaying the PDF for this project.", + "pending": "Pending", + "pending_additional_licenses": "Your subscription is changing to include <0>__pendingAdditionalLicenses__ additional license(s) for a total of <1>__pendingTotalLicenses__ licenses.", + "pending_invite": "Pending invite", + "per_month": "per month", + "per_user": "per user", + "per_user_per_year": "per user / per year", + "per_user_year": "per user / year", + "per_year": "per year", + "percent_discount_for_groups": "__appName__ offers a __percent__% educational discount for groups of __size__ or more.", + "percent_is_the_percentage_of_the_line_width": "% is the percentage of the line width", + "personal": "Personal", + "personalized_onboarding": "Personalized onboarding", + "personalized_onboarding_info": "We’ll help you get everything set up and then we’re here to answer questions from your users about the platform, templates or LaTeX!", + "pl": "Polish", + "plan": "Plan", + "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your HajTeX premium features.", + "planned_maintenance": "Planned Maintenance", + "plans_amper_pricing": "Plans & Pricing", + "plans_and_pricing": "Plans and Pricing", + "plans_and_pricing_lowercase": "plans and pricing", + "please_ask_the_project_owner_to_upgrade_more_editors": "Please ask the project owner to upgrade their plan to allow more editors.", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", + "please_change_primary_to_remove": "Please change your primary email in order to remove", + "please_check_your_inbox": "Please check your inbox", + "please_check_your_inbox_to_confirm": "Please check your email inbox to confirm your <0>__institutionName__ affiliation.", + "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", + "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", + "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", + "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the primary.", + "please_contact_support_to_makes_change_to_your_plan": "Please <0>contact support to make changes to your plan", + "please_contact_us_if_you_think_this_is_in_error": "Please <0>contact us if you think this is in error.", + "please_enter_confirmation_code": "Please enter your confirmation code", + "please_enter_email": "Please enter your email address", + "please_get_in_touch": "Please get in touch", + "please_link_before_making_primary": "Please confirm your email by linking to your institutional account before making it the primary email.", + "please_provide_a_message": "Please provide a message", + "please_provide_a_subject": "Please provide a subject", + "please_reconfirm_institutional_email": "Please take a moment to confirm your institutional email address or <0>remove it from your account.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Please confirm your affiliation before making this the primary.", + "please_refresh": "Please refresh the page to continue.", + "please_request_a_new_password_reset_email_and_follow_the_link": "Please request a new password reset email and follow the link", + "please_select": "Please select", + "please_select_a_file": "Please Select a File", + "please_select_a_project": "Please Select a Project", + "please_select_an_output_file": "Please Select an Output File", + "please_set_a_password": "Please set a password", + "please_set_main_file": "Please choose the main file for this project in the project menu. ", + "please_wait": "Please wait", + "plus_additional_collaborators_document_history_track_changes_and_more": "(plus additional collaborators, document history, track changes, and more).", + "plus_more": "plus more", + "popular_tags": "Popular Tags", + "portal_add_affiliation_to_join": "It looks like you are already logged in to __appName__. If you have a __portalTitle__ email you can add it now.", + "position": "Position", + "postal_code": "Postal Code", + "powerful_latex_editor_and_realtime_collaboration": "Powerful LaTeX editor & real-time collaboration", + "powerful_latex_editor_and_realtime_collaboration_info": "Spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and more. Everyone always has the latest version, and you can see your collaborators’ cursors and changes in real time.", + "premium_feature": "Premium feature", + "premium_features": "Premium features", + "premium_plan_label": "You’re using HajTeX Premium", + "presentation": "Presentation", + "presentation_mode": "Presentation mode", + "press_and_awards": "Press & awards", + "previous_page": "Previous page", + "price": "Price", + "primarily_work_study_question": "Where do you primarily work or study?", + "primarily_work_study_question_company": "Company", + "primarily_work_study_question_government": "Government", + "primarily_work_study_question_nonprofit_ngo": "Nonprofit or NGO", + "primarily_work_study_question_other": "Other", + "primarily_work_study_question_university_school": "University or school", + "primary_certificate": "Primary certificate", + "primary_email_check_question": "Is <0>__email__ still your email address?", + "priority_support": "Priority support", + "priority_support_info": "Our helpful Support team will prioritise and escalate your support requests where necessary.", + "privacy": "Privacy", + "privacy_and_terms": "Privacy and Terms", + "privacy_policy": "Privacy Policy", + "private": "Private", + "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", + "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", + "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", + "proceed_to_paypal": "Proceed to PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Proceeding to PayPal will take you to the PayPal site to pay for your subscription.", + "processing": "processing", + "processing_uppercase": "Processing", + "processing_your_request": "Please wait while we process your request.", + "professional": "Professional", + "progress_bar_percentage": "Progress bar from 0 to 100%", + "project": "project", + "project_approaching_file_limit": "This project is approaching the file limit", + "project_figure_modal": "Project", + "project_files": "Project files", + "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", + "project_has_too_many_files": "This project has reached the 2000 file limit", + "project_last_published_at": "Your project was last published at", + "project_layout_sharing_submission": "Project Layout, Sharing, and Submission", + "project_name": "Project Name", + "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", + "project_owner_plus_10": "Project author + 10", + "project_ownership_transfer_confirmation_1": "Are you sure you want to make <0>__user__ the owner of <1>__project__?", + "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", + "project_renamed_or_deleted": "Project Renamed or Deleted", + "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on HajTeX, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", + "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", + "project_synchronisation": "Project Synchronisation", + "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error” to help you find and fix errors right away.", + "project_timed_out_fatal_error": "A <0>fatal compile error may be completely blocking compilation.", + "project_timed_out_intro": "Sorry, your compile took too long to run and timed out. The most common causes of timeouts are:", + "project_timed_out_learn_more": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "project_timed_out_optimize_images": "Large or high-resolution images are taking too long to process. You may be able to <0>optimize them.", + "project_too_large": "Project too large", + "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", + "project_too_much_editable_text": "This project has too much editable text, please try to reduce it.", + "project_url": "Affected project URL", + "projects": "Projects", + "projects_count": "Projects count", + "projects_list": "Projects list", + "provide_details_of_your_sso_configuration": "Add, edit, or delete your Identity Provider’s SAML metadata.", + "pt": "Portuguese", + "public": "Public", + "publish": "Publish", + "publish_as_template": "Manage Template", + "publisher_account": "Publisher Account", + "publishing": "Publishing", + "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", + "purchase_now": "Purchase Now", + "purchase_now_lowercase": "Purchase now", + "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", + "quoted_text": "Quoted text", + "quoted_text_in": "Quoted text in", + "raw_logs": "Raw logs", + "raw_logs_description": "Raw logs from the LaTeX compiler", + "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using HajTeX History.", + "react_history_tutorial_title": "History actions have a new home", + "reactivate_subscription": "Reactivate your subscription", + "read_lines_from_path": "Read lines from __path__", + "read_more": "Read more", + "read_more_about_free_compile_timeouts_servers": "Read more about changes to free compile timeouts and servers", + "read_only": "Read only", + "read_only_token": "Read-Only Token", + "read_write_token": "Read-Write Token", + "ready_to_join_x": "You’re ready to join __inviterName__", + "ready_to_join_x_in_group_y": "You’re ready to join __inviterName__ in __groupName__", + "ready_to_set_up": "Ready to set up", + "ready_to_use_templates": "Ready-to-use templates", + "real_time_track_changes": "Real-time track-changes", + "realtime_track_changes": "Real-time track changes", + "realtime_track_changes_info_v2": "Switch on track changes to see who made every change, accept or reject others’ changes, and write comments.", + "reasons_for_compile_timeouts": "Reasons for compile timeouts", + "reauthorize_github_account": "Reauthorize your GitHub Account", + "recaptcha_conditions": "The site is protected by reCAPTCHA and the Google <1>Privacy Policy and <2>Terms of Service apply.", + "recent": "Recent", + "recent_commits_in_github": "Recent commits in GitHub", + "recompile": "Recompile", + "recompile_from_scratch": "Recompile from scratch", + "recompile_pdf": "Recompile the PDF", + "reconfirm": "reconfirm", + "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", + "reconnect": "Try again", + "reconnecting": "Reconnecting", + "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", + "recurly_email_update_needed": "Your billing email address is currently <0>__recurlyEmail__. If needed you can update your billing address to <1>__userEmail__.", + "recurly_email_updated": "Your billing email address was successfully updated", + "redirect_to_editor": "Redirect to editor", + "redirect_url": "Redirect URL", + "redirecting": "Redirecting", + "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", + "reference_error_relink_hint": "If this error persists, try re-linking your account here:", + "reference_manager_searched_groups": "__provider__ search groups", + "reference_managers": "Reference managers", + "reference_search": "Advanced reference search", + "reference_search_info_new": "Find your references easily—search by author, title, year, or journal.", + "reference_search_info_v2": "It’s easy to find your references - you can search by author, title, year or journal. You can still search by citation key too.", + "reference_search_setting": "Reference search", + "reference_search_settings": "Reference search settings", + "reference_search_style": "Reference search style", + "reference_sync": "Reference manager sync", + "references_from_these_libraries_will_be_included_in_your_reference_search_results": "References from these libraries will be included in your reference search results.", + "refresh": "Refresh", + "refresh_page_after_linking_dropbox": "Please refresh this page after linking your account to Dropbox.", + "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", + "refreshing": "Refreshing", + "regards": "Regards", + "register": "Register", + "register_error": "Registration error", + "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", + "register_to_accept_invitation": "Register to accept invitation", + "register_to_edit_template": "Please register to edit the __templateName__ template", + "register_with_another_email": "Register with __appName__ using another email.", + "registered": "Registered", + "registering": "Registering", + "registration_error": "Registration error", + "reject": "Reject", + "reject_all": "Reject all", + "reject_change": "Reject change", + "related_tags": "Related Tags", + "relink_your_account": "Re-link your account", + "reload_editor": "Reload editor", + "remind_before_trial_ends": "We’ll remind you before your trial ends", + "remote_service_error": "The remote service produced an error", + "remove": "Remove", + "remove_access": "Remove access", + "remove_collaborator": "Remove collaborator", + "remove_from_group": "Remove from group", + "remove_link": "Remove link", + "remove_manager": "Remove manager", + "remove_or_replace_figure": "Remove or replace figure", + "remove_secondary_email_addresses": "Remove any secondary email addresses associated with your account. <0>Remove them in account settings.", + "remove_sso_login_option": "Remove the SSO login option for your users.", + "remove_tag": "Remove tag __tagName__", + "removed": "removed", + "removed_from_project": "Removed from project", + "removing": "Removing", + "rename": "Rename", + "rename_project": "Rename Project", + "renaming": "Renaming", + "reopen": "Re-open", + "reopen_comment_error_message": "There was an error reopening your comment. Please try again in a few moments.", + "reopen_comment_error_title": "Reopen Comment Error", + "replace_figure": "Replace figure", + "replace_from_another_project": "Replace from another project", + "replace_from_computer": "Replace from computer", + "replace_from_project_files": "Replace from project files", + "replace_from_url": "Replace from URL", + "reply": "Reply", + "repository_name": "Repository Name", + "republish": "Republish", + "request_new_password_reset_email": "Request a new password reset email", + "request_overleaf_common": "Request HajTeX Commons", + "request_password_reset": "Request password reset", + "request_password_reset_to_reconfirm": "Request password reset email to reconfirm", + "request_reconfirmation_email": "Request reconfirmation email", + "request_sent_thank_you": "Message sent! Our team will review it and reply by email.", + "requesting_password_reset": "Requesting password reset", + "required": "Required", + "resend": "Resend", + "resend_confirmation_code": "Resend confirmation code", + "resend_confirmation_email": "Resend confirmation email", + "resend_email": "Resend email", + "resend_group_invite": "Resend group invite", + "resend_link_sso": "Resend SSO invite", + "resend_managed_user_invite": "Resend managed user invite", + "resending_confirmation_code": "Resending confirmation code", + "resending_confirmation_email": "Resending confirmation email", + "reset_password": "Reset Password", + "reset_password_link": "Click this link to reset your password", + "reset_your_password": "Reset your password", + "resize": "Resize", + "resolve": "Resolve", + "resolve_comment": "Resolve comment", + "resolved_comments": "Resolved comments", + "restore": "Restore", + "restore_file": "Restore file", + "restore_file_confirmation_message": "Your current file will restore to the version from __date__ at __time__.", + "restore_file_confirmation_title": "Restore this version?", + "restore_file_error_message": "There was a problem restoring the file version. Please try again in a few moments. If the problem continues please contact us.", + "restore_file_error_title": "Restore File Error", + "restore_file_version": "Restore this version", + "restore_project_to_this_version": "Restore project to this version", + "restore_this_version": "Restore this version", + "restoring": "Restoring", + "restricted": "Restricted", + "restricted_no_permission": "Restricted, sorry you don’t have permission to load this page.", + "resync_completed": "Resync completed!", + "resync_message": "Resyncing project history can take several minutes depending on the size of the project.", + "resync_project_history": "Resync Project History", + "retry_test": "Retry test", + "return_to_login_page": "Return to Login page", + "reverse_x_sort_order": "Reverse __x__ sort order", + "revert_pending_plan_change": "Revert scheduled plan change", + "review": "Review", + "review_your_peers_work": "Review your peers’ work", + "revoke": "Revoke", + "revoke_invite": "Revoke Invite", + "right": "Right", + "ro": "Romanian", + "role": "Role", + "ru": "Russian", + "saml": "SAML", + "saml_auth_error": "Sorry, your identity provider responded with an error. Please contact your administrator for more information.", + "saml_authentication_required_error": "Other login methods have been disabled by your group administrator. Please use your group SSO login.", + "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", + "saml_email_not_recognized_error": "This email address isn’t set up for SSO. Please check it and try again or contact your administrator.", + "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different HajTeX account. Please contact your administrator for more information.", + "saml_invalid_signature_error": "Sorry, the information received from your identity provider has an invalid signature. Please contact your administrator for more information.", + "saml_login_disabled_error": "Sorry, single sign-on login has been disabled for __email__. Please contact your administrator for more information.", + "saml_login_failure": "Sorry, there was a problem logging you in. Please contact your administrator for more information.", + "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to HajTeX as __email__ but the identity returned by your identity provider is not the correct one for this HajTeX account.", + "saml_login_identity_not_found_error": "Sorry, we were not able to find an HajTeX account set up for single sign-on with this identity provider.", + "saml_metadata": "HajTeX SAML Metadata", + "saml_missing_signature_error": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required). Please contact your administrator for more information.", + "saml_response": "SAML Response", + "save": "Save", + "save_20_percent": "save 20%", + "save_20_percent_by_paying_annually": "Save 20% by paying annually", + "save_30_percent_or_more": "save 30% or more", + "save_30_percent_or_more_uppercase": "Save 30% or more", + "save_n_percent": "Save __percentage__%", + "save_or_cancel-cancel": "Cancel", + "save_or_cancel-or": "or", + "save_or_cancel-save": "Save", + "save_x_percent_or_more": "Save __percent__% or more", + "saving": "Saving", + "saving_20_percent": "Saving 20%!", + "saving_20_percent_no_exclamation": "Saving 20%", + "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", + "search": "Search", + "search_all_project_files": "Search all project files", + "search_bib_files": "Search by author, title, year", + "search_by_citekey_author_year_title": "Search by citation key, author, title, year", + "search_command_find": "Find", + "search_command_replace": "Replace", + "search_in_all_projects": "Search in all projects", + "search_in_archived_projects": "Search in archived projects", + "search_in_shared_projects": "Search in projects shared with you", + "search_in_trashed_projects": "Search in trashed projects", + "search_in_your_projects": "Search in your projects", + "search_match_case": "Match case", + "search_next": "next", + "search_only_the_bib_files_in_your_project_only_by_citekeys": "Search only the .bib files in your project, only by citekeys.", + "search_previous": "previous", + "search_projects": "Search projects", + "search_references": "Search the .bib files in this project", + "search_regexp": "Regular expression", + "search_replace": "Replace", + "search_replace_all": "Replace All", + "search_replace_with": "Replace with", + "search_search_for": "Search for", + "search_terms": "Search terms", + "search_whole_word": "Whole word", + "search_within_selection": "Within selection", + "searched_path_for_lines_containing": "Searched __path__ for lines containing \"__query__\"", + "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", + "security": "Security", + "see_changes_in_your_documents_live": "See changes in your documents, live", + "select_a_column_or_a_merged_cell_to_align": "Select a column or a merged cell to align", + "select_a_column_to_adjust_column_width": "Select a column to adjust column width", + "select_a_file": "Select a File", + "select_a_file_figure_modal": "Select a file", + "select_a_group_optional": "Select a Group (optional)", + "select_a_language": "Select a language", + "select_a_new_owner_for_projects": "Select a new owner for this user’s projects", + "select_a_payment_method": "Select a payment method", + "select_a_project": "Select a Project", + "select_a_project_figure_modal": "Select a project", + "select_a_row_or_a_column_to_delete": "Select a row or a column to delete", + "select_access_level": "Select access level", + "select_access_levels": "Select access levels", + "select_all": "Select all", + "select_all_projects": "Select all projects", + "select_an_output_file": "Select an Output File", + "select_an_output_file_figure_modal": "Select an output file", + "select_bib_file": "Select .bib file", + "select_cells_in_a_single_row_to_merge": "Select cells in a single row to merge", + "select_color": "Select color __name__", + "select_folder_from_project": "Select folder from project", + "select_from_output_files": "select from output files", + "select_from_project_files": "select from project files", + "select_from_source_files": "select from source files", + "select_from_your_computer": "select from your computer", + "select_github_repository": "Select a GitHub repository to import into __appName__.", + "select_image_from_project_files": "Select image from project files", + "select_monthly_plans": "Select for monthly plans", + "select_project": "Select __project__", + "select_projects": "Select Projects", + "select_tag": "Select tag __tagName__", + "select_user": "Select user", + "selected": "Selected", + "selected_by_overleaf_staff": "Selected by HajTeX staff", + "selected_by_overleaf_staff_description": "These templates were hand-picked by HajTeX staff for their high quality and positive feedback received from the HajTeX community over the years.", + "selection_deleted": "Selection deleted", + "send": "Send", + "send_first_message": "Send your first message to your collaborators", + "send_message": "Send message", + "send_test_email": "Send a test email", + "sending": "Sending", + "sent": "Sent", + "september": "September", + "server_error": "Server Error", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro license", + "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact HajTeX.", + "server_pro_license_entitlement_line_3": "An active user is one who has opened a project in this Server Pro instance in the last 12 months.", + "services": "Services", + "session_created_at": "Session Created At", + "session_error": "Session error. Please check you have cookies enabled. If the problem persists, try clearing your cache and cookies.", + "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", + "sessions": "Sessions", + "set_color": "set color", + "set_column_width": "Set column width", + "set_new_password": "Set new password", + "set_password": "Set Password", + "set_up_single_sign_on": "Set up single sign-on (SSO)", + "set_up_sso": "Set up SSO", + "settings": "Settings", + "setup_another_account_under_a_personal_email_address": "Set up another HajTeX account under a personal email address.", + "share": "Share", + "share_project": "Share Project", + "share_with_your_collabs": "Share with your collaborators", + "shared_with_you": "Shared with you", + "sharelatex_beta_program": "__appName__ Beta Program", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace__ or __altSpace__)", + "show_all": "show all", + "show_all_projects": "Show all projects", + "show_document_preamble": "Show document preamble", + "show_hotkeys": "Show Hotkeys", + "show_in_code": "Show in code", + "show_in_pdf": "Show in PDF", + "show_less": "show less", + "show_local_file_contents": "Show Local File Contents", + "show_more": "show more", + "show_outline": "Show File outline", + "show_x_more_projects": "Show __x__ more projects", + "show_your_support": "Show your support", + "showing_1_result": "Showing 1 result", + "showing_1_result_of_total": "Showing 1 result of __total__", + "showing_x_out_of_n_projects": "Showing __x__ out of __n__ projects.", + "showing_x_results": "Showing __x__ results", + "showing_x_results_of_total": "Showing __x__ results of __total__", + "sign_up": "Sign up", + "sign_up_for_free": "Sign up for free", + "sign_up_for_free_account": "Sign up for a free account and receive regular updates", + "simple_search_mode": "Simple search", + "single_sign_on_sso": "Single Sign-On (SSO)", + "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", + "site_wide_option_available": "Site-wide option available", + "sitewide_option_available": "Site-wide option available", + "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "six_collaborators_per_project": "6 collaborators per project", + "six_per_project": "6 per project", + "skip": "Skip", + "skip_to_content": "Skip to content", + "something_not_right": "Something’s not right", + "something_went_wrong": "Something went wrong", + "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", + "something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems or an <0>outdated web browser. Please follow the <1>troubleshooting steps for access, loading and display problems. If the issue persists, please <2>let us know.", + "something_went_wrong_processing_the_request": "Something went wrong processing the request", + "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", + "something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile", + "something_went_wrong_server": "Something went wrong. Please try again.", + "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", + "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.", + "sorry_it_looks_like_that_didnt_work_this_time": "Sorry! It looks like that didn’t work this time. Please try again.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on HajTeX. Please try again.", + "sorry_the_connection_to_the_server_is_down": "Sorry, the connection to the server is down.", + "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in HajTeX Labs.", + "sorry_this_account_has_been_suspended": "Sorry, this account has been suspended.", + "sorry_your_table_cant_be_displayed_at_the_moment": "Sorry, your table can’t be displayed at the moment.", + "sorry_your_token_expired": "Sorry, your token expired", + "sort_by": "Sort by", + "sort_by_x": "Sort by __x__", + "sort_projects": "Sort projects", + "source": "Source", + "spell_check": "Spell check", + "sso": "SSO", + "sso_account_already_linked": "Account already linked to another __appName__ user", + "sso_active": "SSO active", + "sso_already_setup_good_to_go": "Single sign-on is already set up on your account, so you’re good to go.", + "sso_config_deleted": "SSO configuration deleted", + "sso_config_prop_help_certificate": "Base64 encoded certificate without whitespace", + "sso_config_prop_help_first_name": "The SAML attribute that specifies the user’s first name", + "sso_config_prop_help_last_name": "The SAML attribute that specifies the user’s last name", + "sso_config_prop_help_redirect_url": "The single sign-on redirect URL provided by your IdP (sometimes called the single sign-on service HTTP-redirect location)", + "sso_config_prop_help_user_id": "The SAML attribute provided by your IdP that identifies each user", + "sso_configuration": "SSO configuration", + "sso_configuration_not_finalized": "Your configuration has not been finalized.", + "sso_configuration_saved": "SSO configuration has been saved", + "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use HajTeX as you normally would.", + "sso_error_audience_mismatch": "The Service Provider entity ID configured in your IdP does not match the one provided in our metadata. Please contact your IT department for more information.", + "sso_error_idp_error": "Your identity provider responded with an error.", + "sso_error_invalid_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user has an invalid format, a string is expected. Attribute: <0>__expecting__", + "sso_error_invalid_signature": "Sorry, the information received from your identity provider has an invalid signature.", + "sso_error_missing_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_firstname_attribute": "The SAML attribute that specifies the user’s first name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_lastname_attribute": "The SAML attribute that specifies the user’s last name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_signature": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required).", + "sso_error_response_already_processed": "The SAML response’s InResponseTo is invalid. This can happen if it either didn’t match that of the SAML request, or the login took too long to process and the request has expired.", + "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about HajTeX Group SSO.", + "sso_here_is_the_data_we_received": "Here is the data we received in the SAML response:", + "sso_integration": "SSO integration", + "sso_integration_info": "HajTeX offers a standard SAML-based Single Sign On integration.", + "sso_is_disabled": "SSO is disabled", + "sso_is_disabled_explanation_1": "Group members won’t be able to log in via SSO", + "sso_is_disabled_explanation_2": "All members of the group will need a username and password to log in to __appName__", + "sso_is_enabled": "SSO is enabled", + "sso_is_enabled_explanation_1": "Group members will <0>only be able to sign in via SSO after linking their accounts with your IdP.", + "sso_is_enabled_explanation_1_sso_only": "Group members will have the option to sign in via SSO.", + "sso_is_enabled_explanation_2": "If there are any problems with the configuration, only you (as the group administrator) will be able to disable SSO.", + "sso_link_account_with_idp": "Your group uses SSO. This means we need to authenticate your account with the group identity provider. Click <0>Set up SSO to authenticate now.", + "sso_link_error": "Error linking account", + "sso_link_invite_has_been_sent_to_email": "An SSO invite reminder has been sent to <0>__email__", + "sso_login": "SSO login", + "sso_logs": "SSO Logs", + "sso_not_active": "SSO not active", + "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", + "sso_reauth_request": "SSO reauthentication request has been sent to <0>__email__", + "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured HajTeX as a Service Provider in your IdP, and authorized access to the HajTeX service.", + "sso_test_interstitial_info_2": "Clicking <0>Test configuration will redirect you to your IdP’s login screen. <1>Read our documentation for full details of what happens during the test. And check our <2>SSO troubleshooting advice if you get stuck.", + "sso_test_interstitial_title": "Let’s test your SSO configuration", + "sso_test_result_error_message": "The test hasn’t worked this time, but don’t worry — errors can usually be quickly addressed by adjusting the configuration settings. Our <0>SSO troubleshooting guide provides help with some of the common causes of testing errors.", + "sso_title": "Single sign-on", + "sso_user_denied_access": "Cannot log in because __appName__ was not granted access to your __provider__ account. Please try again.", + "sso_user_explanation_enabled_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_enabled_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_ready_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "sso_user_explanation_ready_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "standard": "Standard", + "start_a_free_trial": "Start a free trial", + "start_by_adding_your_email": "Start by adding your email address.", + "start_by_fixing_the_first_error_in_your_doc": "Start by fixing the first error in your doc to avoid problems later on.", + "start_free_trial": "Start Free Trial!", + "start_free_trial_without_exclamation": "Start Free Trial", + "start_typing_find_your_company": " Start typing to find your company", + "start_typing_find_your_organization": "Start typing to find your organization", + "start_typing_find_your_university": "Start typing to find your university", + "state": "State", + "status_checks": "Status Checks", + "still_have_questions": "Still have questions?", + "stop_compile": "Stop compilation", + "stop_on_first_error": "Stop on first error", + "stop_on_first_error_enabled_description": "<0>“Stop on first error” is enabled. Disabling it may allow the compiler to produce a PDF (but your project will still have errors).", + "stop_on_first_error_enabled_title": "No PDF: Stop on first error enabled", + "stop_on_validation_error": "Check syntax before compile", + "store_your_work": "Store your work on your own infrastructure", + "stretch_width_to_text": "Stretch width to text", + "student": "Student", + "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an HajTeX institutional account.", + "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you’re eligible for the discount.", + "student_plans": "Student Plans", + "students": "Students", + "subject": "Subject", + "subject_area": "Subject area", + "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", + "submit": "submit", + "submit_title": "Submit", + "subscribe": "Subscribe", + "subscribe_to_find_the_symbols_you_need_faster": "Subscribe to find the symbols you need faster", + "subscription": "Subscription", + "subscription_admin_panel": "admin panel", + "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", + "subscription_canceled": "Subscription Canceled", + "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on <0>__terminateDate__. No further payments will be taken.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Your subscription will remain active until the end of your billing period, <0>__terminationDate__.", + "subscription_will_remain_active_until_end_of_trial_period_x": "Your subscription will remain active until the end of your trial period, <0>__terminationDate__.", + "success_sso_set_up": "Success! Single sign-on is all set up for you.", + "suggest_a_different_fix": "Suggest a different fix", + "suggest_fix": "Suggest fix", + "suggested": "Suggested", + "suggested_fix_for_error_in_path": "Suggested fix for error in __path__", + "suggestion": "Suggestion", + "suggestion_applied": "Suggestion applied", + "support": "Support", + "sure_you_want_to_cancel_plan_change": "Are you sure you want to revert your scheduled plan change? You will remain subscribed to the <0>__planName__ plan.", + "sure_you_want_to_change_plan": "Are you sure you want to change plan to <0>__planName__?", + "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", + "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", + "sv": "Swedish", + "switch_to_editor": "Switch to editor", + "switch_to_pdf": "Switch to PDF", + "symbol_palette": "Symbol palette", + "symbol_palette_highlighted": "<0>Symbol palette", + "symbol_palette_info": "A quick and convenient way to insert math symbols into your document.", + "symbol_palette_info_new": "Insert math symbols into your document with the click of a button.", + "sync": "Sync", + "sync_dropbox_github": "Sync with Dropbox and GitHub", + "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", + "sync_to_dropbox": "Sync to Dropbox", + "sync_to_github": "Sync to GitHub", + "synctex_failed": "Couldn’t find the corresponding source file", + "syntax_validation": "Code check", + "tab_connecting": "Connecting with the editor", + "tab_no_longer_connected": "This tab is no longer connected with the editor", + "tag_color": "Tag color", + "tag_name_cannot_exceed_characters": "Tag name cannot exceed __maxLength__ characters", + "tag_name_is_already_used": "Tag \"__tagName__\" already exists", + "tags": "Tags", + "take_me_home": "Take me home!", + "take_short_survey": "Take a short survey", + "take_survey": "Take survey", + "tc_everyone": "Everyone", + "tc_guests": "Guests", + "tc_switch_everyone_tip": "Toggle track-changes for everyone", + "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", + "tc_switch_user_tip": "Toggle track-changes for this user", + "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their HajTeX plan if you need more compile time.", + "template": "Template", + "template_approved_by_publisher": "This template has been approved by the publisher", + "template_description": "Template Description", + "template_gallery": "Template Gallery", + "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", + "template_title_taken_from_project_title": "The template title will be taken automatically from the project title", + "template_top_pick_by_overleaf": "This template was hand-picked by HajTeX staff for its high quality", + "templates": "Templates", + "templates_admin_source_project": "Admin: Source Project", + "templates_page_summary": "Start your projects with quality LaTeX templates for journals, CVs, resumes, papers, presentations, assignments, letters, project reports, and more. Search or browse below.", + "templates_page_title": "Templates - Journals, CVs, Presentations, Reports and More", + "ten_collaborators_per_project": "10 collaborators per project", + "ten_per_project": "10 per project", + "terminated": "Compilation cancelled", + "terms": "Terms", + "test": "Test", + "test_configuration": "Test configuration", + "test_configuration_successful": "Test configuration successful", + "tex_live_version": "TeX Live version", + "thank_you": "Thank you!", + "thank_you_email_confirmed": "Thank you, your email is now confirmed", + "thank_you_exclamation": "Thank you!", + "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have <0>early access to new features and help us understand your needs better", + "thank_you_for_your_feedback": "Thank you for your feedback!", + "thanks": "Thanks", + "thanks_for_confirming_your_email_address": "Thanks for confirming your email address", + "thanks_for_getting_in_touch": "Thanks for getting in touch. Our team will get back to you by email as soon as possible.", + "thanks_for_subscribing": "Thanks for subscribing!", + "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It’s support from people like yourself that allows __appName__ to continue to grow and improve.", + "thanks_settings_updated": "Thanks, your settings have been updated.", + "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on HajTeX pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", + "the_following_files_already_exist_in_this_project": "The following files already exist in this project:", + "the_following_files_and_folders_already_exist_in_this_project": "The following files and folders already exist in this project:", + "the_following_folder_already_exists_in_this_project": "The following folder already exists in this project:", + "the_following_folder_already_exists_in_this_project_plural": "The following folders already exist in this project:", + "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", + "the_project_that_contains_this_file_is_not_shared_with_you": "The project that contains this file is not shared with you", + "the_requested_conversion_job_was_not_found": "The link to open this content on HajTeX specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", + "the_requested_publisher_was_not_found": "The link to open this content on HajTeX specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_required_parameters_were_not_supplied": "The link to open this content on HajTeX was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_parameters_were_invalid": "The link to open this content on HajTeX included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "The link to open this content on HajTeX included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", + "the_target_folder_could_not_be_found": "The target folder could not be found.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "The width you choose here is based on the width of the text in your document. Alternatively, you can customize the image size directly in the LaTeX code.", + "their_projects_will_be_transferred_to_another_user": "Their projects will all be transferred to another user of your choice", + "theme": "Theme", + "then_x_price_per_month": "Then __price__ per month", + "then_x_price_per_year": "Then __price__ per year", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "There are lots of options to edit and customize your figures, such as wrapping text around the figure, rotating the image, or including multiple images in a single figure. You’ll need to edit the LaTeX code to do this. <0>Find out how", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "There was a problem restoring the project. Please try again in a few moments. Contact us of the problem persists.", + "there_was_an_error_opening_your_content": "There was an error creating your project", + "thesis": "Thesis", + "they_lose_access_to_account": "They lose all access to this HajTeX account immediately", + "this_action_cannot_be_reversed": "This action cannot be reversed.", + "this_action_cannot_be_undone": "This action cannot be undone.", + "this_address_will_be_shown_on_the_invoice": "This address will be shown on the invoice", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "This could be because we can’t yet support some elements of the table in the table preview. Or there may be an error in the table’s LaTeX code.", + "this_experiment_isnt_accepting_new_participants": "This experiment isn’t accepting new participants.", + "this_field_is_required": "This field is required", + "this_grants_access_to_features_2": "This grants you access to <0>__appName__ <0>__featureType__ features.", + "this_is_a_labs_experiment": "This is a Labs experiment", + "this_is_the_file_that_references_pulled_from_your_reference_manager_will_be_added_to": "This is the file that references pulled from your reference manager will be added to.", + "this_is_your_template": "This is your template from your project", + "this_project_already_has_maximum_editors": "This project already has the maximum number of editors permitted on the owner’s plan. This means you can view but not edit the project.", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "This project exceeded the compile timeout limit on our free plan.", + "this_project_exceeded_editor_limit": "This project exceeded the editor limit for your plan. All collaborators now have view-only access.", + "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s HajTeX plan. This means you could lose edit access from __linkSharingDate__.", + "this_project_is_public": "This project is public and can be edited by anyone with the URL.", + "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", + "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", + "this_tool_helps_you_insert_figures": "This tool helps you insert figures into your project without needing to write the LaTeX code. The following information explains more about the options in the tool and how to further customize your figures.", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "This tool helps you insert simple tables into your project without writing LaTeX code. This tool is new, so please <0>give us feedback and look out for additional functionality coming soon.", + "this_was_helpful": "This was helpful", + "this_wasnt_helpful": "This wasn’t helpful", + "thousands_templates": "Thousands of templates", + "thousands_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "three_free_collab": "Three free collaborators", + "timedout": "Timed out", + "tip": "Tip", + "title": "Title", + "to_add_email_accounts_need_to_be_linked_2": "To add this email, your <0>__appName__ and <0>__institutionName__ accounts will need to be linked.", + "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", + "to_change_access_permissions": "To change access permissions, please ask the project owner", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the HajTeX account that requested the new secondary email.", + "to_confirm_transfer_enter_email_address": "To accept the invitation, enter the email address linked to your account.", + "to_confirm_unlink_all_users_enter_email": "To confirm you want to unlink all users, enter your email address:", + "to_fix_this_you_can": "To fix this, you can:", + "to_fix_this_you_can_ask_the_github_repository_owner": "To fix this, you can ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "To insert or move a caption, make sure \\begin{tabular} is directly within a table environment", + "to_keep_edit_access": "To keep edit access, ask the project owner to upgrade their plan or reduce the number of people with edit access.", + "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", + "to_modify_your_subscription_go_to": "To modify your subscription go to", + "to_pull_results_directly_from_your_reference_manager_enable_one_of_the_available_reference_manager_integrations": "To pull results directly from your reference manager, <0>enable one of the available reference manager integrations.", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>Please note: To use text wrapping in your table, make sure you include the <1>array package in your document preamble:", + "toggle_compile_options_menu": "Toggle compile options menu", + "token": "token", + "token_access_failure": "Cannot grant access; contact the project owner for help", + "token_limit_reached": "You’ve reached the 10 token limit. To generate a new authentication token, please delete an existing one.", + "token_read_only": "token read-only", + "token_read_write": "token read-write", + "too_many_attempts": "Too many attempts. Please wait for a while and try again.", + "too_many_comments_or_tracked_changes": "Too many comments or tracked changes", + "too_many_comments_or_tracked_changes_detail": "Sorry, this file has too many comments or tracked changes. Please try accepting or rejecting some existing changes, or resolving and deleting some comments.", + "too_many_confirm_code_resend_attempts": "Too many attempts. Please wait 1 minute then try again.", + "too_many_confirm_code_verification_attempts": "Too many verification attempts. Please wait 1 minute then try again.", + "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for a short period. Please wait 15 minutes and try again.", + "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", + "too_many_search_results": "There are more than 100 results. Please refine your search.", + "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", + "took_a_while": "That took a while...", + "toolbar_bullet_list": "Bullet List", + "toolbar_choose_section_heading_level": "Choose section heading level", + "toolbar_code_visual_editor_switch": "Code and visual editor switch", + "toolbar_decrease_indent": "Decrease Indent", + "toolbar_editor": "Editor tools", + "toolbar_format_bold": "Format Bold", + "toolbar_format_italic": "Format Italic", + "toolbar_increase_indent": "Increase Indent", + "toolbar_insert_citation": "Insert Citation", + "toolbar_insert_cross_reference": "Insert Cross-reference", + "toolbar_insert_display_math": "Insert Display Math", + "toolbar_insert_figure": "Insert Figure", + "toolbar_insert_inline_math": "Insert Inline Math", + "toolbar_insert_link": "Insert Link", + "toolbar_insert_math": "Insert Math", + "toolbar_insert_math_and_symbols": "Insert Math and Symbols", + "toolbar_insert_misc": "Insert Misc (links, citations, cross-references, figures, tables)", + "toolbar_insert_table": "Insert Table", + "toolbar_list_indentation": "List and Indentation", + "toolbar_numbered_list": "Numbered List", + "toolbar_redo": "Redo", + "toolbar_selected_projects": "Selected projects", + "toolbar_selected_projects_management_actions": "Selected projects management actions", + "toolbar_selected_projects_remove": "Remove selected projects", + "toolbar_selected_projects_restore": "Restore selected projects", + "toolbar_table_insert_size_table": "Insert __size__ table", + "toolbar_table_insert_table_lowercase": "Insert table", + "toolbar_text_formatting": "Text formatting", + "toolbar_text_style": "Text style", + "toolbar_toggle_symbol_palette": "Toggle Symbol Palette", + "toolbar_undo": "Undo", + "toolbar_undo_redo_actions": "Undo/Redo actions", + "toolbar_visibility": "Toolbar visibility", + "tooltip_hide_filetree": "Click to hide the file tree", + "tooltip_hide_pdf": "Click to hide the PDF", + "tooltip_show_filetree": "Click to show the file tree", + "tooltip_show_pdf": "Click to show the PDF", + "top_pick": "Top pick", + "total": "Total", + "total_per_month": "Total per month", + "total_per_year": "Total per year", + "total_per_year_for_x_users": "total per year for __licenseSize__ users", + "total_per_year_lowercase": "total per year", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ tax) per year", + "total_words": "Total Words", + "tr": "Turkish", + "track_any_change_in_real_time": "Track any change, in real-time", + "track_changes": "Track changes", + "track_changes_for_everyone": "Track changes for everyone", + "track_changes_for_x": "Track changes for __name__", + "track_changes_is_off": "Track changes is off", + "track_changes_is_on": "Track changes is on", + "tracked_change_added": "Added", + "tracked_change_deleted": "Deleted", + "transfer_management_of_your_account": "Transfer management of your HajTeX account", + "transfer_management_of_your_account_to_x": "Transfer management of your HajTeX account to __groupName__", + "transfer_management_resolve_following_issues": "To transfer the management of your account, you need to resolve the following issues:", + "transfer_this_users_projects": "Transfer this user’s projects", + "transfer_this_users_projects_description": "This user’s projects will be transferred to a new owner.", + "transferring": "Transferring", + "trash": "Trash", + "trash_projects": "Trash Projects", + "trashed": "Trashed", + "trashed_projects": "Trashed Projects", + "trashing_projects_wont_affect_collaborators": "Trashing projects won’t affect your collaborators.", + "trial_last_day": "This is the last day of your HajTeX Premium trial", + "trial_remaining_days": "__days__ more days on your HajTeX Premium trial", + "tried_to_log_in_with_email": "You’ve tried to log in with __email__.", + "tried_to_register_with_email": "You’ve tried to register with __email__, which is already registered with __appName__ as an institutional account.", + "troubleshooting_tip": "Troubleshooting tip", + "try_again": "Please try again", + "try_for_free": "Try for free", + "try_it_for_free": "Try it for free", + "try_now": "Try Now", + "try_premium_for_free": "Try Premium for free", + "try_recompile_project_or_troubleshoot": "Please try recompiling the project from scratch, and if that doesn’t help, follow our <0>troubleshooting guide.", + "try_relinking_provider": "It looks like you need to re-link your __provider__ account.", + "try_to_compile_despite_errors": "Try to compile despite errors", + "turn_off": "Turn off", + "turn_off_link_sharing": "Turn off link sharing", + "turn_on": "Turn on", + "turn_on_link_sharing": "Turn on link sharing", + "tutorials": "Tutorials", + "two_users": "2 users", + "uk": "Ukrainian", + "unable_to_extract_the_supplied_zip_file": "Opening this content on HajTeX failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", + "unarchive": "Restore", + "uncategorized": "Uncategorized", + "uncategorized_projects": "Uncategorized Projects", + "unconfirmed": "Unconfirmed", + "undelete": "Undelete", + "undeleting": "Undeleting", + "understanding_labels": "Understanding labels", + "unfold_line": "Unfold line", + "unique_identifier_attribute": "Unique identifier attribute", + "university": "University", + "university_school": "University or school name", + "unknown": "Unknown", + "unlimited": "Unlimited", + "unlimited_bold": "<0>Unlimited", + "unlimited_collaborators_in_each_project": "Unlimited collaborators in each project", + "unlimited_collaborators_per_project": "Unlimited collaborators per project", + "unlimited_collabs": "Unlimited collaborators", + "unlimited_collabs_rt": "<0>Unlimited collaborators", + "unlimited_projects": "Unlimited projects", + "unlimited_projects_info": "Your projects are private by default. This means that only you can view them, and only you can allow other people to access them.", + "unlink": "Unlink", + "unlink_all_users": "Unlink all users", + "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their HajTeX accounts with your IdP. They’ll receive an email asking them to do this.", + "unlink_dropbox_folder": "Unlink Dropbox Account", + "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?", + "unlink_github_repository": "Unlink GitHub repository", + "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", + "unlink_linked_accounts": "Unlink any linked accounts (such as ORCID ID, IEEE). <0>Remove them in Account Settings (under Linked Accounts).", + "unlink_linked_google_account": "Unlink your Google account. <0>Remove it in Account Settings (under Linked Accounts).", + "unlink_provider_account_title": "Unlink __provider__ Account", + "unlink_provider_account_warning": "Warning: When you unlink your account from __provider__ you will not be able to sign in using __provider__ anymore.", + "unlink_reference": "Unlink References Provider", + "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).", + "unlink_user": "Unlink user", + "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their HajTeX account with your IdP. They’ll receive an email asking them to do this.", + "unlink_users": "Unlink users", + "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", + "unlinking": "Unlinking", + "unmerge_cells": "Unmerge cells", + "unpublish": "Unpublish", + "unpublishing": "Unpublishing", + "unsubscribe": "Unsubscribe", + "unsubscribed": "Unsubscribed", + "unsubscribing": "Unsubscribing", + "untrash": "Restore", + "up_to": "Up to", + "update": "Update", + "update_account_info": "Update Account Info", + "update_dropbox_settings": "Update Dropbox Settings", + "update_your_billing_details": "Update Your Billing Details", + "updates_to_project_sharing": "Updates to project sharing", + "updating": "Updating", + "updating_site": "Updating Site", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade now, pay after 7 days", + "upgrade_for_12x_more_compile_time": "Upgrade to get 12x more compile time", + "upgrade_now": "Upgrade Now", + "upgrade_to_add_more_editors": "Upgrade to add more editors to your project", + "upgrade_to_add_more_editors_and_access_collaboration_features": "Upgrade to add more editors and access collaboration features like track changes and full project history.", + "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", + "upgrade_to_track_changes": "Upgrade to track changes", + "upload": "Upload", + "upload_failed": "Upload failed", + "upload_from_computer": "Upload from computer", + "upload_project": "Upload Project", + "upload_zipped_project": "Upload Zipped Project", + "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", + "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy HajTeX organizational plans. Talk to our government team.", + "usage_metrics": "Usage metrics", + "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in HajTeX.", + "use_a_different_password": "Please use a different password", + "use_saml_metadata_to_configure_sso_with_idp": "Use the HajTeX SAML metadata to configure SSO with your Identity Provider.", + "use_your_own_machine": "Use your own machine, with your own setup", + "used_latex_before": "Have you ever used LaTeX before?", + "used_latex_response_never": "No, never", + "used_latex_response_occasionally": "Yes, occasionally", + "used_latex_response_often": "Yes, very often", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Used when referring to the figure elsewhere in the document", + "user_administration": "User administration", + "user_already_added": "User already added", + "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", + "user_deletion_password_reset_tip": "If you cannot remember your password, or if you are using Single-Sign-On with another provider to sign in (such as ORCID or Google), please <0>reset your password and try again.", + "user_first_name_attribute": "User first name attribute", + "user_is_not_part_of_group": "User is not part of group", + "user_last_name_attribute": "User last name attribute", + "user_management": "User management", + "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to HajTeX (domain-based enrollment or SSO).", + "user_metrics": "User metrics", + "user_not_found": "User not found", + "user_sessions": "User Sessions", + "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", + "using_latex": "Using LaTeX", + "using_premium_features": "Using premium features", + "using_the_overleaf_editor": "Using the __appName__ Editor", + "valid": "Valid", + "valid_sso_configuration": "Valid SSO configuration", + "validation_issue_entry_description": "A validation issue which prevented this project from compiling", + "vat": "VAT", + "vat_number": "VAT Number", + "verify_email_address_before_enabling_managed_users": "You need to verify your email address before enabling managed users.", + "view_all": "View All", + "view_code": "View code", + "view_configuration": "View configuration", + "view_group_members": "View group members", + "view_hub": "View Admin Hub", + "view_hub_subtext": "Access and download subscription statistics and a list of users", + "view_in_template_gallery": "View it in the template gallery", + "view_invitation": "View Invitation", + "view_labs_experiments": "View Labs Experiments", + "view_less": "View less", + "view_logs": "View logs", + "view_metrics": "View metrics", + "view_metrics_commons_subtext": "Monitor and download usage metrics for your Commons subscription", + "view_metrics_group_subtext": "Monitor and download usage metrics for your group subscription", + "view_more": "View more", + "view_only_access": "View-only access", + "view_only_downgraded": "View only. Upgrade to restore edit access.", + "view_options": "View options", + "view_pdf": "View PDF", + "view_source": "View Source", + "view_your_invoices": "View Your Invoices", + "viewer": "Viewer", + "viewing_x": "Viewing <0>__endTime__", + "visual_editor": "Visual Editor", + "visual_editor_is_only_available_for_tex_files": "Visual Editor is only available for TeX files", + "want_access_to_overleaf_premium_features_through_your_university": "Want access to __appName__ premium features through your university?", + "want_change_to_apply_before_plan_end": "If you wish this change to apply before the end of your current billing period, please contact us.", + "we_are_testing_a_new_reference_search": "We are testing a new reference search.", + "we_are_unable_to_opt_you_into_this_experiment": "We are unable to opt you into this experiment at this time, please ensure your organization has allowed this feature, or try again later.", + "we_cant_confirm_this_email": "We can’t confirm this email", + "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", + "we_do_not_share_personal_information": "See our <0>Privacy Notice for details of how we treat your personal data", + "we_logged_you_in": "We have logged you in.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", + "we_sent_new_code": "We’ve sent a new code. If it doesn’t arrive, make sure to check your spam and any promotions folders.", + "webinars": "Webinars", + "website_status": "Website status", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Welcome to __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "We’re making some <0>changes to project sharing. This means, as someone with edit access, your name and email address will be visible to the project owner and other editors.", + "were_performing_maintenance": "We’re performing maintenance on HajTeX and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected this project.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected your project.", + "what_do_you_need": "What do you need?", + "what_do_you_need_help_with": "What do you need help with?", + "what_do_you_think_of_the_ai_error_assistant": "What do you think of the AI error assistant?", + "what_does_this_mean": "What does this mean?", + "what_does_this_mean_for_you": "This means:", + "what_happens_when_sso_is_enabled": "What happens when SSO is enabled?", + "what_should_we_call_you": "What should we call you?", + "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use HajTeX as normal, but you’ll see any labs features marked with this badge:", + "when_you_tick_the_include_caption_box": "When you tick the box “Include caption” the image will be inserted into your document with a placeholder caption. To edit it, you simply select the placeholder text and type to replace it with your own.", + "why_latex": "Why LaTeX?", + "wide": "Wide", + "will_lose_edit_access_on_date": "Will lose edit access on __date__", + "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", + "with_premium_subscription_you_also_get": "With an HajTeX Premium subscription you also get", + "word_count": "Word Count", + "work_offline": "Work offline", + "work_or_university_sso": "Work/university single sign-on", + "work_with_non_overleaf_users": "Work with non HajTeX users", + "would_you_like_to_see_a_university_subscription": "Would you like to see a university-wide __appName__ subscription at your university?", + "write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:", + "writefull": "Writefull", + "writefull_learn_more": "Learn more about Writefull for HajTeX", + "writefull_loading_error_body": "Try refreshing the page. If this doesn’t work, try disabling any active browser extensions to check they aren’t blocking Writefull from loading.", + "writefull_loading_error_title": "Writefull didn’t load correctly", + "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for HajTeX.", + "x_changes_in": "__count__ change in", + "x_changes_in_plural": "__count__ changes in", + "x_collaborators_per_project": "__collaboratorsCount__ collaborators per project", + "x_libraries_accessed_in_this_project": "__provider__ libraries accessed in this project", + "x_price_for_first_month": "<0>__price__ for your first month", + "x_price_for_first_year": "<0>__price__ for your first year", + "x_price_for_y_months": "<0>__price__ for your first __discountMonths__ months", + "x_price_per_user": "__price__ per user", + "x_price_per_year": "__price__ per year", + "year": "year", + "yearly": "Yearly", + "yes_im_in": "Yes, I’m in", + "yes_move_me_to_personal_plan": "Yes, move me to the Personal plan", + "yes_that_is_correct": "Yes, that’s correct", + "you": "You", + "you_already_have_a_subscription": "You already have a subscription", + "you_and_collaborators_get_access_to": "You and your project collaborators get access to", + "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other HajTeX users that you invite to your projects).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the HajTeX Commons subscription at <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "You are a <0>manager of <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_currently_logged_in_as": "You are currently logged in as __email__.", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "You’re on an __appName__ Paid plan. <0>Contact support to find out more.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "You are on our <0>__planName__ plan as a <1>confirmed member of <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are on our <0>__planName__ plan as a <1>member of the group subscription <1>__groupName__ administered by <1>__adminEmail__", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "You can also choose to <0>view anonymously (you will lose edit access) or <1>leave the project.", + "you_can_buy_this_plan_but_not_as_a_trial": "You can buy this plan but not as a trial, as you’ve completed a trial recently.", + "you_can_manage_your_reference_manager_integrations_from_your_account_settings_page": "You can manage your reference manager integrations from your <0>account settings page.", + "you_can_now_enable_sso": "You can now enable SSO on your Group settings page.", + "you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Professional features.", + "you_can_only_add_n_people_to_edit_a_project": "You can only add __count__ person to edit a project with you on your current plan. Upgrade to add more.", + "you_can_only_add_n_people_to_edit_a_project_plural": "You can only add __count__ people to edit a project with you on your current plan. Upgrade to add more.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can <0>opt in and out of the program at any time on this page", + "you_can_request_a_maximum_of_limit_fixes_per_day": "You can request a maximum of __limit__ fixes per day. Please try again tomorrow.", + "you_can_select_or_invite": "You can select or invite __count__ editor on your current plan, or upgrade to get more.", + "you_can_select_or_invite_plural": "You can select or invite __count__ editors on your current plan, or upgrade to get more.", + "you_cant_add_or_change_password_due_to_sso": "You can’t add or change your password because your group or organization uses <0>single sign-on (SSO).", + "you_cant_join_this_group_subscription": "You can’t join this group subscription", + "you_cant_reset_password_due_to_sso": "You can’t reset your password because your group or organization uses SSO. <0>Log in with SSO.", + "you_dont_have_any_repositories": "You don’t have any repositories", + "you_get_access_to": "You get access to", + "you_get_access_to_info": "These features are available only to you (the subscriber).", + "you_have_added_x_of_group_size_y": "You have added <0>__addedUsersSize__ of <1>__groupSize__ available members", + "you_have_been_invited_to_transfer_management_of_your_account": "You have been invited to transfer management of your account.", + "you_have_been_invited_to_transfer_management_of_your_account_to": "You have been invited to transfer management of your account to __groupName__.", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "You have been removed from this project, and will no longer have access to it. You will be redirected to your project dashboard momentarily.", + "you_need_to_configure_your_sso_settings": "You need to configure and test your SSO settings before enabling SSO", + "you_plus_1": "You + 1", + "you_plus_10": "You + 10", + "you_plus_6": "You + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>You will be able to contact us any time to share your feedback", + "you_will_be_able_to_reassign_subscription": "You will be able to reassign their subscription membership to another person in your organization", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "You’ll get the best results from using this tool in the <0>Visual Editor, although you can still use it to insert tables in the <1>Code Editor. Once you’ve selected the number of rows and columns you need, the table will appear in your document and you can double click in a cell to add contents to it.", + "youll_need_to_ask_the_github_repository_owner": "You’ll need to ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to HajTeX. <0>Read more about SSO.", + "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", + "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", + "your_account_is_suspended": "Your account is suspended", + "your_affiliation_is_confirmed": "Your <0>__institutionName__ affiliation is confirmed.", + "your_browser_does_not_support_this_feature": "Sorry, your browser doesn’t support this feature. Please update your browser to its latest version.", + "your_compile_timed_out": "Your compile timed out", + "your_current_project_will_revert_to_the_version_from_time": "Your current project will revert to the version from __timestamp__", + "your_git_access_info": "Your Git authentication tokens should be entered whenever you’re prompted for a password.", + "your_git_access_info_bullet_1": "You can have up to 10 tokens.", + "your_git_access_info_bullet_2": "If you reach the maximum limit, you’ll need to delete a token before you can generate a new one.", + "your_git_access_info_bullet_3": "You can generate a token using the <0>Generate token button.", + "your_git_access_info_bullet_4": "You won’t be able to view the full token after the first time you generate it. Please copy it and keep it safe", + "your_git_access_info_bullet_5": "Previously generated tokens will be shown here.", + "your_git_access_tokens": "Your Git authentication tokens", + "your_message_to_collaborators": "Send a message to your collaborators", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "Your name and email address will be visible to the project owner and other editors.", + "your_new_plan": "Your new plan", + "your_password_has_been_successfully_changed": "Your password has been successfully changed", + "your_password_was_detected": "Your password is on a <0>public list of known compromised passwords. Keep your account safe by changing your password now.", + "your_plan": "Your plan", + "your_plan_is_changing_at_term_end": "Your plan is changing to <0>__pendingPlanName__ at the end of the current billing period.", + "your_plan_is_limited_to_n_editors": "Your plan allows __count__ collaborator with edit access and unlimited viewers.", + "your_plan_is_limited_to_n_editors_plural": "Your plan allows __count__ collaborators with edit access and unlimited viewers.", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Your project exceeded the compile timeout limit on our free plan.", + "your_project_exceeded_editor_limit": "Your project exceeded the editor limit and access levels were changed. Select a new access level for your collaborators, or upgrade to add more editors.", + "your_project_near_compile_timeout_limit": "Your project is near the compile timeout limit for our free plan.", + "your_projects": "Your Projects", + "your_questions_answered": "Your questions answered", + "your_role": "Your role", + "your_sessions": "Your Sessions", + "your_subscription": "Your Subscription", + "your_subscription_has_expired": "Your subscription has expired.", + "youre_a_member_of_overleaf_labs": "You’re a member of HajTeX Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", + "youre_about_to_disable_single_sign_on": "You’re about to disable single sign-on for all group members.", + "youre_about_to_enable_single_sign_on": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct and all your group members have managed user accounts.", + "youre_about_to_enable_single_sign_on_sso_only": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct.", + "youre_already_setup_for_sso": "You’re already set up for SSO", + "youre_joining": "You’re joining", + "youre_on_free_trial_which_ends_on": "You’re on a free trial which ends on <0>__date__.", + "youre_signed_in_as_logout": "You’re signed in as <0>__email__. <1>Log out.", + "youre_signed_up": "You’re signed up", + "youve_lost_edit_access": "You’ve lost edit access", + "youve_unlinked_all_users": "You’ve unlinked all users", + "zh-CN": "Chinese", + "zip_contents_too_large": "Zip contents too large", + "zoom_in": "Zoom in", + "zoom_out": "Zoom out", + "zoom_to": "Zoom to", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero and <0>Mendeley integrations", + "zotero_cta": "Get Zotero integration", + "zotero_groups_loading_error": "There was an error loading groups from Zotero", + "zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "zotero_integration": "Zotero Integration", + "zotero_integration_lowercase": "Zotero integration", + "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in HajTeX, so you can easily cite anything from your libraries.", + "zotero_is_premium": "Zotero integration is a premium feature", + "zotero_reference_loading_error": "Error, could not load references from Zotero", + "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", + "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", + "zotero_sync_description": "With the Zotero integration you can import your references from Zotero into your __appName__ projects." +} diff --git a/docker/features/manuel_overwrite/_intern/files.yaml b/docker/features/manuel_overwrite/_intern/files.yaml new file mode 100644 index 0000000..e3b574a --- /dev/null +++ b/docker/features/manuel_overwrite/_intern/files.yaml @@ -0,0 +1,4 @@ +volumes: + - /docker/features/manuel_overwrite/5.2.1/overleaf/services/web/locales/en.json:/overleaf/services/web/locales/en.json + - /docker/features/manuel_overwrite/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js:/overleaf/services/web/app/src/infrastructure/Features.js + - /docker/features/manuel_overwrite/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js diff --git a/docker/features/manuel_overwrite/dev_tools/get_file_list.sh b/docker/features/manuel_overwrite/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/manuel_overwrite/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/manuel_overwrite/dev_tools/get_masterfiles.sh b/docker/features/manuel_overwrite/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/manuel_overwrite/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js new file mode 100644 index 0000000..9c25d25 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js @@ -0,0 +1,731 @@ +const AuthenticationManager = require('./AuthenticationManager') +const SessionManager = require('./SessionManager') +const OError = require('@overleaf/o-error') +const LoginRateLimiter = require('../Security/LoginRateLimiter') +const UserUpdater = require('../User/UserUpdater') +const Metrics = require('@overleaf/metrics') +const logger = require('@overleaf/logger') +const querystring = require('querystring') +const Settings = require('@overleaf/settings') +const basicAuth = require('basic-auth') +const tsscmp = require('tsscmp') +const {User} = require("../../models/User"); +const UserCreator = require("../User/UserCreator"); +const UserHandler = require('../User/UserHandler') +const UserSessionsManager = require('../User/UserSessionsManager') +const Analytics = require('../Analytics/AnalyticsManager') +const passport = require('passport') +const NotificationsBuilder = require('../Notifications/NotificationsBuilder') +const UrlHelper = require('../Helpers/UrlHelper') +const AsyncFormHelper = require('../Helpers/AsyncFormHelper') +const _ = require('lodash') +const UserAuditLogHandler = require('../User/UserAuditLogHandler') +const AnalyticsRegistrationSourceHelper = require('../Analytics/AnalyticsRegistrationSourceHelper') +const { + acceptsJson, +} = require('../../infrastructure/RequestContentTypeDetection') +const { hasAdminAccess } = require('../Helpers/AdminAuthorizationHelper') +const Modules = require('../../infrastructure/Modules') +const { expressify, promisify } = require('@overleaf/promise-utils') +const { handleAuthenticateErrors } = require('./AuthenticationErrors') +const EmailHelper = require('../Helpers/EmailHelper') + +function send401WithChallenge(res) { + res.setHeader('WWW-Authenticate', 'OverleafLogin') + res.sendStatus(401) +} + +function checkCredentials(userDetailsMap, user, password) { + const expectedPassword = userDetailsMap.get(user) + const userExists = userDetailsMap.has(user) && expectedPassword // user exists with a non-null password + const isValid = userExists && tsscmp(expectedPassword, password) + if (!isValid) { + logger.err({ user }, 'invalid login details') + } + Metrics.inc('security.http-auth.check-credentials', 1, { + path: userExists ? 'known-user' : 'unknown-user', + status: isValid ? 'pass' : 'fail', + }) + return isValid +} + +function reduceStaffAccess(staffAccess) { + const reducedStaffAccess = {} + for (const field in staffAccess) { + if (staffAccess[field]) { + reducedStaffAccess[field] = true + } + } + return reducedStaffAccess +} + +function userHasStaffAccess(user) { + return user.staffAccess && Object.values(user.staffAccess).includes(true) +} + +// TODO: Finish making these methods async +const AuthenticationController = { + serializeUser(user, callback) { + if (!user._id || !user.email) { + const err = new Error('serializeUser called with non-user object') + logger.warn({ user }, err.message) + return callback(err) + } + const lightUser = { + _id: user._id, + first_name: user.first_name, + last_name: user.last_name, + email: user.email, + referal_id: user.referal_id, + session_created: new Date().toISOString(), + ip_address: user._login_req_ip, + must_reconfirm: user.must_reconfirm, + v1_id: user.overleaf != null ? user.overleaf.id : undefined, + analyticsId: user.analyticsId || user._id, + alphaProgram: user.alphaProgram || undefined, // only store if set + betaProgram: user.betaProgram || undefined, // only store if set + } + if (user.isAdmin) { + lightUser.isAdmin = true + } + if (userHasStaffAccess(user)) { + lightUser.staffAccess = reduceStaffAccess(user.staffAccess) + } + + callback(null, lightUser) + }, + + deserializeUser(user, cb) { + cb(null, user) + }, + + passportLogin(req, res, next) { + // This function is middleware which wraps the passport.authenticate middleware, + // so we can send back our custom `{message: {text: "", type: ""}}` responses on failure, + // and send a `{redir: ""}` response on success + passport.authenticate( + 'local', + { keepSessionInfo: true }, + async function (err, user, info) { + if (err) { + return next(err) + } + if (user) { + // `user` is either a user object or false + AuthenticationController.setAuditInfo(req, { + method: 'Password login', + }) + + try { + // We could investigate whether this can be done together with 'preFinishLogin' instead of being its own hook + await Modules.promises.hooks.fire( + 'saasLogin', + { email: user.email }, + req + ) + await AuthenticationController.promises.finishLogin(user, req, res) + } catch (err) { + return next(err) + } + } else { + if (info.redir != null) { + return res.json({ redir: info.redir }) + } else { + res.status(info.status || 200) + delete info.status + const body = { message: info } + const { errorReason } = info + if (errorReason) { + body.errorReason = errorReason + delete info.errorReason + } + return res.json(body) + } + } + } + )(req, res, next) + }, + + async _finishLoginAsync(user, req, res) { + if (user === false) { + return AsyncFormHelper.redirect(req, res, '/login') + } // OAuth2 'state' mismatch + + if (user.suspended) { + return AsyncFormHelper.redirect(req, res, '/account-suspended') + } + + if (Settings.adminOnlyLogin && !hasAdminAccess(user)) { + return res.status(403).json({ + message: { type: 'error', text: 'Admin only panel' }, + }) + } + + const auditInfo = AuthenticationController.getAuditInfo(req) + + const anonymousAnalyticsId = req.session.analyticsId + const isNewUser = req.session.justRegistered || false + + const results = await Modules.promises.hooks.fire( + 'preFinishLogin', + req, + res, + user + ) + + if (results.some(result => result && result.doNotFinish)) { + return + } + + if (user.must_reconfirm) { + return AuthenticationController._redirectToReconfirmPage(req, res, user) + } + + const redir = + AuthenticationController.getRedirectFromSession(req) || '/project' + + _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) + const userId = user._id + + await UserAuditLogHandler.promises.addEntry( + userId, + 'login', + userId, + req.ip, + auditInfo + ) + + await _afterLoginSessionSetupAsync(req, user) + + AuthenticationController._clearRedirectFromSession(req) + AnalyticsRegistrationSourceHelper.clearSource(req.session) + AnalyticsRegistrationSourceHelper.clearInbound(req.session) + AsyncFormHelper.redirect(req, res, redir) + }, + + finishLogin(user, req, res, next) { + AuthenticationController._finishLoginAsync(user, req, res).catch(err => + next(err) + ) + }, + + async doPassportLogin(req, username, password, done) { + let user, info + try { + ;({ user, info } = await AuthenticationController._doPassportLogin( + req, + username, + password + )) + } catch (error) { + return done(error) + } + return done(undefined, user, info) + }, + + /** + * + * @param req + * @param username + * @param password + * @returns {Promise<{ user: any, info: any}>} + */ + async _doPassportLogin(req, username, password) { + const email = EmailHelper.parseEmail(username) + if (!email) { + Metrics.inc('login_failure_reason', 1, { status: 'invalid_email' }) + return { + user: null, + info: { + status: 400, + type: 'error', + text: req.i18n.translate('email_address_is_invalid'), + }, + } + } + AuthenticationController.setAuditInfo(req, { method: 'Password login' }) + + const { fromKnownDevice } = AuthenticationController.getAuditInfo(req) + const auditLog = { + ipAddress: req.ip, + info: { method: 'Password login', fromKnownDevice }, + } + + let user, isPasswordReused + try { + ;({ user, isPasswordReused } = + await AuthenticationManager.promises.authenticate( + { email }, + password, + auditLog, + { + enforceHIBPCheck: !fromKnownDevice, + } + )) + } catch (error) { + return { + user: false, + info: handleAuthenticateErrors(error, req), + } + } + + if (user && AuthenticationController.captchaRequiredForLogin(req, user)) { + Metrics.inc('login_failure_reason', 1, { status: 'captcha_missing' }) + return { + user: false, + info: { + text: req.i18n.translate('cannot_verify_user_not_robot'), + type: 'error', + errorReason: 'cannot_verify_user_not_robot', + status: 400, + }, + } + } else if (user) { + if ( + isPasswordReused && + AuthenticationController.getRedirectFromSession(req) == null + ) { + AuthenticationController.setRedirectInSession( + req, + '/compromised-password' + ) + } + + // async actions + return { user, info: undefined } + } else { + Metrics.inc('login_failure_reason', 1, { status: 'password_invalid' }) + AuthenticationController._recordFailedLogin() + logger.debug({ email }, 'failed log in') + return { + user: false, + info: { + type: 'error', + key: 'invalid-password-retry-or-reset', + status: 401, + }, + } + } + }, + + captchaRequiredForLogin(req, user) { + switch (AuthenticationController.getAuditInfo(req).captcha) { + case 'trusted': + case 'disabled': + return false + case 'solved': + return false + case 'skipped': { + let required = false + if (user.lastFailedLogin) { + const requireCaptchaUntil = + user.lastFailedLogin.getTime() + + Settings.elevateAccountSecurityAfterFailedLogin + required = requireCaptchaUntil >= Date.now() + } + Metrics.inc('force_captcha_on_login', 1, { + status: required ? 'yes' : 'no', + }) + return required + } + default: + throw new Error('captcha middleware missing in handler chain') + } + }, + + ipMatchCheck(req, user) { + if (req.ip !== user.lastLoginIp) { + NotificationsBuilder.ipMatcherAffiliation(user._id).create( + req.ip, + () => {} + ) + } + return UserUpdater.updateUser( + user._id.toString(), + { + $set: { lastLoginIp: req.ip }, + }, + () => {} + ) + }, + + requireLogin() { + const doRequest = function (req, res, next) { + if (next == null) { + next = function () {} + } + if (!SessionManager.isUserLoggedIn(req.session)) { + if (acceptsJson(req)) return send401WithChallenge(res) + return AuthenticationController._redirectToLoginOrRegisterPage(req, res) + } else { + req.user = SessionManager.getSessionUser(req.session) + return next() + } + } + + return doRequest + }, + + /** + * @param {string} scope + * @return {import('express').Handler} + */ + requireOauth(scope) { + if (typeof scope !== 'string' || !scope) { + throw new Error( + "requireOauth() expects a non-empty string as 'scope' parameter" + ) + } + + // require this here because module may not be included in some versions + const Oauth2Server = require('../../../../modules/oauth2-server/app/src/Oauth2Server') + const middleware = async (req, res, next) => { + const request = new Oauth2Server.Request(req) + const response = new Oauth2Server.Response(res) + try { + const token = await Oauth2Server.server.authenticate( + request, + response, + { scope } + ) + req.oauth = { access_token: token.accessToken } + req.oauth_token = token + req.oauth_user = token.user + next() + } catch (err) { + if ( + err.code === 400 && + err.message === 'Invalid request: malformed authorization header' + ) { + err.code = 401 + } + // send all other errors + res + .status(err.code) + .json({ error: err.name, error_description: err.message }) + } + } + return expressify(middleware) + }, + + _globalLoginWhitelist: [], + addEndpointToLoginWhitelist(endpoint) { + return AuthenticationController._globalLoginWhitelist.push(endpoint) + }, + + requireGlobalLogin(req, res, next) { + if ( + AuthenticationController._globalLoginWhitelist.includes( + req._parsedUrl.pathname + ) + ) { + return next() + } + + if (req.headers.authorization != null) { + AuthenticationController.requirePrivateApiAuth()(req, res, next) + } else if (SessionManager.isUserLoggedIn(req.session)) { + next() + } else { + logger.debug( + { url: req.url }, + 'user trying to access endpoint not in global whitelist' + ) + if (acceptsJson(req)) return send401WithChallenge(res) + AuthenticationController.setRedirectInSession(req) + res.redirect('/login') + } + }, + + validateAdmin(req, res, next) { + const adminDomains = Settings.adminDomains + if ( + !adminDomains || + !(Array.isArray(adminDomains) && adminDomains.length) + ) { + return next() + } + const user = SessionManager.getSessionUser(req.session) + if (!hasAdminAccess(user)) { + return next() + } + const email = user.email + if (email == null) { + return next( + new OError('[ValidateAdmin] Admin user without email address', { + userId: user._id, + }) + ) + } + if (!adminDomains.find(domain => email.endsWith(`@${domain}`))) { + return next( + new OError('[ValidateAdmin] Admin user with invalid email domain', { + email, + userId: user._id, + }) + ) + } + return next() + }, + + checkCredentials, + + requireBasicAuth: function (userDetails) { + const userDetailsMap = new Map(Object.entries(userDetails)) + return function (req, res, next) { + const credentials = basicAuth(req) + if ( + !credentials || + !checkCredentials(userDetailsMap, credentials.name, credentials.pass) + ) { + send401WithChallenge(res) + Metrics.inc('security.http-auth', 1, { status: 'reject' }) + } else { + Metrics.inc('security.http-auth', 1, { status: 'accept' }) + next() + } + } + }, + + requirePrivateApiAuth() { + return AuthenticationController.requireBasicAuth(Settings.httpAuthUsers) + }, + + setAuditInfo(req, info) { + if (!req.__authAuditInfo) { + req.__authAuditInfo = {} + } + Object.assign(req.__authAuditInfo, info) + }, + + getAuditInfo(req) { + return req.__authAuditInfo || {} + }, + + setRedirectInSession(req, value) { + if (value == null) { + value = + Object.keys(req.query).length > 0 + ? `${req.path}?${querystring.stringify(req.query)}` + : `${req.path}` + } + if ( + req.session != null && + !/^\/(socket.io|js|stylesheets|img)\/.*$/.test(value) && + !/^.*\.(png|jpeg|svg)$/.test(value) + ) { + const safePath = UrlHelper.getSafeRedirectPath(value) + return (req.session.postLoginRedirect = safePath) + } + }, + + _redirectToLoginOrRegisterPage(req, res) { + if ( + req.query.zipUrl != null || + req.session.sharedProjectData || + req.path === '/user/subscription/new' + ) { + AuthenticationController._redirectToRegisterPage(req, res) + } else { + AuthenticationController._redirectToLoginPage(req, res) + } + }, + + _redirectToLoginPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to login page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/login?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _redirectToReconfirmPage(req, res, user) { + logger.debug( + { url: req.url }, + 'user needs to reconfirm so redirecting to reconfirm page' + ) + req.session.reconfirm_email = user != null ? user.email : undefined + const redir = '/user/reconfirm' + AsyncFormHelper.redirect(req, res, redir) + }, + + _redirectToRegisterPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to register page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/register?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _recordSuccessfulLogin(userId, callback) { + if (callback == null) { + callback = function () {} + } + UserUpdater.updateUser( + userId.toString(), + { + $set: { lastLoggedIn: new Date() }, + $inc: { loginCount: 1 }, + }, + function (error) { + if (error != null) { + callback(error) + } + Metrics.inc('user.login.success') + callback() + } + ) + }, + + _recordFailedLogin(callback) { + Metrics.inc('user.login.failed') + if (callback) callback() + }, + + getRedirectFromSession(req) { + let safePath + const value = _.get(req, ['session', 'postLoginRedirect']) + if (value) { + safePath = UrlHelper.getSafeRedirectPath(value) + } + return safePath || null + }, + + _clearRedirectFromSession(req) { + if (req.session != null) { + delete req.session.postLoginRedirect + } + }, + + oidcLogin(req, res, next) { + return passport.authenticate('openidconnect')(req, res, next) + }, + + oidcLoginCallback(req, res, next) { + return passport.authenticate('openidconnect', + {failureRedirect: '/login', failureMessage: true}, function (err, user) { + if (err) { + return next(err) + } + AuthenticationController.finishLogin(user, req, res, next) + } + )(req, res, next) + }, + + verifyOpenIDConnect(issuer, profile, callback) { + User.findOne({oidcUID: profile.id}).then(user => { + if (!user) { + UserCreator.createNewUser({ + holdingAccount: false, + email: profile.emails[0].value, + first_name: profile.name?.givenName || "", + last_name: profile.name?.familyName || "", + oidcUID: profile.id, + oidcUsername: profile.username, + }, (err, user) => { + if(err) { + return callback(err); + } + return callback(null, user); + }) + } else { + user.first_name = profile.name?.givenName || ""; + user.last_name = profile.name?.familyName || ""; + user.oidcUsername = profile.username; + if (user.email != profile.emails[0].value) { + user.email = profile.emails[0].value; + + const reversedHostname = user.email.split('@')[1].split('').reverse().join('') + const emailData = { + email: user.email, + createdAt: new Date(), + reversedHostname, + } + user.emails = [emailData] + } + + user.save().catch(error => { + return callback(error); + }).then(user => { + return callback(null, user); + }) + } + } + ).catch(error => { + return callback(error); + }) + } +} + +function _afterLoginSessionSetup(req, user, callback) { + req.login(user, { keepSessionInfo: true }, function (err) { + if (err) { + OError.tag(err, 'error from req.login', { + user_id: user._id, + }) + return callback(err) + } + delete req.session.__tmp + delete req.session.csrfSecret + req.session.save(function (err) { + if (err) { + OError.tag(err, 'error saving regenerated session after login', { + user_id: user._id, + }) + return callback(err) + } + UserSessionsManager.trackSession(user, req.sessionID, function () {}) + if (!req.deviceHistory) { + // Captcha disabled or SSO-based login. + return callback() + } + req.deviceHistory.add(user.email) + req.deviceHistory + .serialize(req.res) + .catch(err => { + logger.err({ err }, 'cannot serialize deviceHistory') + }) + .finally(() => callback()) + }) + }) +} + +const _afterLoginSessionSetupAsync = promisify(_afterLoginSessionSetup) + +function _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) { + UserHandler.populateTeamInvites(user, err => { + if (err != null) { + logger.warn({ err }, 'error setting up login data') + } + }) + LoginRateLimiter.recordSuccessfulLogin(user.email, () => {}) + AuthenticationController._recordSuccessfulLogin(user._id, () => {}) + AuthenticationController.ipMatchCheck(req, user) + Analytics.recordEventForUserInBackground(user._id, 'user-logged-in', { + source: req.session.saml + ? 'saml' + : req.user_info?.auth_provider || 'email-password', + }) + Analytics.identifyUser(user._id, anonymousAnalyticsId, isNewUser) + + logger.debug( + { email: user.email, userId: user._id.toString() }, + 'successful log in' + ) + + req.session.justLoggedIn = true + // capture the request ip for use when creating the session + return (user._login_req_ip = req.ip) +} + +AuthenticationController.promises = { + finishLogin: AuthenticationController._finishLoginAsync, +} + +module.exports = AuthenticationController diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js new file mode 100644 index 0000000..1b466b4 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js @@ -0,0 +1,330 @@ +const UserGetter = require('./UserGetter') +const OError = require('@overleaf/o-error') +const UserSessionsManager = require('./UserSessionsManager') +const logger = require('@overleaf/logger') +const Settings = require('@overleaf/settings') +const AuthenticationController = require('../Authentication/AuthenticationController') +const SessionManager = require('../Authentication/SessionManager') +const NewsletterManager = require('../Newsletter/NewsletterManager') +const SubscriptionLocator = require('../Subscription/SubscriptionLocator') +const _ = require('lodash') +const { expressify } = require('@overleaf/promise-utils') +const Features = require('../../infrastructure/Features') +const SplitTestHandler = require('../SplitTests/SplitTestHandler') +const Modules = require('../../infrastructure/Modules') + +async function settingsPage(req, res) { + const userId = SessionManager.getLoggedInUserId(req.session) + const reconfirmationRemoveEmail = req.query.remove + // SSO + const ssoError = req.session.ssoError + if (ssoError) { + delete req.session.ssoError + } + const ssoErrorMessage = req.session.ssoErrorMessage + if (ssoErrorMessage) { + delete req.session.ssoErrorMessage + } + const projectSyncSuccessMessage = req.session.projectSyncSuccessMessage + if (projectSyncSuccessMessage) { + delete req.session.projectSyncSuccessMessage + } + // Institution SSO + let institutionLinked = _.get(req.session, ['saml', 'linked']) + if (institutionLinked) { + // copy object if exists because _.get does not + institutionLinked = Object.assign( + { + hasEntitlement: _.get(req.session, ['saml', 'hasEntitlement']), + }, + institutionLinked + ) + } + const samlError = _.get(req.session, ['saml', 'error']) + const institutionEmailNonCanonical = _.get(req.session, [ + 'saml', + 'emailNonCanonical', + ]) + const institutionRequestedEmail = _.get(req.session, [ + 'saml', + 'requestedEmail', + ]) + + const reconfirmedViaSAML = _.get(req.session, ['saml', 'reconfirmed']) + delete req.session.saml + let shouldAllowEditingDetails = true + if (Settings.ldap && Settings.ldap.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } + if (Settings.saml && Settings.saml.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } + if (Settings.oidc && Settings.oidc.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } + const oauthProviders = Settings.oauthProviders || {} + + const user = await UserGetter.promises.getUser(userId) + if (!user) { + // The user has just deleted their account. + return UserSessionsManager.removeSessionsFromRedis( + { _id: userId }, + null, + () => res.redirect('/') + ) + } + + let personalAccessTokens + try { + const results = await Modules.promises.hooks.fire( + 'listPersonalAccessTokens', + user._id + ) + personalAccessTokens = results?.[0] ?? [] + } catch (error) { + logger.error(OError.tag(error)) + } + + let currentManagedUserAdminEmail + try { + currentManagedUserAdminEmail = + await SubscriptionLocator.promises.getAdminEmail(req.managedBy) + } catch (err) { + logger.error({ err }, 'error getting subscription admin email') + } + + let memberOfSSOEnabledGroups = [] + try { + memberOfSSOEnabledGroups = + ( + await Modules.promises.hooks.fire( + 'getUserGroupsSSOEnrollmentStatus', + user._id, + { teamName: 1 }, + ['email'] + ) + )?.[0] || [] + memberOfSSOEnabledGroups = memberOfSSOEnabledGroups.map(group => { + return { + groupId: group._id.toString(), + linked: group.linked, + groupName: group.teamName, + adminEmail: group.admin_id?.email, + } + }) + } catch (error) { + logger.error( + { err: error }, + 'error fetching groups with Group SSO enabled the user may be member of' + ) + } + + // Get the user's assignment for this page's Bootstrap 5 split test, which + // populates splitTestVariants with a value for the split test name and allows + // Pug to read it + await SplitTestHandler.promises.getAssignment(req, res, 'bootstrap-5') + + res.render('user/settings', { + title: 'account_settings', + user: { + id: user._id, + isAdmin: user.isAdmin, + email: user.email, + allowedFreeTrial: user.allowedFreeTrial, + first_name: user.first_name, + last_name: user.last_name, + alphaProgram: user.alphaProgram, + betaProgram: user.betaProgram, + labsProgram: user.labsProgram, + features: { + dropbox: user.features.dropbox, + github: user.features.github, + mendeley: user.features.mendeley, + zotero: user.features.zotero, + references: user.features.references, + }, + refProviders: { + mendeley: Boolean(user.refProviders?.mendeley), + zotero: Boolean(user.refProviders?.zotero), + }, + writefull: { + enabled: Boolean(user.writefull?.enabled), + }, + }, + hasPassword: !!user.hashedPassword, + shouldAllowEditingDetails, + oauthProviders: UserPagesController._translateProviderDescriptions( + oauthProviders, + req + ), + institutionLinked, + samlError, + institutionEmailNonCanonical: + institutionEmailNonCanonical && institutionRequestedEmail + ? institutionEmailNonCanonical + : undefined, + reconfirmedViaSAML, + reconfirmationRemoveEmail, + samlBeta: req.session.samlBeta, + ssoErrorMessage, + thirdPartyIds: UserPagesController._restructureThirdPartyIds(user), + projectSyncSuccessMessage, + personalAccessTokens, + emailAddressLimit: Settings.emailAddressLimit, + isManagedAccount: !!req.managedBy, + userRestrictions: Array.from(req.userRestrictions || []), + currentManagedUserAdminEmail, + gitBridgeEnabled: Settings.enableGitBridge, + isSaas: Features.hasFeature('saas'), + memberOfSSOEnabledGroups, + }) +} + +async function accountSuspended(req, res) { + if (SessionManager.isUserLoggedIn(req.session)) { + return res.redirect('/project') + } + res.render('user/accountSuspended', { + title: 'your_account_is_suspended', + }) +} + +const UserPagesController = { + accountSuspended: expressify(accountSuspended), + + registerPage(req, res) { + const sharedProjectData = req.session.sharedProjectData || {} + + const newTemplateData = {} + if (req.session.templateData != null) { + newTemplateData.templateName = req.session.templateData.templateName + } + + res.render('user/register', { + title: 'register', + sharedProjectData, + newTemplateData, + samlBeta: req.session.samlBeta, + }) + }, + + loginPage(req, res) { + // if user is being sent to /login with explicit redirect (redir=/foo), + // such as being sent from the editor to /login, then set the redirect explicitly + if ( + req.query.redir != null && + AuthenticationController.getRedirectFromSession(req) == null + ) { + AuthenticationController.setRedirectInSession(req, req.query.redir) + } + res.render('user/login', { + title: 'login', + }) + }, + + /** + * Landing page for users who may have received one-time login + * tokens from the read-only maintenance site. + * + * We tell them that Overleaf is back up and that they can login normally. + */ + oneTimeLoginPage(req, res, next) { + res.render('user/one_time_login') + }, + + renderReconfirmAccountPage(req, res) { + const pageData = { + reconfirm_email: req.session.reconfirm_email, + } + // when a user must reconfirm their account + res.render('user/reconfirm', pageData) + }, + + settingsPage: expressify(settingsPage), + + sessionsPage(req, res, next) { + const user = SessionManager.getSessionUser(req.session) + logger.debug({ userId: user._id }, 'loading sessions page') + const currentSession = { + ip_address: user.ip_address, + session_created: user.session_created, + } + UserSessionsManager.getAllUserSessions( + user, + [req.sessionID], + (err, sessions) => { + if (err != null) { + OError.tag(err, 'error getting all user sessions', { + userId: user._id, + }) + return next(err) + } + res.render('user/sessions', { + title: 'sessions', + currentSession, + sessions, + }) + } + ) + }, + + emailPreferencesPage(req, res, next) { + const userId = SessionManager.getLoggedInUserId(req.session) + UserGetter.getUser( + userId, + { _id: 1, email: 1, first_name: 1, last_name: 1 }, + (err, user) => { + if (err != null) { + return next(err) + } + NewsletterManager.subscribed(user, (err, subscribed) => { + if (err != null) { + OError.tag(err, 'error getting newsletter subscription status') + return next(err) + } + res.render('user/email-preferences', { + title: 'newsletter_info_title', + subscribed, + }) + }) + } + ) + }, + + compromisedPasswordPage(_, res) { + res.render('user/compromised_password') + }, + + _restructureThirdPartyIds(user) { + // 3rd party identifiers are an array of objects + // this turn them into a single object, which + // makes data easier to use in template + if ( + !user.thirdPartyIdentifiers || + user.thirdPartyIdentifiers.length === 0 + ) { + return null + } + return user.thirdPartyIdentifiers.reduce((obj, identifier) => { + obj[identifier.providerId] = identifier.externalUserId + return obj + }, {}) + }, + + _translateProviderDescriptions(providers, req) { + const result = {} + if (providers) { + for (const provider in providers) { + const data = providers[provider] + data.description = req.i18n.translate( + data.descriptionKey, + Object.assign({}, data.descriptionOptions) + ) + result[provider] = data + } + } + return result + }, +} + +module.exports = UserPagesController diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js new file mode 100644 index 0000000..c650030 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js @@ -0,0 +1,38 @@ +const Settings = require('@overleaf/settings') + +function requiresPrimaryEmailCheck({ + email, + emails, + lastPrimaryEmailCheck, + signUpDate, +}) { + if(Settings.oidc.enable) { + // we never require a check, as emails are retrieved from the OIDC provider + return false + } + + const hasExpired = date => { + if (!date) { + return true + } + return Date.now() - date.getTime() > Settings.primary_email_check_expiration + } + + const primaryEmailConfirmedAt = emails.find( + emailEntry => emailEntry.email === email + ).confirmedAt + + if (primaryEmailConfirmedAt && !hasExpired(primaryEmailConfirmedAt)) { + return false + } + + if (lastPrimaryEmailCheck) { + return hasExpired(lastPrimaryEmailCheck) + } else { + return hasExpired(signUpDate) + } +} + +module.exports = { + requiresPrimaryEmailCheck, +} diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js new file mode 100644 index 0000000..e630f33 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js @@ -0,0 +1,102 @@ +const _ = require('lodash') +const Settings = require('@overleaf/settings') + +const supportModuleAvailable = Settings.moduleImportSequence.includes('support') + +const symbolPaletteModuleAvailable = + Settings.moduleImportSequence.includes('symbol-palette') + +const trackChangesModuleAvailable = + Settings.moduleImportSequence.includes('track-changes') + +/** + * @typedef {Object} Settings + * @property {Object | undefined} apis + * @property {Object | undefined} apis.linkedUrlProxy + * @property {string | undefined} apis.linkedUrlProxy.url + * @property {Object | undefined} apis.references + * @property {string | undefined} apis.references.url + * @property {boolean | undefined} enableGithubSync + * @property {boolean | undefined} enableGitBridge + * @property {boolean | undefined} enableHomepage + * @property {boolean | undefined} enableSaml + * @property {boolean | undefined} ldap + * @property {boolean | undefined} oauth + * @property {Object | undefined} overleaf + * @property {Object | undefined} overleaf.oauth + * @property {boolean | undefined} saml + */ + +const Features = { + /** + * @returns {boolean} + */ + externalAuthenticationSystemUsed() { + return ( + (Boolean(Settings.ldap) && Boolean(Settings.ldap.enable)) || + (Boolean(Settings.saml) && Boolean(Settings.saml.enable)) || + (Boolean(Settings.oidc) && Boolean(Settings.oidc.enable)) || + Boolean(Settings.overleaf) + ) + }, + + /** + * Whether a feature is enabled in the appliation's configuration + * + * @param {string} feature + * @returns {boolean} + */ + hasFeature(feature) { + switch (feature) { + case 'saas': + return Boolean(Settings.overleaf) + case 'homepage': + return Boolean(Settings.enableHomepage) + case 'registration-page': + return ( + !Features.externalAuthenticationSystemUsed() || + Boolean(Settings.overleaf) + ) + case 'registration': + return Boolean(Settings.overleaf) + case 'chat': + return Boolean(Settings.disableChat) === false + case 'github-sync': + return Boolean(Settings.enableGithubSync) + case 'git-bridge': + return Boolean(Settings.enableGitBridge) + case 'oauth': + return Boolean(Settings.oauth) + case 'templates-server-pro': + return Boolean(Settings.templates?.user_id) + case 'affiliations': + case 'analytics': + return Boolean(_.get(Settings, ['apis', 'v1', 'url'])) + case 'references': + return Boolean(_.get(Settings, ['apis', 'references', 'url'])) + case 'saml': + return Boolean(Settings.enableSaml) + case 'linked-project-file': + return Boolean(Settings.enabledLinkedFileTypes.includes('project_file')) + case 'linked-project-output-file': + return Boolean( + Settings.enabledLinkedFileTypes.includes('project_output_file') + ) + case 'link-url': + return Boolean( + _.get(Settings, ['apis', 'linkedUrlProxy', 'url']) && + Settings.enabledLinkedFileTypes.includes('url') + ) + case 'support': + return supportModuleAvailable + case 'symbol-palette': + return symbolPaletteModuleAvailable + case 'track-changes': + return trackChangesModuleAvailable + default: + throw new Error(`unknown feature: ${feature}`) + } + }, +} + +module.exports = Features diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs new file mode 100644 index 0000000..b935c2e --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs @@ -0,0 +1,398 @@ +import express from 'express' +import Settings from '@overleaf/settings' +import logger from '@overleaf/logger' +import metrics from '@overleaf/metrics' +import Validation from './Validation.js' +import csp from './CSP.js' +import Router from '../router.mjs' +import helmet from 'helmet' +import UserSessionsRedis from '../Features/User/UserSessionsRedis.js' +import Csrf from './Csrf.js' +import HttpPermissionsPolicyMiddleware from './HttpPermissionsPolicy.js' +import SessionAutostartMiddleware from './SessionAutostartMiddleware.js' +import AnalyticsManager from '../Features/Analytics/AnalyticsManager.js' +import session from 'express-session' +import CookieMetrics from './CookieMetrics.js' +import CustomSessionStore from './CustomSessionStore.js' +import bodyParser from './BodyParserWrapper.js' +import methodOverride from 'method-override' +import cookieParser from 'cookie-parser' +import bearerTokenMiddleware from 'express-bearer-token' +import passport from 'passport' +import { Strategy as LocalStrategy } from 'passport-local' +import { Strategy as OpenIDConnectStrategy } from 'passport-openidconnect' +import ReferalConnect from '../Features/Referal/ReferalConnect.js' +import RedirectManager from './RedirectManager.js' +import translations from './Translations.js' +import Views from './Views.js' +import Features from './Features.js' +import ErrorController from '../Features/Errors/ErrorController.js' +import HttpErrorHandler from '../Features/Errors/HttpErrorHandler.js' +import UserSessionsManager from '../Features/User/UserSessionsManager.js' +import AuthenticationController from '../Features/Authentication/AuthenticationController.js' +import SessionManager from '../Features/Authentication/SessionManager.js' +import { hasAdminAccess } from '../Features/Helpers/AdminAuthorizationHelper.js' +import Modules from './Modules.js' +import expressLocals from './ExpressLocals.js' +import noCache from 'nocache' +import os from 'os' +import http from 'http' +import { fileURLToPath } from 'url' +import serveStaticWrapper from './ServeStaticWrapper.mjs' + +const sessionsRedisClient = UserSessionsRedis.client() + +const oneDayInMilliseconds = 86400000 + +const STATIC_CACHE_AGE = Settings.cacheStaticAssets + ? oneDayInMilliseconds * 365 + : 0 + +// Init the session store +const sessionStore = new CustomSessionStore({ client: sessionsRedisClient }) + +const app = express() + +const webRouter = express.Router() +const privateApiRouter = express.Router() +const publicApiRouter = express.Router() + +if (Settings.behindProxy) { + app.set('trust proxy', Settings.trustedProxyIps || true) + /** + * Handle the X-Original-Forwarded-For header. + * + * The nginx ingress sends us the contents of X-Forwarded-For it received in + * X-Original-Forwarded-For. Express expects all proxy IPs to be in a comma + * separated list in X-Forwarded-For. + */ + app.use((req, res, next) => { + if ( + req.headers['x-original-forwarded-for'] && + req.headers['x-forwarded-for'] + ) { + req.headers['x-forwarded-for'] = + req.headers['x-original-forwarded-for'] + + ', ' + + req.headers['x-forwarded-for'] + } + next() + }) +} + +// `req.ip` is a getter on the underlying socket. +// The socket details are freed as the connection is dropped -- aka aborted. +// Hence `req.ip` may read `undefined` upon connection drop. +// A couple of places require a valid IP at all times. Cache it! +const ORIGINAL_REQ_IP = Object.getOwnPropertyDescriptor( + Object.getPrototypeOf(app.request), + 'ip' +).get +Object.defineProperty(app.request, 'ip', { + configurable: true, + enumerable: true, + get() { + const ip = ORIGINAL_REQ_IP.call(this) + // Shadow the prototype level getter with a property on the instance. + // Any future access on `req.ip` will get served by the instance property. + Object.defineProperty(this, 'ip', { value: ip }) + return ip + }, +}) + +app.use((req, res, next) => { + if (req.destroyed) { + // Request has been aborted already. + return + } + // Implicitly cache the ip, see above. + if (!req.ip) { + // Critical connection details are missing. + return + } + next() +}) + +if (Settings.exposeHostname) { + const HOSTNAME = os.hostname() + app.use((req, res, next) => { + res.setHeader('X-Served-By', HOSTNAME) + next() + }) +} + +webRouter.use( + serveStaticWrapper( + fileURLToPath(new URL('../../../public', import.meta.url)), + { + maxAge: STATIC_CACHE_AGE, + setHeaders: csp.removeCSPHeaders, + } + ) +) + +app.set('views', fileURLToPath(new URL('../../views', import.meta.url))) +app.set('view engine', 'pug') + +if (Settings.enabledServices.includes('web')) { + if (app.get('env') !== 'development') { + logger.debug('enabling view cache for production or acceptance tests') + app.enable('view cache') + } + if (Settings.precompilePugTemplatesAtBootTime) { + logger.debug('precompiling views for web in production environment') + Views.precompileViews(app) + } + Modules.loadViewIncludes(app) +} + +app.use(metrics.http.monitor(logger)) + +await Modules.applyMiddleware(app, 'appMiddleware') +app.use(bodyParser.urlencoded({ extended: true, limit: '2mb' })) +app.use(bodyParser.json({ limit: Settings.max_json_request_size })) +app.use(methodOverride()) +// add explicit name for telemetry +app.use(bearerTokenMiddleware()) + +if (Settings.blockCrossOriginRequests) { + app.use(Csrf.blockCrossOriginRequests()) +} + +if (Settings.useHttpPermissionsPolicy) { + const httpPermissionsPolicy = new HttpPermissionsPolicyMiddleware( + Settings.httpPermissions + ) + logger.debug('adding permissions policy config', Settings.httpPermissions) + webRouter.use(httpPermissionsPolicy.middleware) +} + +RedirectManager.apply(webRouter) + +if (!Settings.security.sessionSecret) { + throw new Error('No SESSION_SECRET provided.') +} + +const sessionSecrets = [ + Settings.security.sessionSecret, + Settings.security.sessionSecretUpcoming, + Settings.security.sessionSecretFallback, +].filter(Boolean) + +webRouter.use(cookieParser(sessionSecrets)) +webRouter.use(CookieMetrics.middleware) +SessionAutostartMiddleware.applyInitialMiddleware(webRouter) +await Modules.applyMiddleware(webRouter, 'sessionMiddleware', { + store: sessionStore, +}) +webRouter.use( + session({ + resave: false, + saveUninitialized: false, + secret: sessionSecrets, + proxy: Settings.behindProxy, + cookie: { + domain: Settings.cookieDomain, + maxAge: Settings.cookieSessionLength, // in milliseconds, see https://github.com/expressjs/session#cookiemaxage + secure: Settings.secureCookie, + sameSite: Settings.sameSiteCookie, + }, + store: sessionStore, + key: Settings.cookieName, + rolling: Settings.cookieRollingSession === true, + }) +) + +if (Features.hasFeature('saas')) { + webRouter.use(AnalyticsManager.analyticsIdMiddleware) +} + +// passport +webRouter.use(passport.initialize()) +webRouter.use(passport.session()) + +if(Settings.oidc.enable) { + passport.use( + new OpenIDConnectStrategy( + { + issuer: process.env.OIDC_ISSUER, + authorizationURL: process.env.OIDC_AUTHORIZATION_URL, + tokenURL: process.env.OIDC_TOKEN_URL, + userInfoURL: process.env.OIDC_USERINFO_URL, + clientID: process.env.OIDC_CLIENT_ID, + clientSecret: process.env.OIDC_CLIENT_SECRET, + callbackURL: process.env.OIDC_CALLBACK_URL, + scope: 'openid profile email', + }, + AuthenticationController.verifyOpenIDConnect + ) + ) +} +else { + passport.use( + new LocalStrategy( + { + passReqToCallback: true, + usernameField: 'email', + passwordField: 'password', + }, + AuthenticationController.doPassportLogin + ) + ) +} + +passport.serializeUser(AuthenticationController.serializeUser) +passport.deserializeUser(AuthenticationController.deserializeUser) + +Modules.hooks.fire('passportSetup', passport, err => { + if (err != null) { + logger.err({ err }, 'error setting up passport in modules') + } +}) + +await Modules.applyNonCsrfRouter(webRouter, privateApiRouter, publicApiRouter) + +webRouter.csrf = new Csrf() +webRouter.use(webRouter.csrf.middleware) +webRouter.use(translations.i18nMiddleware) +webRouter.use(translations.setLangBasedOnDomainMiddleware) + +if (Settings.cookieRollingSession) { + // Measure expiry from last request, not last login + webRouter.use((req, res, next) => { + if (!req.session.noSessionCallback) { + req.session.touch() + if (SessionManager.isUserLoggedIn(req.session)) { + UserSessionsManager.touch( + SessionManager.getSessionUser(req.session), + err => { + if (err) { + logger.err({ err }, 'error extending user session') + } + } + ) + } + } + next() + }) +} + +webRouter.use(ReferalConnect.use) +expressLocals(webRouter, privateApiRouter, publicApiRouter) +webRouter.use(SessionAutostartMiddleware.invokeCallbackMiddleware) + +webRouter.use(function checkIfSiteClosed(req, res, next) { + if (Settings.siteIsOpen) { + next() + } else if (hasAdminAccess(SessionManager.getSessionUser(req.session))) { + next() + } else { + HttpErrorHandler.maintenance(req, res) + } +}) + +webRouter.use(function checkIfEditorClosed(req, res, next) { + if (Settings.editorIsOpen) { + next() + } else if (req.url.indexOf('/admin') === 0) { + next() + } else { + HttpErrorHandler.maintenance(req, res) + } +}) + +webRouter.use(AuthenticationController.validateAdmin) + +// add security headers using Helmet +const noCacheMiddleware = noCache() +webRouter.use((req, res, next) => { + const isProjectPage = /^\/project\/[a-f0-9]{24}$/.test(req.path) + if (isProjectPage) { + // always set no-cache headers on a project page, as it could be an anonymous token viewer + return noCacheMiddleware(req, res, next) + } + + const isProjectFile = /^\/project\/[a-f0-9]{24}\/file\/[a-f0-9]{24}$/.test( + req.path + ) + if (isProjectFile) { + // don't set no-cache headers on a project file, as it's immutable and can be cached (privately) + return next() + } + const isProjectBlob = /^\/project\/[a-f0-9]{24}\/blob\/[a-f0-9]{40}$/.test( + req.path + ) + if (isProjectBlob) { + // don't set no-cache headers on a project blobs, as they are immutable and can be cached (privately) + return next() + } + + const isWikiContent = /^\/learn(-scripts)?(\/|$)/i.test(req.path) + if (isWikiContent) { + // don't set no-cache headers on wiki content, as it's immutable and can be cached (publicly) + return next() + } + + const isLoggedIn = SessionManager.isUserLoggedIn(req.session) + if (isLoggedIn) { + // always set no-cache headers for authenticated users (apart from project files, above) + return noCacheMiddleware(req, res, next) + } + + // allow other responses (anonymous users, except for project pages) to be cached + return next() +}) + +webRouter.use( + helmet({ + // note that more headers are added by default + dnsPrefetchControl: false, + referrerPolicy: { policy: 'origin-when-cross-origin' }, + hsts: false, + // Disabled because it's impractical to include every resource via CORS or + // with the magic CORP header + crossOriginEmbedderPolicy: false, + // We need to be able to share the context of some popups. For example, + // when Recurly opens Paypal in a popup. + crossOriginOpenerPolicy: { policy: 'same-origin-allow-popups' }, + // Disabled because it's not a security header and has possibly-unwanted + // effects + originAgentCluster: false, + // We have custom handling for CSP below, so Helmet's default is disabled + contentSecurityPolicy: false, + }) +) + +// add CSP header to HTML-rendering routes, if enabled +if (Settings.csp && Settings.csp.enabled) { + logger.debug('adding CSP header to rendered routes', Settings.csp) + app.use(csp(Settings.csp)) +} + +logger.debug('creating HTTP server'.yellow) +const server = http.createServer(app) + +// provide settings for separate web and api processes +if (Settings.enabledServices.includes('api')) { + logger.debug({}, 'providing api router') + app.use(privateApiRouter) + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleApiError) +} + +if (Settings.enabledServices.includes('web')) { + logger.debug({}, 'providing web router') + app.use(publicApiRouter) // public API goes with web router for public access + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleApiError) + app.use(webRouter) + app.use(Validation.errorMiddleware) + app.use(ErrorController.handleError) +} + +metrics.injectMetricsRoute(webRouter) +metrics.injectMetricsRoute(privateApiRouter) + +await Router.initialize(webRouter, privateApiRouter, publicApiRouter) + +export default { app, server } diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/models/User.js b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/models/User.js new file mode 100644 index 0000000..b45dfb8 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/models/User.js @@ -0,0 +1,238 @@ +const Settings = require('@overleaf/settings') +const mongoose = require('../infrastructure/Mongoose') +const TokenGenerator = require('../Features/TokenGenerator/TokenGenerator') +const { Schema } = mongoose +const { ObjectId } = Schema + +// See https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/574698#574698 +const MAX_EMAIL_LENGTH = 254 +const MAX_NAME_LENGTH = 255 + +const UserSchema = new Schema( + { + email: { type: String, default: '', maxlength: MAX_EMAIL_LENGTH }, + emails: [ + { + email: { type: String, default: '', maxlength: MAX_EMAIL_LENGTH }, + reversedHostname: { type: String, default: '' }, + createdAt: { + type: Date, + default() { + return new Date() + }, + }, + confirmedAt: { type: Date }, + samlProviderId: { type: String }, + affiliationUnchecked: { type: Boolean }, + reconfirmedAt: { type: Date }, + }, + ], + first_name: { + type: String, + default: '', + maxlength: MAX_NAME_LENGTH, + }, + last_name: { + type: String, + default: '', + maxlength: MAX_NAME_LENGTH, + }, + role: { type: String, default: '' }, + institution: { type: String, default: '' }, + hashedPassword: String, + enrollment: { + sso: [ + { + groupId: { + type: ObjectId, + ref: 'Subscription', + }, + linkedAt: Date, + primary: { type: Boolean, default: false }, + }, + ], + managedBy: { + type: ObjectId, + ref: 'Subscription', + }, + enrolledAt: { type: Date }, + }, + isAdmin: { type: Boolean, default: false }, + staffAccess: { + publisherMetrics: { type: Boolean, default: false }, + publisherManagement: { type: Boolean, default: false }, + institutionMetrics: { type: Boolean, default: false }, + institutionManagement: { type: Boolean, default: false }, + groupMetrics: { type: Boolean, default: false }, + groupManagement: { type: Boolean, default: false }, + adminMetrics: { type: Boolean, default: false }, + splitTestMetrics: { type: Boolean, default: false }, + splitTestManagement: { type: Boolean, default: false }, + }, + signUpDate: { + type: Date, + default() { + return new Date() + }, + }, + loginEpoch: { type: Number }, + lastActive: { type: Date }, + lastFailedLogin: { type: Date }, + lastLoggedIn: { type: Date }, + lastLoginIp: { type: String, default: '' }, + lastPrimaryEmailCheck: { type: Date }, + lastTrial: { type: Date }, + loginCount: { type: Number, default: 0 }, + holdingAccount: { type: Boolean, default: false }, + ace: { + mode: { type: String, default: 'none' }, + theme: { type: String, default: 'textmate' }, + overallTheme: { type: String, default: '' }, + fontSize: { type: Number, default: '12' }, + autoComplete: { type: Boolean, default: true }, + autoPairDelimiters: { type: Boolean, default: true }, + spellCheckLanguage: { type: String, default: 'en' }, + pdfViewer: { type: String, default: 'pdfjs' }, + syntaxValidation: { type: Boolean }, + fontFamily: { type: String }, + lineHeight: { type: String }, + mathPreview: { type: Boolean, default: true }, + }, + features: { + collaborators: { + type: Number, + default: Settings.defaultFeatures.collaborators, + }, + versioning: { + type: Boolean, + default: Settings.defaultFeatures.versioning, + }, + dropbox: { type: Boolean, default: Settings.defaultFeatures.dropbox }, + github: { type: Boolean, default: Settings.defaultFeatures.github }, + gitBridge: { type: Boolean, default: Settings.defaultFeatures.gitBridge }, + compileTimeout: { + type: Number, + default: Settings.defaultFeatures.compileTimeout, + }, + compileGroup: { + type: String, + default: Settings.defaultFeatures.compileGroup, + }, + references: { + type: Boolean, + default: Settings.defaultFeatures.references, + }, + trackChanges: { + type: Boolean, + default: Settings.defaultFeatures.trackChanges, + }, + mendeley: { type: Boolean, default: Settings.defaultFeatures.mendeley }, + zotero: { type: Boolean, default: Settings.defaultFeatures.zotero }, + referencesSearch: { + type: Boolean, + default: Settings.defaultFeatures.referencesSearch, + }, + symbolPalette: { + type: Boolean, + default: Settings.defaultFeatures.symbolPalette, + }, + // labs feature, which shouldnt have a default as we havent decided pricing model yet + aiErrorAssistant: { + type: Boolean, + }, + }, + featuresOverrides: [ + { + createdAt: { + type: Date, + default() { + return new Date() + }, + }, + expiresAt: { type: Date }, + note: { type: String }, + features: { + aiErrorAssistant: { type: Boolean }, + collaborators: { type: Number }, + versioning: { type: Boolean }, + dropbox: { type: Boolean }, + github: { type: Boolean }, + gitBridge: { type: Boolean }, + compileTimeout: { type: Number }, + compileGroup: { type: String }, + templates: { type: Boolean }, + trackChanges: { type: Boolean }, + mendeley: { type: Boolean }, + zotero: { type: Boolean }, + referencesSearch: { type: Boolean }, + symbolPalette: { type: Boolean }, + compileAssistant: { type: Boolean }, + }, + }, + ], + featuresUpdatedAt: { type: Date }, + featuresEpoch: { + type: String, + }, + must_reconfirm: { type: Boolean, default: false }, + referal_id: { + type: String, + default() { + return TokenGenerator.generateReferralId() + }, + }, + refered_users: [{ type: ObjectId, ref: 'User' }], + refered_user_count: { type: Number, default: 0 }, + refProviders: { + // The actual values are managed by third-party-references. + mendeley: Schema.Types.Mixed, + zotero: Schema.Types.Mixed, + }, + writefull: { + enabled: { type: Boolean, default: null }, + autoCreatedAccount: { type: Boolean, default: false }, + }, + alphaProgram: { type: Boolean, default: false }, // experimental features + betaProgram: { type: Boolean, default: false }, + labsProgram: { type: Boolean, default: false }, + overleaf: { + id: { type: Number }, + accessToken: { type: String }, + refreshToken: { type: String }, + }, + awareOfV2: { type: Boolean, default: false }, + samlIdentifiers: { type: Array, default: [] }, + thirdPartyIdentifiers: { type: Array, default: [] }, + migratedAt: { type: Date }, + twoFactorAuthentication: { + createdAt: { type: Date }, + enrolledAt: { type: Date }, + secretEncrypted: { type: String }, + }, + onboardingEmailSentAt: { type: Date }, + splitTests: Schema.Types.Mixed, + analyticsId: { type: String }, + completedTutorials: Schema.Types.Mixed, + suspended: { type: Boolean }, + oidcUID: { type: String }, + oidcUsername: { type: String }, + }, + { minimize: false } +) + +function formatSplitTestsSchema(next) { + if (this.splitTests) { + for (const splitTestKey of Object.keys(this.splitTests)) { + for (const variantIndex in this.splitTests[splitTestKey]) { + this.splitTests[splitTestKey][variantIndex].assignedAt = new Date( + this.splitTests[splitTestKey][variantIndex].assignedAt + ) + } + } + } + next() +} +UserSchema.pre('save', formatSplitTestsSchema) + +exports.User = mongoose.model('User', UserSchema) +exports.UserSchema = UserSchema diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/src/router.mjs b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/router.mjs new file mode 100644 index 0000000..ad65862 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/src/router.mjs @@ -0,0 +1,1397 @@ +import AdminController from './Features/ServerAdmin/AdminController.js' +import ErrorController from './Features/Errors/ErrorController.js' +import Features from './infrastructure/Features.js' +import ProjectController from './Features/Project/ProjectController.js' +import ProjectApiController from './Features/Project/ProjectApiController.js' +import ProjectListController from './Features/Project/ProjectListController.js' +import SpellingController from './Features/Spelling/SpellingController.js' +import EditorRouter from './Features/Editor/EditorRouter.js' +import Settings from '@overleaf/settings' +import TpdsController from './Features/ThirdPartyDataStore/TpdsController.js' +import SubscriptionRouter from './Features/Subscription/SubscriptionRouter.js' +import UploadsRouter from './Features/Uploads/UploadsRouter.js' +import metrics from '@overleaf/metrics' +import ReferalController from './Features/Referal/ReferalController.js' +import AuthenticationController from './Features/Authentication/AuthenticationController.js' +import PermissionsController from './Features/Authorization/PermissionsController.js' +import SessionManager from './Features/Authentication/SessionManager.js' +import TagsController from './Features/Tags/TagsController.js' +import NotificationsController from './Features/Notifications/NotificationsController.js' +import CollaboratorsRouter from './Features/Collaborators/CollaboratorsRouter.js' +import UserInfoController from './Features/User/UserInfoController.js' +import UserController from './Features/User/UserController.js' +import UserEmailsController from './Features/User/UserEmailsController.js' +import UserPagesController from './Features/User/UserPagesController.js' +import TutorialController from './Features/Tutorial/TutorialController.js' +import DocumentController from './Features/Documents/DocumentController.js' +import CompileManager from './Features/Compile/CompileManager.js' +import CompileController from './Features/Compile/CompileController.js' +import ClsiCookieManagerFactory from './Features/Compile/ClsiCookieManager.js' +import HealthCheckController from './Features/HealthCheck/HealthCheckController.js' +import ProjectDownloadsController from './Features/Downloads/ProjectDownloadsController.js' +import FileStoreController from './Features/FileStore/FileStoreController.js' +import DocumentUpdaterController from './Features/DocumentUpdater/DocumentUpdaterController.js' +import HistoryController from './Features/History/HistoryController.js' +import ExportsController from './Features/Exports/ExportsController.js' +import PasswordResetRouter from './Features/PasswordReset/PasswordResetRouter.js' +import StaticPagesRouter from './Features/StaticPages/StaticPagesRouter.js' +import ChatController from './Features/Chat/ChatController.js' +import Modules from './infrastructure/Modules.js' +import { + RateLimiter, + openProjectRateLimiter, + overleafLoginRateLimiter, +} from './infrastructure/RateLimiter.js' +import RateLimiterMiddleware from './Features/Security/RateLimiterMiddleware.js' +import InactiveProjectController from './Features/InactiveData/InactiveProjectController.js' +import ContactRouter from './Features/Contacts/ContactRouter.js' +import ReferencesController from './Features/References/ReferencesController.js' +import AuthorizationMiddleware from './Features/Authorization/AuthorizationMiddleware.js' +import BetaProgramController from './Features/BetaProgram/BetaProgramController.js' +import AnalyticsRouter from './Features/Analytics/AnalyticsRouter.js' +import MetaController from './Features/Metadata/MetaController.js' +import TokenAccessController from './Features/TokenAccess/TokenAccessController.js' +import TokenAccessRouter from './Features/TokenAccess/TokenAccessRouter.js' +import LinkedFilesRouter from './Features/LinkedFiles/LinkedFilesRouter.js' +import TemplatesRouter from './Features/Templates/TemplatesRouter.js' +import UserMembershipRouter from './Features/UserMembership/UserMembershipRouter.js' +import SystemMessageController from './Features/SystemMessages/SystemMessageController.js' +import AnalyticsRegistrationSourceMiddleware from './Features/Analytics/AnalyticsRegistrationSourceMiddleware.js' +import AnalyticsUTMTrackingMiddleware from './Features/Analytics/AnalyticsUTMTrackingMiddleware.js' +import CaptchaMiddleware from './Features/Captcha/CaptchaMiddleware.js' +import { Joi, validate } from './infrastructure/Validation.js' +import { + renderUnsupportedBrowserPage, + unsupportedBrowserMiddleware, +} from './infrastructure/UnsupportedBrowserMiddleware.js' + +import logger from '@overleaf/logger' +import _ from 'lodash' +import { plainTextResponse } from './infrastructure/Response.js' +import PublicAccessLevels from './Features/Authorization/PublicAccessLevels.js' +const ClsiCookieManager = ClsiCookieManagerFactory( + Settings.apis.clsi != null ? Settings.apis.clsi.backendGroupName : undefined +) + +const rateLimiters = { + addEmail: new RateLimiter('add-email', { + points: 10, + duration: 60, + }), + addProjectToTag: new RateLimiter('add-project-to-tag', { + points: 30, + duration: 60, + }), + addProjectsToTag: new RateLimiter('add-projects-to-tag', { + points: 30, + duration: 60, + }), + canSkipCaptcha: new RateLimiter('can-skip-captcha', { + points: 20, + duration: 60, + }), + changePassword: new RateLimiter('change-password', { + points: 10, + duration: 60, + }), + compileProjectHttp: new RateLimiter('compile-project-http', { + points: 800, + duration: 60 * 60, + }), + confirmEmail: new RateLimiter('confirm-email', { + points: 10, + duration: 60, + }), + createProject: new RateLimiter('create-project', { + points: 20, + duration: 60, + }), + createTag: new RateLimiter('create-tag', { + points: 30, + duration: 60, + }), + deleteEmail: new RateLimiter('delete-email', { + points: 10, + duration: 60, + }), + deleteTag: new RateLimiter('delete-tag', { + points: 30, + duration: 60, + }), + deleteUser: new RateLimiter('delete-user', { + points: 10, + duration: 60, + }), + downloadProjectRevision: new RateLimiter('download-project-revision', { + points: 30, + duration: 60 * 60, + }), + flushHistory: new RateLimiter('flush-project-history', { + // Allow flushing once every 30s-1s (allow for network jitter). + points: 1, + duration: 30 - 1, + }), + getProjectBlob: new RateLimiter('get-project-blob', { + // Download project in full once per hour + points: Settings.maxEntitiesPerProject, + duration: 60 * 60, + }), + getHistorySnapshot: new RateLimiter( + 'get-history-snapshot', + openProjectRateLimiter.getOptions() + ), + endorseEmail: new RateLimiter('endorse-email', { + points: 30, + duration: 60, + }), + getProjects: new RateLimiter('get-projects', { + points: 30, + duration: 60, + }), + grantTokenAccessReadOnly: new RateLimiter('grant-token-access-read-only', { + points: 10, + duration: 60, + }), + grantTokenAccessReadWrite: new RateLimiter('grant-token-access-read-write', { + points: 10, + duration: 60, + }), + indexAllProjectReferences: new RateLimiter('index-all-project-references', { + points: 30, + duration: 60, + }), + miscOutputDownload: new RateLimiter('misc-output-download', { + points: 1000, + duration: 60 * 60, + }), + multipleProjectsZipDownload: new RateLimiter( + 'multiple-projects-zip-download', + { + points: 10, + duration: 60, + } + ), + openDashboard: new RateLimiter('open-dashboard', { + points: 30, + duration: 60, + }), + readAndWriteToken: new RateLimiter('read-and-write-token', { + points: 15, + duration: 60, + }), + readOnlyToken: new RateLimiter('read-only-token', { + points: 15, + duration: 60, + }), + removeProjectFromTag: new RateLimiter('remove-project-from-tag', { + points: 30, + duration: 60, + }), + removeProjectsFromTag: new RateLimiter('remove-projects-from-tag', { + points: 30, + duration: 60, + }), + renameTag: new RateLimiter('rename-tag', { + points: 30, + duration: 60, + }), + resendConfirmation: new RateLimiter('resend-confirmation', { + points: 1, + duration: 60, + }), + sendChatMessage: new RateLimiter('send-chat-message', { + points: 100, + duration: 60, + }), + statusCompiler: new RateLimiter('status-compiler', { + points: 10, + duration: 60, + }), + zipDownload: new RateLimiter('zip-download', { + points: 10, + duration: 60, + }), +} + +async function initialize(webRouter, privateApiRouter, publicApiRouter) { + webRouter.use(unsupportedBrowserMiddleware) + + if (!Settings.allowPublicAccess) { + webRouter.all('*', AuthenticationController.requireGlobalLogin) + } + + webRouter.get('*', AnalyticsRegistrationSourceMiddleware.setInbound()) + webRouter.get('*', AnalyticsUTMTrackingMiddleware.recordUTMTags()) + + // Mount onto /login in order to get the deviceHistory cookie. + webRouter.post( + '/login/can-skip-captcha', + // Keep in sync with the overleaf-login options. + RateLimiterMiddleware.rateLimit(rateLimiters.canSkipCaptcha), + CaptchaMiddleware.canSkipCaptcha + ) + + webRouter.get('/login', UserPagesController.loginPage) + AuthenticationController.addEndpointToLoginWhitelist('/login') + + if(Settings.oidc.enable) { + webRouter.get('/login/oidc', AuthenticationController.oidcLogin) + AuthenticationController.addEndpointToLoginWhitelist('/login/oidc') + + webRouter.get('/login/oidc/callback', AuthenticationController.oidcLoginCallback) + AuthenticationController.addEndpointToLoginWhitelist('/login/oidc/callback') + } + + webRouter.post( + '/login', + RateLimiterMiddleware.rateLimit(overleafLoginRateLimiter), // rate limit IP (20 / 60s) + RateLimiterMiddleware.loginRateLimitEmail, // rate limit email (10 / 120s) + CaptchaMiddleware.validateCaptcha('login'), + AuthenticationController.passportLogin + ) + + webRouter.get( + '/compromised-password', + AuthenticationController.requireLogin(), + UserPagesController.compromisedPasswordPage + ) + + webRouter.get('/account-suspended', UserPagesController.accountSuspended) + + if (Settings.enableLegacyLogin) { + AuthenticationController.addEndpointToLoginWhitelist('/login/legacy') + webRouter.get('/login/legacy', UserPagesController.loginPage) + webRouter.post( + '/login/legacy', + RateLimiterMiddleware.rateLimit(overleafLoginRateLimiter), // rate limit IP (20 / 60s) + RateLimiterMiddleware.loginRateLimitEmail, // rate limit email (10 / 120s) + CaptchaMiddleware.validateCaptcha('login'), + AuthenticationController.passportLogin + ) + } + + webRouter.get( + '/read-only/one-time-login', + UserPagesController.oneTimeLoginPage + ) + AuthenticationController.addEndpointToLoginWhitelist( + '/read-only/one-time-login' + ) + + webRouter.post('/logout', UserController.logout) + + webRouter.get('/restricted', AuthorizationMiddleware.restricted) + + if (Features.hasFeature('registration-page')) { + webRouter.get('/register', UserPagesController.registerPage) + AuthenticationController.addEndpointToLoginWhitelist('/register') + } + else { + webRouter.get('/register', function (req, res, next) { + res.redirect('/login') + }) + AuthenticationController.addEndpointToLoginWhitelist('/register') + } + + EditorRouter.apply(webRouter, privateApiRouter) + CollaboratorsRouter.apply(webRouter, privateApiRouter) + SubscriptionRouter.apply(webRouter, privateApiRouter, publicApiRouter) + UploadsRouter.apply(webRouter, privateApiRouter) + PasswordResetRouter.apply(webRouter, privateApiRouter) + StaticPagesRouter.apply(webRouter, privateApiRouter) + ContactRouter.apply(webRouter, privateApiRouter) + AnalyticsRouter.apply(webRouter, privateApiRouter, publicApiRouter) + LinkedFilesRouter.apply(webRouter, privateApiRouter, publicApiRouter) + TemplatesRouter.apply(webRouter) + UserMembershipRouter.apply(webRouter) + TokenAccessRouter.apply(webRouter) + + await Modules.applyRouter(webRouter, privateApiRouter, publicApiRouter) + + if (Settings.enableSubscriptions) { + webRouter.get( + '/user/bonus', + AuthenticationController.requireLogin(), + ReferalController.bonus + ) + } + + // .getMessages will generate an empty response for anonymous users. + webRouter.get('/system/messages', SystemMessageController.getMessages) + + webRouter.get( + '/user/settings', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserPagesController.settingsPage + ) + webRouter.post( + '/user/settings', + AuthenticationController.requireLogin(), + validate({ + body: Joi.object({ + first_name: Joi.string().allow(null, '').max(255), + last_name: Joi.string().allow(null, '').max(255), + }).unknown(), + }), + UserController.updateUserSettings + ) + webRouter.post( + '/user/password/update', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.changePassword), + PermissionsController.requirePermission('change-password'), + UserController.changePassword + ) + webRouter.get( + '/user/emails', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserController.promises.ensureAffiliationMiddleware, + UserEmailsController.list + ) + webRouter.get( + '/user/emails/confirm', + AuthenticationController.requireLogin(), + UserEmailsController.showConfirm + ) + webRouter.post( + '/user/emails/confirm', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.confirmEmail), + UserEmailsController.confirm + ) + webRouter.post( + '/user/emails/resend_confirmation', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.resendConfirmation), + await Modules.middleware('resendConfirmationEmail'), + UserEmailsController.resendConfirmation + ) + + webRouter.get( + '/user/emails/primary-email-check', + AuthenticationController.requireLogin(), + UserEmailsController.primaryEmailCheckPage + ) + + webRouter.post( + '/user/emails/primary-email-check', + AuthenticationController.requireLogin(), + PermissionsController.useCapabilities(), + UserEmailsController.primaryEmailCheck + ) + + if (Features.hasFeature('affiliations')) { + webRouter.post( + '/user/emails', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + RateLimiterMiddleware.rateLimit(rateLimiters.addEmail), + CaptchaMiddleware.validateCaptcha('addEmail'), + UserEmailsController.add + ) + + webRouter.post( + '/user/emails/delete', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.deleteEmail), + await Modules.middleware('userDeleteEmail'), + UserEmailsController.remove + ) + webRouter.post( + '/user/emails/default', + AuthenticationController.requireLogin(), + UserEmailsController.setDefault + ) + webRouter.post( + '/user/emails/endorse', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('endorse-email'), + RateLimiterMiddleware.rateLimit(rateLimiters.endorseEmail), + UserEmailsController.endorse + ) + } + + if (Features.hasFeature('saas')) { + webRouter.get( + '/user/emails/add-secondary', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + UserEmailsController.addSecondaryEmailPage + ) + + webRouter.get( + '/user/emails/confirm-secondary', + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('add-secondary-email'), + UserEmailsController.confirmSecondaryEmailPage + ) + } + + webRouter.get( + '/user/sessions', + AuthenticationController.requireLogin(), + UserPagesController.sessionsPage + ) + webRouter.post( + '/user/sessions/clear', + AuthenticationController.requireLogin(), + UserController.clearSessions + ) + + // deprecated + webRouter.delete( + '/user/newsletter/unsubscribe', + AuthenticationController.requireLogin(), + UserController.unsubscribe + ) + + webRouter.post( + '/user/newsletter/unsubscribe', + AuthenticationController.requireLogin(), + UserController.unsubscribe + ) + + webRouter.post( + '/user/newsletter/subscribe', + AuthenticationController.requireLogin(), + UserController.subscribe + ) + + webRouter.get( + '/user/email-preferences', + AuthenticationController.requireLogin(), + UserPagesController.emailPreferencesPage + ) + + webRouter.post( + '/user/delete', + RateLimiterMiddleware.rateLimit(rateLimiters.deleteUser), + AuthenticationController.requireLogin(), + PermissionsController.requirePermission('delete-own-account'), + UserController.tryDeleteUser + ) + + webRouter.get( + '/user/personal_info', + AuthenticationController.requireLogin(), + UserInfoController.getLoggedInUsersPersonalInfo + ) + privateApiRouter.get( + '/user/:user_id/personal_info', + AuthenticationController.requirePrivateApiAuth(), + UserInfoController.getPersonalInfo + ) + + webRouter.get( + '/user/reconfirm', + UserPagesController.renderReconfirmAccountPage + ) + // for /user/reconfirm POST, see password router + + webRouter.get( + '/user/tpds/queues', + AuthenticationController.requireLogin(), + TpdsController.getQueues + ) + + webRouter.post( + '/tutorial/:tutorialKey/complete', + AuthenticationController.requireLogin(), + TutorialController.completeTutorial + ) + + webRouter.post( + '/tutorial/:tutorialKey/postpone', + AuthenticationController.requireLogin(), + TutorialController.postponeTutorial + ) + + webRouter.get( + '/user/projects', + AuthenticationController.requireLogin(), + ProjectController.userProjectsJson + ) + webRouter.get( + '/project/:Project_id/entities', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.projectEntitiesJson + ) + + webRouter.get( + '/project', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.openDashboard), + PermissionsController.useCapabilities(), + ProjectListController.projectListPage + ) + webRouter.post( + '/project/new', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.createProject), + ProjectController.newProject + ) + webRouter.post( + '/api/project', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.getProjects), + ProjectListController.getProjectsJson + ) + + for (const route of [ + // Keep the old route for continuous metrics + '/Project/:Project_id', + // New route for pdf-detach + '/Project/:Project_id/:detachRole(detacher|detached)', + ]) { + webRouter.get( + route, + RateLimiterMiddleware.rateLimit(openProjectRateLimiter, { + params: ['Project_id'], + }), + PermissionsController.useCapabilities(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.loadEditor + ) + } + webRouter.head( + '/Project/:Project_id/file/:File_id', + AuthorizationMiddleware.ensureUserCanReadProject, + FileStoreController.getFileHead + ) + webRouter.get( + '/Project/:Project_id/file/:File_id', + AuthorizationMiddleware.ensureUserCanReadProject, + FileStoreController.getFile + ) + webRouter.get( + '/Project/:Project_id/doc/:Doc_id/download', // "download" suffix to avoid conflict with private API route at doc/:doc_id + AuthorizationMiddleware.ensureUserCanReadProject, + DocumentUpdaterController.getDoc + ) + webRouter.post( + '/project/:Project_id/settings', + validate({ + body: Joi.object({ + publicAccessLevel: Joi.string() + .valid(PublicAccessLevels.PRIVATE, PublicAccessLevels.TOKEN_BASED) + .optional(), + }), + }), + AuthorizationMiddleware.ensureUserCanWriteProjectSettings, + ProjectController.updateProjectSettings + ) + webRouter.post( + '/project/:Project_id/settings/admin', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.updateProjectAdminSettings + ) + + webRouter.post( + '/project/:Project_id/compile', + RateLimiterMiddleware.rateLimit(rateLimiters.compileProjectHttp, { + params: ['Project_id'], + }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.compile + ) + + webRouter.post( + '/project/:Project_id/compile/stop', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.stopCompile + ) + + // LEGACY: Used by the web download buttons, adds filename header, TODO: remove at some future date + webRouter.get( + '/project/:Project_id/output/output.pdf', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // PDF Download button + webRouter.get( + /^\/download\/project\/([^/]*)\/output\/output\.pdf$/, + function (req, res, next) { + const params = { Project_id: req.params[0] } + req.params = params + next() + }, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // PDF Download button for specific build + webRouter.get( + /^\/download\/project\/([^/]*)\/build\/([0-9a-f-]+)\/output\/output\.pdf$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + build_id: req.params[1], + } + req.params = params + next() + }, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.downloadPdf + ) + + // Align with limits defined in CompileController.downloadPdf + const rateLimiterMiddlewareOutputFiles = RateLimiterMiddleware.rateLimit( + rateLimiters.miscOutputDownload, + { params: ['Project_id'] } + ) + + // Used by the pdf viewers + webRouter.get( + /^\/project\/([^/]*)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + file: req.params[1], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + // direct url access to output files for a specific build (query string not required) + webRouter.get( + /^\/project\/([^/]*)\/build\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + build_id: req.params[1], + file: req.params[2], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + // direct url access to output files for user but no build, to retrieve files when build fails + webRouter.get( + /^\/project\/([^/]*)\/user\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + user_id: req.params[1], + file: req.params[2], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + // direct url access to output files for a specific user and build (query string not required) + webRouter.get( + /^\/project\/([^/]*)\/user\/([0-9a-f]+)\/build\/([0-9a-f-]+)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + user_id: req.params[1], + build_id: req.params[2], + file: req.params[3], + } + req.params = params + next() + }, + rateLimiterMiddlewareOutputFiles, + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.getFileFromClsi + ) + + webRouter.delete( + '/project/:Project_id/output', + validate({ query: { clsiserverid: Joi.string() } }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.deleteAuxFiles + ) + webRouter.get( + '/project/:Project_id/sync/code', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.proxySyncCode + ) + webRouter.get( + '/project/:Project_id/sync/pdf', + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.proxySyncPdf + ) + webRouter.get( + '/project/:Project_id/wordcount', + validate({ query: { clsiserverid: Joi.string() } }), + AuthorizationMiddleware.ensureUserCanReadProject, + CompileController.wordCount + ) + + webRouter.post( + '/Project/:Project_id/archive', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.archiveProject + ) + webRouter.delete( + '/Project/:Project_id/archive', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.unarchiveProject + ) + webRouter.post( + '/project/:project_id/trash', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.trashProject + ) + webRouter.delete( + '/project/:project_id/trash', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.untrashProject + ) + + webRouter.delete( + '/Project/:Project_id', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.deleteProject + ) + + webRouter.post( + '/Project/:Project_id/restore', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.restoreProject + ) + webRouter.post( + '/Project/:Project_id/clone', + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectController.cloneProject + ) + + webRouter.post( + '/project/:Project_id/rename', + AuthenticationController.requireLogin(), + AuthorizationMiddleware.ensureUserCanAdminProject, + ProjectController.renameProject + ) + webRouter.get( + '/project/:Project_id/updates', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApiAndInjectUserDetails + ) + webRouter.get( + '/project/:Project_id/doc/:doc_id/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApi + ) + webRouter.get( + '/project/:Project_id/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApiAndInjectUserDetails + ) + webRouter.get( + '/project/:Project_id/filetree/diff', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.proxyToHistoryApi + ) + webRouter.post( + '/project/:project_id/restore_file', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.restoreFileFromV2 + ) + webRouter.post( + '/project/:project_id/revert_file', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.revertFile + ) + webRouter.post( + '/project/:project_id/revert-project', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.revertProject + ) + webRouter.get( + '/project/:project_id/version/:version/zip', + RateLimiterMiddleware.rateLimit(rateLimiters.downloadProjectRevision), + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.downloadZipOfVersion + ) + privateApiRouter.post( + '/project/:Project_id/history/resync', + AuthenticationController.requirePrivateApiAuth(), + HistoryController.resyncProjectHistory + ) + + webRouter.get( + '/project/:Project_id/labels', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + HistoryController.getLabels + ) + webRouter.post( + '/project/:Project_id/labels', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.createLabel + ) + webRouter.delete( + '/project/:Project_id/labels/:label_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + HistoryController.deleteLabel + ) + + webRouter.post( + '/project/:project_id/export/:brand_variation_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportProject + ) + webRouter.get( + '/project/:project_id/export/:export_id', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportStatus + ) + webRouter.get( + '/project/:project_id/export/:export_id/:type', + AuthorizationMiddleware.ensureUserCanWriteProjectContent, + ExportsController.exportDownload + ) + + webRouter.get( + '/Project/:Project_id/download/zip', + RateLimiterMiddleware.rateLimit(rateLimiters.zipDownload, { + params: ['Project_id'], + }), + AuthorizationMiddleware.ensureUserCanReadProject, + ProjectDownloadsController.downloadProject + ) + webRouter.get( + '/project/download/zip', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.multipleProjectsZipDownload), + AuthorizationMiddleware.ensureUserCanReadMultipleProjects, + ProjectDownloadsController.downloadMultipleProjects + ) + + webRouter.get( + '/project/:project_id/metadata', + AuthorizationMiddleware.ensureUserCanReadProject, + Settings.allowAnonymousReadAndWriteSharing + ? (req, res, next) => { + next() + } + : AuthenticationController.requireLogin(), + MetaController.getMetadata + ) + webRouter.post( + '/project/:project_id/doc/:doc_id/metadata', + AuthorizationMiddleware.ensureUserCanReadProject, + Settings.allowAnonymousReadAndWriteSharing + ? (req, res, next) => { + next() + } + : AuthenticationController.requireLogin(), + MetaController.broadcastMetadataForDoc + ) + privateApiRouter.post( + '/internal/expire-deleted-projects-after-duration', + AuthenticationController.requirePrivateApiAuth(), + ProjectController.expireDeletedProjectsAfterDuration + ) + privateApiRouter.post( + '/internal/expire-deleted-users-after-duration', + AuthenticationController.requirePrivateApiAuth(), + UserController.expireDeletedUsersAfterDuration + ) + privateApiRouter.post( + '/internal/project/:projectId/expire-deleted-project', + AuthenticationController.requirePrivateApiAuth(), + ProjectController.expireDeletedProject + ) + privateApiRouter.post( + '/internal/users/:userId/expire', + AuthenticationController.requirePrivateApiAuth(), + UserController.expireDeletedUser + ) + + privateApiRouter.get( + '/user/:userId/tag', + AuthenticationController.requirePrivateApiAuth(), + TagsController.apiGetAllTags + ) + webRouter.get( + '/tag', + AuthenticationController.requireLogin(), + TagsController.getAllTags + ) + webRouter.post( + '/tag', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.createTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + color: Joi.string(), + }), + }), + TagsController.createTag + ) + webRouter.post( + '/tag/:tagId/rename', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.renameTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + }), + }), + TagsController.renameTag + ) + webRouter.post( + '/tag/:tagId/edit', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.renameTag), + validate({ + body: Joi.object({ + name: Joi.string().required(), + color: Joi.string(), + }), + }), + TagsController.editTag + ) + webRouter.delete( + '/tag/:tagId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.deleteTag), + TagsController.deleteTag + ) + webRouter.post( + '/tag/:tagId/project/:projectId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.addProjectToTag), + TagsController.addProjectToTag + ) + webRouter.post( + '/tag/:tagId/projects', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.addProjectsToTag), + validate({ + body: Joi.object({ + projectIds: Joi.array().items(Joi.string()).required(), + }), + }), + TagsController.addProjectsToTag + ) + webRouter.delete( + '/tag/:tagId/project/:projectId', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.removeProjectFromTag), + TagsController.removeProjectFromTag + ) + webRouter.post( + '/tag/:tagId/projects/remove', + AuthenticationController.requireLogin(), + RateLimiterMiddleware.rateLimit(rateLimiters.removeProjectsFromTag), + validate({ + body: Joi.object({ + projectIds: Joi.array().items(Joi.string()).required(), + }), + }), + TagsController.removeProjectsFromTag + ) + + webRouter.get( + '/notifications', + AuthenticationController.requireLogin(), + NotificationsController.getAllUnreadNotifications + ) + webRouter.delete( + '/notifications/:notificationId', + AuthenticationController.requireLogin(), + NotificationsController.markNotificationAsRead + ) + + // Deprecated in favour of /internal/project/:project_id but still used by versioning + privateApiRouter.get( + '/project/:project_id/details', + AuthenticationController.requirePrivateApiAuth(), + ProjectApiController.getProjectDetails + ) + + // New 'stable' /internal API end points + privateApiRouter.get( + '/internal/project/:project_id', + AuthenticationController.requirePrivateApiAuth(), + ProjectApiController.getProjectDetails + ) + privateApiRouter.get( + '/internal/project/:Project_id/zip', + AuthenticationController.requirePrivateApiAuth(), + ProjectDownloadsController.downloadProject + ) + privateApiRouter.get( + '/internal/project/:project_id/compile/pdf', + AuthenticationController.requirePrivateApiAuth(), + CompileController.compileAndDownloadPdf + ) + + privateApiRouter.post( + '/internal/deactivateOldProjects', + AuthenticationController.requirePrivateApiAuth(), + InactiveProjectController.deactivateOldProjects + ) + privateApiRouter.post( + '/internal/project/:project_id/deactivate', + AuthenticationController.requirePrivateApiAuth(), + InactiveProjectController.deactivateProject + ) + + privateApiRouter.get( + /^\/internal\/project\/([^/]*)\/output\/(.*)$/, + function (req, res, next) { + const params = { + Project_id: req.params[0], + file: req.params[1], + } + req.params = params + next() + }, + AuthenticationController.requirePrivateApiAuth(), + CompileController.getFileFromClsi + ) + + privateApiRouter.get( + '/project/:Project_id/doc/:doc_id', + AuthenticationController.requirePrivateApiAuth(), + DocumentController.getDocument + ) + privateApiRouter.post( + '/project/:Project_id/doc/:doc_id', + AuthenticationController.requirePrivateApiAuth(), + DocumentController.setDocument + ) + + privateApiRouter.post( + '/user/:user_id/project/new', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.createProject + ) + privateApiRouter.post( + '/tpds/folder-update', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.updateFolder + ) + privateApiRouter.post( + '/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.mergeUpdate + ) + privateApiRouter.delete( + '/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteUpdate + ) + privateApiRouter.post( + '/project/:project_id/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.mergeUpdate + ) + privateApiRouter.delete( + '/project/:project_id/user/:user_id/update/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteUpdate + ) + + privateApiRouter.post( + '/project/:project_id/contents/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.updateProjectContents + ) + privateApiRouter.delete( + '/project/:project_id/contents/*', + AuthenticationController.requirePrivateApiAuth(), + TpdsController.deleteProjectContents + ) + + webRouter.post( + '/spelling/check', + AuthenticationController.requireLogin(), + SpellingController.proxyCheckRequestToSpellingApi + ) + webRouter.post( + '/spelling/learn', + validate({ + body: Joi.object({ + word: Joi.string().required(), + }), + }), + AuthenticationController.requireLogin(), + SpellingController.learn + ) + + webRouter.post( + '/spelling/unlearn', + validate({ + body: Joi.object({ + word: Joi.string().required(), + }), + }), + AuthenticationController.requireLogin(), + SpellingController.unlearn + ) + + if (Features.hasFeature('chat')) { + webRouter.get( + '/project/:project_id/messages', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + ChatController.getMessages + ) + webRouter.post( + '/project/:project_id/messages', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + RateLimiterMiddleware.rateLimit(rateLimiters.sendChatMessage), + ChatController.sendMessage + ) + } + + webRouter.post( + '/project/:Project_id/references/indexAll', + AuthorizationMiddleware.ensureUserCanReadProject, + RateLimiterMiddleware.rateLimit(rateLimiters.indexAllProjectReferences), + ReferencesController.indexAll + ) + + // disable beta program while v2 is in beta + webRouter.get( + '/beta/participate', + AuthenticationController.requireLogin(), + BetaProgramController.optInPage + ) + webRouter.post( + '/beta/opt-in', + AuthenticationController.requireLogin(), + BetaProgramController.optIn + ) + webRouter.post( + '/beta/opt-out', + AuthenticationController.requireLogin(), + BetaProgramController.optOut + ) + + webRouter.get('/chrome', function (req, res, next) { + // Match v1 behaviour - this is used for a Chrome web app + if (SessionManager.isUserLoggedIn(req.session)) { + res.redirect('/project') + } else { + res.redirect('/register') + } + }) + + webRouter.get( + '/admin', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.index + ) + + if (!Features.hasFeature('saas')) { + webRouter.post( + '/admin/openEditor', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.openEditor + ) + webRouter.post( + '/admin/closeEditor', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.closeEditor + ) + webRouter.post( + '/admin/disconnectAllUsers', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.disconnectAllUsers + ) + } + webRouter.post( + '/admin/flushProjectToTpds', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.flushProjectToTpds + ) + webRouter.post( + '/admin/pollDropboxForUser', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.pollDropboxForUser + ) + webRouter.post( + '/admin/messages', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.createMessage + ) + webRouter.post( + '/admin/messages/clear', + AuthorizationMiddleware.ensureUserIsSiteAdmin, + AdminController.clearMessages + ) + + privateApiRouter.get('/perfTest', (req, res) => { + plainTextResponse(res, 'hello') + }) + + publicApiRouter.get('/status', (req, res) => { + if (Settings.shuttingDown) { + res.sendStatus(503) // Service unavailable + } else if (!Settings.siteIsOpen) { + plainTextResponse(res, 'web site is closed (web)') + } else if (!Settings.editorIsOpen) { + plainTextResponse(res, 'web editor is closed (web)') + } else { + plainTextResponse(res, 'web is alive (web)') + } + }) + privateApiRouter.get('/status', (req, res) => { + plainTextResponse(res, 'web is alive (api)') + }) + + // used by kubernetes health-check and acceptance tests + webRouter.get('/dev/csrf', (req, res) => { + plainTextResponse(res, res.locals.csrfToken) + }) + + publicApiRouter.get( + '/health_check', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + privateApiRouter.get( + '/health_check', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + publicApiRouter.get( + '/health_check/api', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + privateApiRouter.get( + '/health_check/api', + HealthCheckController.checkActiveHandles, + HealthCheckController.checkApi + ) + publicApiRouter.get( + '/health_check/full', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + privateApiRouter.get( + '/health_check/full', + HealthCheckController.checkActiveHandles, + HealthCheckController.check + ) + + publicApiRouter.get('/health_check/redis', HealthCheckController.checkRedis) + privateApiRouter.get('/health_check/redis', HealthCheckController.checkRedis) + + publicApiRouter.get('/health_check/mongo', HealthCheckController.checkMongo) + privateApiRouter.get('/health_check/mongo', HealthCheckController.checkMongo) + + webRouter.get( + '/status/compiler/:Project_id', + RateLimiterMiddleware.rateLimit(rateLimiters.statusCompiler), + AuthorizationMiddleware.ensureUserCanReadProject, + function (req, res) { + const projectId = req.params.Project_id + // use a valid user id for testing + const testUserId = '123456789012345678901234' + const sendRes = _.once(function (statusCode, message) { + res.status(statusCode) + plainTextResponse(res, message) + ClsiCookieManager.clearServerId(projectId, testUserId, () => {}) + }) // force every compile to a new server + // set a timeout + let handler = setTimeout(function () { + sendRes(500, 'Compiler timed out') + handler = null + }, 10000) + // run the compile + CompileManager.compile( + projectId, + testUserId, + {}, + function (error, status) { + if (handler) { + clearTimeout(handler) + } + if (error) { + sendRes(500, `Compiler returned error ${error.message}`) + } else if (status === 'success') { + sendRes(200, 'Compiler returned in less than 10 seconds') + } else { + sendRes(500, `Compiler returned failure ${status}`) + } + } + ) + } + ) + + webRouter.post('/error/client', function (req, res, next) { + logger.warn( + { err: req.body.error, meta: req.body.meta }, + 'client side error' + ) + metrics.inc('client-side-error') + res.sendStatus(204) + }) + + webRouter.get( + `/read/:token(${TokenAccessController.READ_ONLY_TOKEN_PATTERN})`, + RateLimiterMiddleware.rateLimit(rateLimiters.readOnlyToken), + AnalyticsRegistrationSourceMiddleware.setSource( + 'collaboration', + 'link-sharing' + ), + TokenAccessController.tokenAccessPage, + AnalyticsRegistrationSourceMiddleware.clearSource() + ) + + webRouter.get( + `/:token(${TokenAccessController.READ_AND_WRITE_TOKEN_PATTERN})`, + RateLimiterMiddleware.rateLimit(rateLimiters.readAndWriteToken), + AnalyticsRegistrationSourceMiddleware.setSource( + 'collaboration', + 'link-sharing' + ), + TokenAccessController.tokenAccessPage, + AnalyticsRegistrationSourceMiddleware.clearSource() + ) + + webRouter.post( + `/:token(${TokenAccessController.READ_AND_WRITE_TOKEN_PATTERN})/grant`, + RateLimiterMiddleware.rateLimit(rateLimiters.grantTokenAccessReadWrite), + TokenAccessController.grantTokenAccessReadAndWrite + ) + + webRouter.post( + `/read/:token(${TokenAccessController.READ_ONLY_TOKEN_PATTERN})/grant`, + RateLimiterMiddleware.rateLimit(rateLimiters.grantTokenAccessReadOnly), + TokenAccessController.grantTokenAccessReadOnly + ) + + webRouter.get('/unsupported-browser', renderUnsupportedBrowserPage) + + webRouter.get('*', ErrorController.notFound) +} + +export default { initialize, rateLimiters } diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug new file mode 100644 index 0000000..e0a27c6 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug @@ -0,0 +1,195 @@ +include ../_mixins/navbar + +nav.navbar.navbar-default.navbar-main.navbar-expand-lg(class={ + 'website-redesign-navbar': isWebsiteRedesign +}) + .container-fluid.navbar-container + .navbar-header + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.me-2.d-md-none( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof suppressNavbarRight === "undefined") + button.navbar-toggler.collapsed( + type="button", + data-bs-toggle="collapse", + data-bs-target="#navbar-main-collapse" + aria-controls="navbar-main-collapse" + aria-expanded="false" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right.ms-auto(role="menubar") + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + +nav-item.dropdown.subdued + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | Admin + span.caret + +dropdown-menu.dropdown-menu-end + if canDisplayAdminMenu + +dropdown-menu-link-item()(href="/admin") Manage Site + +dropdown-menu-link-item()(href="/admin/user") Manage Users + +dropdown-menu-link-item()(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + +dropdown-menu-link-item()(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + +dropdown-menu-link-item()(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + +dropdown-menu-link-item()(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + +nav-item.dropdown(class=item.class) + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | !{translate(item.text)} + span.caret + +dropdown-menu.dropdown-menu-end + each child in item.dropdown + if child.divider + +dropdown-menu-divider + else if child.isContactUs + +dropdown-menu-link-item()(data-ol-open-contact-form-modal="contact-us" data-bs-target="#contactUsModal" href data-bs-toggle="modal") + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + if child.url + +dropdown-menu-link-item()( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + +dropdown-menu-item !{translate(child.text)} + else + +nav-item(class=item.class) + if item.url + +nav-link( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + +nav-item.primary + +nav-link( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + +nav-item + if settings.oidc.enable + +nav-link( + href="/login/oidc" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} + else + +nav-link( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + +nav-item + +nav-link(href="/project") #{translate('Projects')} + +nav-item.dropdown + button.dropdown-toggle( + aria-haspopup="true", + aria-expanded="false", + data-bs-toggle="dropdown" + role="menuitem" + ) + | #{translate('Account')} + span.caret + +dropdown-menu.dropdown-menu-end + +dropdown-menu-item + div.disabled.dropdown-item #{getSessionUser().email} + +dropdown-menu-divider + +dropdown-menu-link-item()(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + +dropdown-menu-link-item()(href="/user/subscription") #{translate('subscription')} + +dropdown-menu-divider + +dropdown-menu-item + //- + The button is outside the form but still belongs to it via the form attribute. The reason to do + this is that if the button is inside the form, screen readers will not count it in the total + number of menu items. + button.btn-link.text-left.dropdown-menu-button.dropdown-item( + role="menuitem", + tabindex="-1" + form="logOutForm" + ) + | #{translate('log_out')} + form( + method="POST", + action="/logout", + id="logOutForm" + ) + input(name='_csrf', type='hidden', value=csrfToken) diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug new file mode 100644 index 0000000..4d2ebbc --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug @@ -0,0 +1,188 @@ +nav.navbar.navbar-default.navbar-main + .container-fluid + .navbar-header + if (typeof(suppressNavbarRight) == "undefined") + button.navbar-toggle.collapsed( + type="button", + data-toggle="collapse", + data-target="#navbar-main-collapse" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.pull-right.me-2.visible-xs( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof(suppressNavbarRight) == "undefined") + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + li.dropdown.subdued + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | Admin + span.caret + ul.dropdown-menu + if canDisplayAdminMenu + li + a(href="/admin") Manage Site + li + a(href="/admin/user") Manage Users + li + a(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + li + a(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + li + a(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + li + a(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + li.dropdown(class=item.class) + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | !{translate(item.text)} + span.caret + ul.dropdown-menu + each child in item.dropdown + if child.divider + li.divider + else if child.isContactUs + li + a(data-ol-open-contact-form-modal="contact-us" href) + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + li + if child.url + a( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + | !{translate(child.text)} + else + li(class=item.class) + if item.url + a( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + li.primary + a( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + li + if settings.oidc.enable + a( + href="/login/oidc" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} + else + a( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + li + a(href="/project") #{translate('Projects')} + li.dropdown + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | #{translate('Account')} + span.caret + ul.dropdown-menu + li + div.subdued #{getSessionUser().email} + li.divider.hidden-xs.hidden-sm + li + a(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + li + a(href="/user/subscription") #{translate('subscription')} + li.divider.hidden-xs.hidden-sm + li + form(method="POST" action="/logout") + input(name='_csrf', type='hidden', value=csrfToken) + button.btn-link.text-left.dropdown-menu-button #{translate('log_out')} diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug new file mode 100644 index 0000000..436aba9 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug @@ -0,0 +1,188 @@ +nav.navbar.navbar-default.navbar-main.website-redesign-navbar + .container-fluid + .navbar-header + if (typeof(suppressNavbarRight) == "undefined") + button.navbar-toggle.collapsed( + type="button", + data-toggle="collapse", + data-target="#navbar-main-collapse" + aria-label="Toggle " + translate('navigation') + ) + i.fa.fa-bars(aria-hidden="true") + - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free' + if (enableUpgradeButton) + a.btn.btn-primary.pull-right.me-2.visible-xs( + href="/user/subscription/plans" + event-tracking="upgrade-button-click" + event-tracking-mb="true" + event-tracking-label="upgrade" + event-tracking-trigger="click" + event-segmentation='{"source": "dashboard-top", "project-dashboard-react": "enabled", "is-dashboard-sidebar-hidden": "true", "is-screen-width-less-than-768px": "true"}' + ) #{translate("upgrade")} + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + - var canDisplayAdminMenu = hasAdminAccess() + - var canDisplayAdminRedirect = canRedirectToAdminDomain() + - var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement))) + - var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu + + if (typeof(suppressNavbarRight) == "undefined") + .navbar-collapse.collapse#navbar-main-collapse + ul.nav.navbar-nav.navbar-right + if (canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu) + li.dropdown.subdued + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | Admin + span.caret + ul.dropdown-menu + if canDisplayAdminMenu + li + a(href="/admin") Manage Site + li + a(href="/admin/user") Manage Users + li + a(href="/admin/project") Project URL Lookup + if canDisplayAdminRedirect + li + a(href=settings.adminUrl) Switch to Admin + if canDisplaySplitTestMenu + li + a(href="/admin/split-test") Manage Feature Flags + if canDisplaySurveyMenu + li + a(href="/admin/survey") Manage Surveys + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + li.dropdown(class=item.class) + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | !{translate(item.text)} + span.caret + ul.dropdown-menu + each child in item.dropdown + if child.divider + li.divider + else if child.isContactUs + li + a(data-ol-open-contact-form-modal="contact-us" href) + span(event-tracking="menu-clicked-contact" event-tracking-mb="true" event-tracking-trigger="click") + | #{translate("contact_us")} + else + li + if child.url + a( + href=child.url, + class=child.class, + event-tracking=child.event + event-tracking-mb="true" + event-tracking-trigger="click" + event-segmentation=child.eventSegmentation + ) !{translate(child.text)} + else + | !{translate(child.text)} + else + li(class=item.class) + if item.url + a( + href=item.url, + class=item.class, + event-tracking=item.event + event-tracking-mb="true" + event-tracking-trigger="click" + ) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // register link + if hasFeature('registration-page') + li.primary + a( + href="/register" + event-tracking="menu-clicked-register" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('sign_up')} + + // login link + li.secondary + if settings.oidc.enable + a( + href="/login/oidc" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} + else + a( + href="/login" + event-tracking="menu-clicked-login" + event-tracking-action="clicked" + event-tracking-trigger="click" + event-tracking-mb="true" + event-segmentation={ page: currentUrl } + ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + li.secondary + a(href="/project") #{translate('Projects')} + li.secondary.dropdown + a.dropdown-toggle( + href="#", + role="button", + aria-haspopup="true", + aria-expanded="false", + data-toggle="dropdown" + ) + | #{translate('Account')} + span.caret + ul.dropdown-menu + li + div.subdued #{getSessionUser().email} + li.divider.hidden-xs.hidden-sm + li + a(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + li + a(href="/user/subscription") #{translate('subscription')} + li.divider.hidden-xs.hidden-sm + li + form(method="POST" action="/logout") + input(name='_csrf', type='hidden', value=csrfToken) + button.btn-link.text-left.dropdown-menu-button #{translate('log_out')} diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/oidc/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..9549e44 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1015 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + oidc: { + enable: process.env.OIDC_ENABLE || false, + updateUserDetailsOnLogin: process.env.OIDC_ENABLE || false, + nameShort: process.env.OIDC_NAME_SHORT || "OIDC", + nameLong: process.env.OIDC_NAME_LONG || "OIDC", + }, + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: [], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/oidc/5.2.1/overleaf/services/web/locales/en.json b/docker/features/oidc/5.2.1/overleaf/services/web/locales/en.json new file mode 100644 index 0000000..d0ae6a2 --- /dev/null +++ b/docker/features/oidc/5.2.1/overleaf/services/web/locales/en.json @@ -0,0 +1,2551 @@ +{ + "12x_basic": "12x Basic", + "1_2_width": "½ width", + "1_4_width": "¼ width", + "3_4_width": "¾ width", + "About": "About", + "Account": "Account", + "Account Settings": "Account Settings", + "Documentation": "Documentation", + "Projects": "Projects", + "Security": "Security", + "Subscription": "Subscription", + "Terms": "Terms", + "Universities": "Universities", + "a_custom_size_has_been_used_in_the_latex_code": "A custom size has been used in the LaTeX code.", + "a_fatal_compile_error_that_completely_blocks_compilation": "A <0>fatal compile error that completely blocks the compilation.", + "a_file_with_that_name_already_exists_and_will_be_overriden": "A file with that name already exists. That file will be overwritten.", + "a_more_comprehensive_list_of_keyboard_shortcuts": "A more comprehensive list of keyboard shortcuts can be found in <0>this __appName__ project template", + "about": "About", + "about_to_archive_projects": "You are about to archive the following projects:", + "about_to_delete_cert": "You are about to delete the following certificate:", + "about_to_delete_projects": "You are about to delete the following projects:", + "about_to_delete_tag": "You are about to delete the following tag (any projects in them will not be deleted):", + "about_to_delete_the_following_project": "You are about to delete the following project", + "about_to_delete_the_following_projects": "You are about to delete the following projects", + "about_to_delete_user_preamble": "You’re about to delete __userName__ (__userEmail__). Doing this will mean:", + "about_to_enable_managed_users": "By enabling the Managed Users feature, all existing members of your group subscription will be invited to become managed. This will give you admin rights over their account. You will also have the option to invite new members to join the subscription and become managed.", + "about_to_leave_project": "You are about to leave this project.", + "about_to_leave_projects": "You are about to leave the following projects:", + "about_to_trash_projects": "You are about to trash the following projects:", + "abstract": "Abstract", + "accept": "Accept", + "accept_all": "Accept all", + "accept_and_continue": "Accept and continue", + "accept_change": "Accept change", + "accept_change_error_description": "There was an error accepting a track change. Please try again in a few moments.", + "accept_change_error_title": "Accept Change Error", + "accept_invitation": "Accept invitation", + "accept_or_reject_each_changes_individually": "Accept or reject each change individually", + "accept_terms_and_conditions": "Accept terms and conditions", + "accepted_invite": "Accepted invite", + "accepting_invite_as": "You are accepting this invite as", + "access_denied": "Access Denied", + "access_levels_changed": "Access levels changed", + "account": "Account", + "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", + "account_has_past_due_invoice_change_plan_warning": "Your account currently has a past due invoice. You will not be able to change your plan until this is resolved.", + "account_linking": "Account Linking", + "account_managed_by_group_administrator": "Your account is managed by your group administrator (__admin__)", + "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", + "account_settings": "Account Settings", + "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", + "acct_linked_to_institution_acct_2": "You can <0>log in to Overleaf through your <0>__institutionName__ institutional login.", + "actions": "Actions", + "activate": "Activate", + "activate_account": "Activate your account", + "activating": "Activating", + "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", + "active": "Active", + "add": "Add", + "add_a_recovery_email_address": "Add a recovery email address", + "add_additional_certificate": "Add another certificate", + "add_affiliation": "Add Affiliation", + "add_another_address_line": "Add another address line", + "add_another_email": "Add another email", + "add_another_token": "Add another token", + "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", + "add_comment": "Add comment", + "add_comment_error_message": "There was an error adding your comment. Please try again in a few moments.", + "add_comment_error_title": "Add Comment Error", + "add_company_details": "Add Company Details", + "add_email": "Add Email", + "add_email_address": "Add email address", + "add_email_to_claim_features": "Add an institutional email address to claim your features.", + "add_files": "Add Files", + "add_more_collaborators": "Add more collaborators", + "add_more_editors": "Add more editors", + "add_more_managers": "Add more managers", + "add_more_members": "Add more members", + "add_new_email": "Add new email", + "add_or_remove_project_from_tag": "Add or remove project from tag __tagName__", + "add_people": "Add people", + "add_role_and_department": "Add role and department", + "add_to_dictionary": "Add to Dictionary", + "add_to_tag": "Add to tag", + "add_your_comment_here": "Add your comment here", + "add_your_first_group_member_now": "Add your first group members now", + "added": "added", + "added_by_on": "Added by __name__ on __date__", + "adding": "Adding", + "adding_a_bibliography": "Adding a bibliography?", + "additional_certificate": "Additional certificate", + "additional_licenses": "Your subscription includes <0>__additionalLicenses__ additional license(s) for a total of <1>__totalLicenses__ licenses.", + "address": "Address", + "address_line_1": "Address", + "address_second_line_optional": "Address second line (optional)", + "adjust_column_width": "Adjust column width", + "admin": "admin", + "admin_panel": "Admin panel", + "admin_user_created_message": "Created admin user, Log in here to continue", + "administration_and_security": "Administration and security", + "advanced_reference_search": "Advanced <0>reference search", + "advanced_reference_search_mode": "Advanced reference search", + "advanced_search": "Advanced Search", + "aggregate_changed": "Changed", + "aggregate_to": "to", + "agree_with_the_terms": "I agree with the Overleaf terms", + "ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.", + "ai_feedback_do_you_have_any_thoughts_or_suggestions": "Do you have any thoughts or suggestions for improving this feature?", + "ai_feedback_tell_us_what_was_wrong_so_we_can_improve": "Tell us what was wrong so we can improve.", + "ai_feedback_the_answer_was_too_long": "The answer was too long", + "ai_feedback_the_answer_wasnt_detailed_enough": "The answer wasn’t detailed enough", + "ai_feedback_the_suggestion_didnt_fix_the_error": "The suggestion didn’t fix the error", + "ai_feedback_the_suggestion_wasnt_the_best_fix_available": "The suggestion wasn’t the best fix available", + "ai_feedback_there_was_no_code_fix_suggested": "There was no code fix suggested", + "alignment": "Alignment", + "all": "All", + "all_borders": "All borders", + "all_our_group_plans_offer_educational_discount": "All of our <0>group plans offer an <1>educational discount for students and faculty", + "all_premium_features": "All premium features", + "all_premium_features_including": "All premium features, including:", + "all_prices_displayed_are_in_currency": "All prices displayed are in __recommendedCurrency__.", + "all_projects": "All Projects", + "all_projects_will_be_transferred_immediately": "All projects will be transferred to the new owner immediately.", + "all_templates": "All Templates", + "all_the_pros_of_our_standard_plan_plus_unlimited_collab": "All the pros of our standard plan, plus unlimited collaborators per project.", + "all_these_experiments_are_available_exclusively": "All these experiments are available exclusively to members of the Labs program. If you sign up, you can choose which experiments you want to try.", + "allows_to_search_by_author_title_etc_possible_to_pull_results_directly_from_your_reference_manager_if_connected": "Allows to search by author, title, etc. Possible to pull results directly from your reference manager (if connected).", + "already_have_an_account": "Already have an account?", + "already_have_sl_account": "Already have an __appName__ account?", + "already_subscribed_try_refreshing_the_page": "Already subscribed? Try refreshing the page.", + "also": "Also", + "also_available_as_on_premises": "Also available as On-Premises", + "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", + "an_email_has_already_been_sent_to": "An email has already been sent to <0>__email__. Please wait and try again later.", + "an_error_occured_while_restoring_project": "An error occured while restoring the project", + "an_error_occurred_when_verifying_the_coupon_code": "An error occurred when verifying the coupon code", + "and": "and", + "annual": "Annual", + "anonymous": "Anonymous", + "anyone_with_link_can_edit": "Anyone with this link can edit this project", + "anyone_with_link_can_view": "Anyone with this link can view this project", + "app_on_x": "__appName__ on __social__", + "apply_educational_discount": "Apply educational discount", + "apply_educational_discount_info": "Overleaf offers a 40% educational discount for groups of 10 or more. Applies to students or faculty using Overleaf for teaching.", + "apply_educational_discount_info_new": "40% discount for groups of 10 or more using __appName__ for teaching", + "apply_suggestion": "Apply suggestion", + "april": "April", + "archive": "Archive", + "archive_projects": "Archive Projects", + "archived": "Archived", + "archived_projects": "Archived Projects", + "archiving_projects_wont_affect_collaborators": "Archiving projects won’t affect your collaborators.", + "are_you_affiliated_with_an_institution": "Are you affiliated with an institution?", + "are_you_getting_an_undefined_control_sequence_error": "Are you getting an Undefined Control Sequence error? If you are, make sure you’ve loaded the graphicx package—<0>\\usepackage{graphicx}—in the preamble (first section of code) in your document. <1>Learn more", + "are_you_still_at": "Are you still at <0>__institutionName__?", + "are_you_sure": "Are you sure?", + "article": "Article", + "articles": "Articles", + "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution.", + "as_email": "as __email__", + "ascending": "Ascending", + "ask_proj_owner_to_unlink_from_current_github": "Ask the owner of the project (<0>__projectOwnerEmail__) to unlink the project from the current GitHub repository and create a connection to a different repository.", + "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project’s full history.", + "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", + "ask_repo_owner_to_reconnect": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "ask_repo_owner_to_renew_overleaf_subscription": "Ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "august": "August", + "author": "Author", + "auto_close_brackets": "Auto-close Brackets", + "auto_compile": "Auto Compile", + "auto_complete": "Auto-complete", + "autocompile_disabled": "Autocompile disabled", + "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", + "autocomplete": "Autocomplete", + "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", + "automatic_user_registration": "automatic user registration", + "automatic_user_registration_uppercase": "Automatic user registration", + "back": "Back", + "back_to_account_settings": "Back to account settings", + "back_to_all_posts": "Back to all posts", + "back_to_configuration": "Back to configuration", + "back_to_editor": "Back to editor", + "back_to_log_in": "Back to log in", + "back_to_subscription": "Back to Subscription", + "back_to_your_projects": "Back to your projects", + "basic": "Basic", + "basic_compile_timeout_on_fast_servers": "Basic compile timeout on fast servers", + "become_an_advisor": "Become an __appName__ advisor", + "before_you_use_the_ai_error_assistant": "Before you use the AI error assistant", + "best_choices_companies_universities_non_profits": "Best choice for companies, universities and non-profits", + "beta": "Beta", + "beta_feature_badge": "Beta feature badge", + "beta_program_already_participating": "You are enrolled in the Beta Program", + "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", + "beta_program_benefits": "We’re always improving __appName__. By joining this program you can have <0>early access to new features and help us understand your needs better.", + "beta_program_not_participating": "You are not enrolled in the Beta Program", + "beta_program_opt_in_action": "Opt-In to Beta Program", + "beta_program_opt_out_action": "Opt-Out of Beta Program", + "better_bibliographies": "Better bibliographies", + "bibliographies": "Bibliographies", + "binary_history_error": "Preview not available for this file type", + "blank_project": "Blank Project", + "blocked_filename": "This file name is blocked.", + "blog": "Blog", + "brl_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 50% discount to premium plans on this page for our users in Brazil. Check out the new lower prices.", + "browser": "Browser", + "built_in": "Built-In", + "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", + "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", + "buy_now_no_exclamation_mark": "Buy now", + "buy_overleaf_assist": "Buy Overleaf Assist", + "by": "by", + "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from Overleaf—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", + "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.", + "by_subscribing_you_agree_to_our_terms_of_service": "By subscribing, you agree to our <0>terms of service.", + "can_edit": "Can edit", + "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", + "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", + "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "can_link_your_institution_acct_2": "You can now <0>link your <0>__appName__ account to your <0>__institutionName__ institutional account.", + "can_now_relink_dropbox": "You can now <0>relink your Dropbox account.", + "can_view": "Can view", + "cancel": "Cancel", + "cancel_anytime": "We’re confident that you’ll love __appName__, but if not you can cancel anytime. We’ll give you your money back, no questions asked, if you let us know within 30 days.", + "cancel_my_account": "Cancel my subscription", + "cancel_my_subscription": "Cancel my subscription", + "cancel_personal_subscription_first": "You already have an individual subscription, would you like us to cancel this first before joining the group licence?", + "cancel_your_subscription": "Cancel Your Subscription", + "cannot_invite_non_user": "Can’t send invite. Recipient must already have an __appName__ account", + "cannot_invite_self": "Can’t send invite to yourself", + "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", + "cant_find_email": "That email address is not registered, sorry.", + "cant_find_page": "Sorry, we can’t find the page you are looking for.", + "cant_see_what_youre_looking_for_question": "Can’t see what you’re looking for?", + "caption_above": "Caption above", + "caption_below": "Caption below", + "card_details": "Card details", + "card_details_are_not_valid": "Card details are not valid", + "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", + "card_payment": "Card payment", + "careers": "Careers", + "category_arrows": "Arrows", + "category_greek": "Greek", + "category_misc": "Misc", + "category_operators": "Operators", + "category_relations": "Relations", + "center": "Center", + "certificate": "Certificate", + "change": "Change", + "change_currency": "Change currency", + "change_or_cancel-cancel": "cancel", + "change_or_cancel-change": "Change", + "change_or_cancel-or": "or", + "change_owner": "Change owner", + "change_password": "Change Password", + "change_password_in_account_settings": "Change password in Account Settings", + "change_plan": "Change plan", + "change_primary_email_address_instructions": "To change your primary email, please add your new primary email address first (by clicking <0>Add another email) and confirm it. Then click the <0>Make Primary button. <1>Learn more about managing your __appName__ emails.", + "change_project_owner": "Change Project Owner", + "change_the_ownership_of_your_personal_projects": "Change the ownership of your personal projects to the new account. <0>Find out how to change project owner.", + "change_to_group_plan": "Change to a group plan", + "change_to_this_plan": "Change to this plan", + "changing_the_position_of_your_figure": "Changing the position of your figure", + "changing_the_position_of_your_table": "Changing the position of your table", + "chat": "Chat", + "chat_error": "Could not load chat messages, please try again.", + "check_your_email": "Check your email", + "checking": "Checking", + "checking_dropbox_status": "Checking Dropbox status", + "checking_project_github_status": "Checking project status in GitHub", + "choose_a_custom_color": "Choose a custom color", + "choose_from_group_members": "Choose from group members", + "choose_which_experiments": "Choose which experiments you’d like to try.", + "choose_your_plan": "Choose your plan", + "city": "City", + "clear_cached_files": "Clear cached files", + "clear_search": "clear search", + "clear_sessions": "Clear Sessions", + "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", + "clear_sessions_success": "Sessions Cleared", + "clearing": "Clearing", + "click_here_to_view_sl_in_lng": "Click here to use __appName__ in <0>__lngName__", + "click_link_to_proceed": "Click __clickText__ below to proceed.", + "clicking_delete_will_remove_sso_config_and_clear_saml_data": "Clicking <0>Delete will remove your SSO configuration and unlink all users. You can only do this when SSO is disabled in your Group settings.", + "clone_with_git": "Clone with Git", + "close": "Close", + "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", + "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", + "cn": "Chinese (Simplified)", + "code_check_failed": "Code check failed", + "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", + "code_editor": "Code Editor", + "code_editor_tooltip_message": "You can see the code behind your project (and make edits to it) in the Code Editor", + "code_editor_tooltip_title": "Want to view and edit the LaTeX code?", + "collaborate_easily_on_your_projects": "Collaborate easily on your projects. Work on longer or more complex docs.", + "collaborate_online_and_offline": "Collaborate online and offline, using your own workflow", + "collaboration": "Collaboration", + "collaborator": "Collaborator", + "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to Overleaf from IEEE Collabratec™ or log in with a different account.", + "collabs_per_proj": "__collabcount__ collaborators per project", + "collabs_per_proj_single": "__collabcount__ collaborator per project", + "collapse": "Collapse", + "column_width": "Column width", + "column_width_is_custom_click_to_resize": "Column width is custom. Click to resize", + "column_width_is_x_click_to_resize": "Column width is __width__. Click to resize", + "comment": "Comment", + "comment_submit_error": "Sorry, there was a problem submitting your comment", + "commit": "Commit", + "common": "Common", + "common_causes_of_compile_timeouts_include": "Common causes of compile timeouts include", + "commons_plan_tooltip": "You’re on the __plan__ plan because of your affiliation with __institution__. Click to find out how to make the most of your Overleaf premium features.", + "community_articles": "Community articles", + "compact": "Compact", + "company_name": "Company Name", + "compare": "Compare", + "compare_features": "Compare features", + "comparing_from_x_to_y": "Comparing from <0>__startTime__ to <0>__endTime__", + "compile_error_entry_description": "An error which prevented this project from compiling", + "compile_error_handling": "Compile Error Handling", + "compile_larger_projects": "Compile larger projects", + "compile_mode": "Compile Mode", + "compile_servers": "Compile servers", + "compile_servers_info": "Compiles for users on premium plans always run on a dedicated pool of the fastest available servers.", + "compile_servers_info_new": "The servers used to compile your project. Compiles for users on paid plans always run on the fastest available servers.", + "compile_terminated_by_user": "The compile was cancelled using the ‘Stop Compilation’ button. You can download the raw logs to see where the compile stopped.", + "compile_timeout_short": "Compile timeout", + "compile_timeout_short_info_basic": "This is how much time you get to compile your project on the Overleaf servers. You may need additional time for longer or more complex projects.", + "compile_timeout_short_info_new": "This is how much time you get to compile your project on Overleaf. You may need additional time for longer or more complex projects.", + "compiler": "Compiler", + "compiling": "Compiling", + "complete": "Complete", + "compliance": "Compliance", + "compromised_password": "Compromised Password", + "configure_sso": "Configure SSO", + "configured": "Configured", + "confirm": "Confirm", + "confirm_affiliation": "Confirm Affiliation", + "confirm_affiliation_to_relink_dropbox": "Please confirm you are still at the institution and on their license, or upgrade your account in order to relink your Dropbox account.", + "confirm_delete_user_type_email_address": "To confirm you want to delete __userName__ please type the email address associated with their account", + "confirm_email": "Confirm Email", + "confirm_new_password": "Confirm New Password", + "confirm_primary_email_change": "Confirm primary email change", + "confirm_remove_sso_config_enter_email": "To confirm you want to remove your SSO configuration, enter your email address:", + "confirm_your_email": "Confirm your email address", + "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", + "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", + "confirming": "Confirming", + "conflicting_paths_found": "Conflicting Paths Found", + "congratulations_youve_successfully_join_group": "Congratulations! You‘ve successfully joined the group subscription.", + "connected_users": "Connected Users", + "connecting": "Connecting", + "connection_lost": "Connection lost", + "contact": "Contact", + "contact_group_admin": "Please contact your group administrator.", + "contact_message_label": "Message", + "contact_sales": "Contact Sales", + "contact_support": "Contact Support", + "contact_support_to_change_group_subscription": "Please <0>contact support if you wish to change your group subscription.", + "contact_us": "Contact Us", + "contact_us_lowercase": "Contact us", + "contacting_the_sales_team": "Contacting the Sales team", + "continue": "Continue", + "continue_github_merge": "I have manually merged. Continue", + "continue_to": "Continue to __appName__", + "continue_with_free_plan": "Continue with free plan", + "continue_with_service": "Continue with __service__", + "copied": "Copied", + "copy": "Copy", + "copy_code": "Copy code", + "copy_project": "Copy Project", + "copy_response": "Copy response", + "copying": "Copying", + "could_not_connect_to_collaboration_server": "Could not connect to collaboration server", + "could_not_connect_to_websocket_server": "Could not connect to WebSocket server", + "could_not_load_translations": "Could not load translations", + "country": "Country", + "country_flag": "__country__ country flag", + "coupon_code": "Coupon code", + "coupon_code_is_not_valid_for_selected_plan": "Coupon code is not valid for selected plan", + "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", + "create": "Create", + "create_a_new_password_for_your_account": "Create a new password for your account", + "create_a_new_project": "Create a new project", + "create_account": "Create account", + "create_an_account": "Create an account", + "create_first_admin_account": "Create the first Admin account", + "create_new_account": "Create new account", + "create_new_subscription": "Create New Subscription", + "create_new_tag": "Create new tag", + "create_project_in_github": "Create a GitHub repository", + "created_at": "Created at", + "creating": "Creating", + "credit_card": "Credit Card", + "cs": "Czech", + "currency": "Currency", + "current_file": "Current file", + "current_page_page": "Current Page, Page __page__", + "current_password": "Current Password", + "current_price": "Current price", + "current_session": "Current Session", + "currently_seeing_only_24_hrs_history": "You’re currently seeing the last 24 hours of changes in this project.", + "currently_signed_in_as_x": "Currently signed in as <0>__userEmail__.", + "currently_subscribed_to_plan": "You are currently subscribed to the <0>__planName__ plan.", + "custom": "Custom", + "custom_borders": "Custom borders", + "custom_resource_portal": "Custom resource portal", + "custom_resource_portal_info": "You can have your own custom portal page on Overleaf. This is a great place for your users to find out more about Overleaf, access templates, FAQs and Help resources, and sign up to Overleaf.", + "customer_resource_portal": "Customer resource portal", + "customize": "Customize", + "customize_your_group_subscription": "Customize your group subscription", + "customize_your_plan": "Customize your plan", + "customizing_figures": "Customizing figures", + "customizing_tables": "Customizing tables", + "da": "Danish", + "date": "Date", + "date_and_owner": "Date and owner", + "de": "German", + "dealing_with_errors": "Dealing with errors", + "december": "December", + "dedicated_account_manager": "Dedicated account manager", + "dedicated_account_manager_info": "Our Account Management Team will be able to assist with requests, questions and to help you spread the word about Overleaf with promotional materials, training resources and webinars.", + "default": "Default", + "delete": "Delete", + "delete_account": "Delete Account", + "delete_account_confirmation_label": "I understand this will delete all projects in my __appName__ account with email address <0>__userDefaultEmail__", + "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", + "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", + "delete_and_leave": "Delete / Leave", + "delete_and_leave_projects": "Delete and Leave Projects", + "delete_authentication_token": "Delete Authentication token", + "delete_authentication_token_info": "You’re about to delete a Git authentication token. If you do, it can no longer be used to authenticate your identity when performing Git operations.", + "delete_certificate": "Delete certificate", + "delete_comment": "Delete comment", + "delete_comment_error_message": "There was an error deleting your comment. Please try again in a few moments.", + "delete_comment_error_title": "Delete Comment Error", + "delete_comment_message": "You cannot undo this action.", + "delete_comment_thread": "Delete comment thread", + "delete_comment_thread_message": "This will delete the whole comment thread. You cannot undo this action.", + "delete_figure": "Delete figure", + "delete_projects": "Delete Projects", + "delete_row_or_column": "Delete row or column", + "delete_sso_config": "Delete SSO configuration", + "delete_table": "Delete table", + "delete_tag": "Delete Tag", + "delete_token": "Delete token", + "delete_user": "Delete user", + "delete_your_account": "Delete your account", + "deleted_at": "Deleted At", + "deleted_by_email": "Deleted By email", + "deleted_by_id": "Deleted By ID", + "deleted_by_ip": "Deleted By IP", + "deleted_by_on": "Deleted by __name__ on __date__", + "deleting": "Deleting", + "demonstrating_git_integration": "Demonstrating Git integration", + "demonstrating_track_changes_feature": "Demonstrating Track Changes feature", + "department": "Department", + "descending": "Descending", + "description": "Description", + "details_provided_by_google_explanation": "Your details were provided by your Google account. Please check you’re happy with them.", + "dictionary": "Dictionary", + "did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features to everyone at __institutionName__?", + "disable_single_sign_on": "Disable single sign-on", + "disable_sso": "Disable SSO", + "disable_stop_on_first_error": "Disable “Stop on first error”", + "disabling": "Disabling", + "disconnected": "Disconnected", + "discount_of": "Discount of __amount__", + "discover_latex_templates_and_examples": "Discover LaTeX templates and examples to help with everything from writing a journal article to using a specific LaTeX package.", + "discover_why_people_worldwide_trust_overleaf": "Discover why __count__ million people worldwide trust Overleaf with their work.", + "dismiss_error_popup": "Dismiss first error alert", + "display_deleted_user": "Display deleted users", + "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", + "do_not_link_accounts": "Don’t link accounts", + "do_you_need_edit_access": "Do you need edit access?", + "do_you_want_to_change_your_primary_email_address_to": "Do you want to change your primary email address to __email__?", + "do_you_want_to_overwrite_it": "Do you want to overwrite it?", + "do_you_want_to_overwrite_it_plural": "Do you want to overwrite them?", + "do_you_want_to_overwrite_them": "Do you want to overwrite them?", + "document_too_long": "Document Too Long", + "document_too_long_detail": "Sorry, this file is too long to be edited manually. Please try to split it into smaller files.", + "document_too_long_tracked_deletes": "You can also accept pending deletions to reduce the size of the file.", + "document_updated_externally": "Document Updated Externally", + "document_updated_externally_detail": "This document was just updated externally. Any recent changes you have made may have been overwritten. To see previous versions, please look in the history.", + "documentation": "Documentation", + "does_not_contain_or_significantly_match_your_email": "does not contain or significantly match your email", + "doesnt_match": "Doesn’t match", + "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_allow_log_in_through_institution_2": "Doing this will allow you to log in to <0>__appName__ through your institution and will reconfirm your institutional email address.", + "doing_this_will_verify_affiliation_and_allow_log_in_2": "Doing this will verify your affiliation with <0>__institutionName__ and will allow you to log in to <0>__appName__ through your institution.", + "done": "Done", + "dont_have_account": "Don’t have an account?", + "dont_have_account_without_question_mark": "Don’t have an account", + "download": "Download", + "download_all": "Download all", + "download_metadata": "Download Overleaf metadata", + "download_pdf": "Download PDF", + "download_zip_file": "Download .zip file", + "draft_sso_configuration": "Draft SSO configuration", + "drag_here": "drag here", + "drag_here_paste_an_image_or": "Drag here, paste an image, or ", + "drop_files_here_to_upload": "Drop files here to upload", + "dropbox": "Dropbox", + "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account.", + "dropbox_already_linked_error_with_email": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account using email address __otherUsersEmail__.", + "dropbox_checking_sync_status": "Checking Dropbox for updates", + "dropbox_duplicate_names_error": "Your Dropbox account can not be linked, because you have more than one project with the same name: ", + "dropbox_duplicate_project_names": "Your Dropbox account has been unlinked, because you have more than one project called <0>\"__projectName__\".", + "dropbox_duplicate_project_names_suggestion": "Please make your project names unique across all your <0>active, archived and trashed projects and then re-link your Dropbox account.", + "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", + "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won’t be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", + "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on Overleaf and vice versa.", + "dropbox_integration_lowercase": "Dropbox integration", + "dropbox_successfully_linked_description": "Thanks, we’ve successfully linked your Dropbox account to __appName__.", + "dropbox_sync": "Dropbox Sync", + "dropbox_sync_both": "Sending and receiving updates", + "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox account. Changes in __appName__ are automatically sent to your Dropbox account, and the other way around.", + "dropbox_sync_error": "Sorry, there was a problem checking our Dropbox service. Please try again in a few moments.", + "dropbox_sync_in": "Receiving updates from Dropbox", + "dropbox_sync_now_rate_limited": "Manual syncing is limited to one per minute. Please wait for a while and try again.", + "dropbox_sync_now_running": "A manual sync for this project has been started in the background. Please give it a few minutes to process.", + "dropbox_sync_out": "Sending updates to Dropbox", + "dropbox_sync_troubleshoot": "Changes not appearing in Dropbox? Please wait a few minutes. If changes still don’t appear, you can <0>sync this project now.", + "dropbox_synced": "Overleaf and Dropbox have processed all updates. Note that your local Dropbox might still be synchronizing", + "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with Overleaf.", + "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with Overleaf.", + "dropbox_unlinked_premium_feature": "<0>Your Dropbox account has been unlinked because Dropbox Sync is a premium feature that you had through an institutional license.", + "due_date": "Due __date__", + "due_today": "Due today", + "duplicate_file": "Duplicate File", + "duplicate_projects": "This user has projects with duplicate names", + "each_user_will_have_access_to": "Each user will have access to", + "easily_import_and_sync_your_references": "Easily import and sync your references from Zotero or Mendeley when you upgrade your Overleaf plan.", + "easily_manage_your_project_files_everywhere": "Easily manage your project files, everywhere", + "easy_collaboration_for_students": "Easy collaboration for students. Supports longer or more complex projects.", + "edit": "Edit", + "edit_comment_error_message": "There was an error editing your comment. Please try again in a few moments.", + "edit_comment_error_title": "Edit Comment Error", + "edit_dictionary": "Edit Dictionary", + "edit_dictionary_empty": "Your custom dictionary is empty.", + "edit_dictionary_remove": "Remove from dictionary", + "edit_figure": "Edit figure", + "edit_sso_configuration": "Edit SSO Configuration", + "edit_tag": "Edit Tag", + "editing": "Editing", + "editing_and_collaboration": "Editing and collaboration", + "editing_captions": "Editing captions", + "editor": "Editor", + "editor_and_pdf": "Editor & PDF", + "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", + "editor_limit_exceeded_in_this_project": "Too many editors in this project", + "editor_only_hide_pdf": "Editor only <0>(hide PDF)", + "editor_theme": "Editor theme", + "educational_discount_applied": "40% educational discount applied!", + "educational_discount_available_for_groups_of_ten_or_more": "The educational discount is available for groups of 10 or more", + "educational_discount_disclaimer": "This license is for educational purposes (applies to students or faculty using Overleaf for teaching)", + "educational_discount_for_groups_of_ten_or_more": "Overleaf offers a 40% educational discount for groups of 10 or more.", + "educational_discount_for_groups_of_x_or_more": "The educational discount is available for groups of __size__ or more", + "educational_percent_discount_applied": "__percent__% educational discount applied!", + "email": "Email", + "email_address": "Email address", + "email_address_is_invalid": "Email address is invalid", + "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", + "email_already_registered": "This email is already registered", + "email_already_registered_secondary": "This email is already registered as a secondary email", + "email_already_registered_sso": "This email is already registered. Please log in to your account another way and link your account to the new provider via your account settings.", + "email_confirmed_onboarding": "Great! Let’s get you set up", + "email_confirmed_onboarding_message": "Your email address is confirmed. Click <0>Continue to finish your setup.", + "email_does_not_belong_to_university": "We don’t recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", + "email_limit_reached": "You can have a maximum of <0>__emailAddressLimit__ email addresses on this account. To add another email address, please delete an existing one.", + "email_link_expired": "Email link expired, please request a new one.", + "email_must_be_linked_to_institution": "As a member of __institutionName__, this email address can only be added via single sign-on on your <0>account settings page. Please add a different recovery email address.", + "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again.", + "email_or_password_wrong_try_again_or_reset": "Your email or password is incorrect. Please try again, or <0>set or reset your password.", + "email_required": "Email required", + "email_sent": "Email Sent", + "emails": "Emails", + "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", + "emails_and_affiliations_title": "Emails and Affiliations", + "empty": "Empty", + "empty_zip_file": "Zip doesn’t contain any file", + "en": "English", + "enable_managed_users": "Enable Managed Users", + "enable_single_sign_on": "Enable single sign-on", + "enable_sso": "Enable SSO", + "enable_stop_on_first_error_under_recompile_dropdown_menu": "Enable <0>“Stop on first error” under the <1>Recompile drop-down menu to help you find and fix errors right away.", + "enabled": "Enabled", + "enabling": "Enabling", + "end_of_document": "End of document", + "enter_6_digit_code": "Enter 6-digit code", + "enter_any_size_including_units_or_valid_latex_command": "Enter any size (including units) or valid LaTeX command", + "enter_image_url": "Enter image URL", + "enter_the_confirmation_code": "Enter the 6-digit confirmation code sent to __email__.", + "enter_your_email_address": "Enter your email address", + "enter_your_email_address_below_and_we_will_send_you_a_link_to_reset_your_password": "Enter your email address below, and we will send you a link to reset your password", + "enter_your_new_password": "Enter your new password", + "equation_preview": "Equation preview", + "error": "Error", + "error_opening_document": "Error opening document", + "error_opening_document_detail": "Sorry, something went wrong opening this document. Please try again.", + "error_performing_request": "An error has occurred while performing your request.", + "error_processing_file": "Sorry, something went wrong processing this file. Please try again.", + "error_submitting_comment": "Error submitting comment", + "es": "Spanish", + "estimated_number_of_overleaf_users": "Estimated number of __appName__ users", + "every": "per", + "everything_in_free_plus": "Everything in Free, plus…", + "everything_in_group_professional_plus": "Everything in Group Professional, plus…", + "everything_in_group_standard_plus": "Everything in Group Standard, plus…", + "everything_in_standard_plus": "Everything in Standard, plus…", + "example": "Example", + "example_project": "Example Project", + "examples": "Examples", + "examples_to_help_you_learn": "Examples to help you learn how to use powerful LaTeX packages and techniques.", + "exclusive_access_with_labs": "Exclusive access to early-stage experiments", + "existing_plan_active_until_term_end": "Your existing plan and its features will remain active until the end of the current billing period.", + "expand": "Expand", + "experiment_full": "Sorry, this experiment is full", + "expired": "Expired", + "expired_confirmation_code": "Your confirmation code has expired. Click <0>Resend confirmation code to get a new one.", + "expires": "Expires", + "expires_in_days": "Expires in __days__ days", + "expires_on": "Expires: __date__", + "expiry": "Expiry Date", + "explore_all_plans": "Explore all plans", + "export_csv": "Export CSV", + "export_project_to_github": "Export Project to GitHub", + "failed_to_send_group_invite_to_email": "Failed to send Group invite to <0>__email__. Please try again later.", + "failed_to_send_managed_user_invite_to_email": "Failed to send Managed User invite to <0>__email__. Please try again later.", + "failed_to_send_sso_link_invite_to_email": "Failed to send SSO invite reminder to <0>__email__. Please try again later.", + "faq_change_plans_or_cancel_answer": "Yes, you can do this at any time via your subscription settings. You can change plans, switch between monthly and annual billing options, or cancel to downgrade to the free plan. When cancelling, your subscription will continue until the end of the billing period. If your account temporarily does not have a subscription, the only change will be to the features available to you. Your projects will always be available on your account.", + "faq_change_plans_or_cancel_question": "Can I change plans or cancel later?", + "faq_do_collab_need_on_paid_plan_answer": "No, they can be on any plan, including the free plan. If you are on a premium plan, some premium features will be available to your collaborators in projects that you have created, even if those collaborators are on the free plan. For more information, read about <0>account and subscriptions and <1>how premium features work.", + "faq_do_collab_need_on_paid_plan_question": "Do my collaborators also need to be on a paid plan?", + "faq_how_does_a_group_plan_work_answer": "Group subscriptions are a way to upgrade more than one Overleaf account. They are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple subscriptions separately. To learn more, read about <0>joining a group subscription and <1>managing a group subscription. You can purchase group subscriptions above or by <2>contacting us.", + "faq_how_does_a_group_plan_work_question": "How does a group plan work? How can I add people to the plan?", + "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", + "faq_how_free_trial_works_answer_v2": "You get full access to your chosen premium plan during your __len__ day free trial, and there is no obligation to continue beyond the trial. Your card will be charged at the end of your trial unless you cancel before then. To cancel, go to your subscription settings in your account (the trial will continue for the full __len__ days).", + "faq_how_free_trial_works_question": "How does the free trial work?", + "faq_i_have_free_account_want_subscription_how_answer_first_paragraph": "In Overleaf, every user creates and manages their own Overleaf account. Most users start on the free plan but can upgrade and enjoy the premium features by subscribing to a plan, joining a group subscription or joining a <0>Commons subscription. When you purchase, join or leave a subscription, you can still keep the same Overleaf account.", + "faq_i_have_free_account_want_subscription_how_answer_second_paragraph": "To find out more, read more about <0>how accounts and subscriptions work together in Overleaf.", + "faq_i_have_free_account_want_subscription_how_question": "I have a free account and want to join a subscription, how do I do that?", + "faq_pay_by_invoice_answer_v2": "Yes, if you’d like to purchase a group subscription for five or more people, or a site license. For individual subscriptions we can only accept payment online via credit card, debit card or PayPal.", + "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", + "faq_the_individual_standard_plan_10_collab_first_paragraph": "No. Only the subscriber’s account will be upgraded. An individual Standard subscription allows you to invite 10 collaborators to each project owned by you.", + "faq_the_individual_standard_plan_10_collab_question": "The individual Standard plan has 10 project collaborators, does it mean that 10 people will be upgraded?", + "faq_the_individual_standard_plan_10_collab_second_paragraph": "While working on a project that you, as a subscriber, share with them, your collaborators will be able to access some premium features such as the full document history and extended compile time for that particular project. Inviting them to a particular project does not upgrade their accounts overall, however. Read more about <0>which features are per project, and which are per account.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_first_paragraph": "In Overleaf, every user creates their own account. You can create projects that only you work on, and you can also invite others to view or work with you on projects that you own. Users that you share your project with are called <0>collaborators. We sometimes refer to them as project collaborators.", + "faq_what_is_the_difference_between_users_and_collaborators_answer_second_paragraph": "In other words, collaborators are just other Overleaf users that you are working with on one of your projects.", + "faq_what_is_the_difference_between_users_and_collaborators_question": "What’s the difference between users and collaborators?", + "fast": "Fast", + "fastest": "Fastest", + "feature_included": "Feature included", + "feature_not_included": "Feature not included", + "featured": "Featured", + "featured_latex_templates": "Featured LaTeX Templates", + "features": "Features", + "features_and_benefits": "Features & Benefits", + "february": "February", + "file_action_created": "Created", + "file_action_deleted": "Deleted", + "file_action_edited": "Edited", + "file_action_renamed": "Renamed", + "file_action_restored": "Restored __fileName__ from: __date__", + "file_action_restored_project": "Restored project from __date__", + "file_already_exists": "A file or folder with this name already exists", + "file_already_exists_in_this_location": "An item named <0>__fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", + "file_name": "File Name", + "file_name_figure_modal": "File name", + "file_name_in_this_project": "File Name In This Project", + "file_name_in_this_project_figure_modal": "File name in this project", + "file_or_folder_name_already_exists": "A file or folder with this name already exists", + "file_outline": "File outline", + "file_size": "File size", + "file_too_large": "File too large", + "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", + "files_selected": "files selected.", + "fill_in_our_quick_survey": "Fill in our quick survey.", + "filter_projects": "Filter projects", + "filters": "Filters", + "find_out_more": "Find out More", + "find_out_more_about_institution_login": "Find out more about institutional login", + "find_out_more_about_the_file_outline": "Find out more about the file outline", + "find_out_more_nt": "Find out more.", + "finding_a_fix": "Finding a fix", + "first_name": "First Name", + "fit_to_height": "Fit to height", + "fit_to_width": "Fit to width", + "fixed_width": "Fixed width", + "fixed_width_wrap_text": "Fixed width, wrap text", + "flexible_plans_for_everyone": "Flexible plans for everyone—from individual students and researchers, to large businesses and universities.", + "fold_line": "Fold line", + "folder_location": "Folder location", + "folders": "Folders", + "following_paths_conflict": "The following files and folders conflict with the same path", + "font_family": "Font Family", + "font_size": "Font Size", + "footer_about_us": "About us", + "footer_contact_us": "Contact us", + "footer_navigation": "Footer navigation", + "footer_plans_and_pricing": "Plans & pricing", + "for_business": "For business", + "for_enterprise": "For enterprise", + "for_government": "For government", + "for_groups_or_site_wide": "For groups or site-wide", + "for_individuals_and_groups": "For individuals & groups", + "for_large_institutions_and_organizations_need_sitewide_on_premise": "For large institutions and organizations that need site-wide access or an on-premises solution.", + "for_more_information_see_managed_accounts_section": "For more information, see the \"Managed Accounts\" section in <0>our terms of use, which you agree to by clicking Accept invitation.", + "for_publishers": "For publishers", + "for_small_teams_and_departments_who_want_to_write_collaborate": "For small teams and departments who want to write and collaborate easily in LaTeX.", + "for_students": "For students", + "for_students_only": "For students only", + "for_teaching": "For teaching", + "for_teams_and_organizations_who_want_a_streamlined_sso_and_security": "For teams and organizations who want a streamlined sign-on process and our strongest cloud security.", + "for_universities": "For universities", + "forever": "forever", + "forgot_your_password": "Forgot your password", + "format": "Format", + "found_matching_deleted_users": "Found __deletedUserCount__ matching deleted users", + "four_minutes": "4 minutes", + "fr": "French", + "free": "Free", + "free_7_day_trial_billed_annually": "Free 7-day trial, then billed annually", + "free_7_day_trial_billed_monthly": "Free 7-day trial, then billed monthly", + "free_dropbox_and_history": "Free Dropbox and History", + "free_plan_label": "You’re on the free plan", + "free_plan_tooltip": "Click to find out how you could benefit from Overleaf premium features.", + "frequently_asked_questions": "frequently asked questions", + "from_another_project": "From another project", + "from_enforcement_date": "From __enforcementDate__ any additional editors on this project will be made viewers.", + "from_external_url": "From external URL", + "from_filename": "From <0>__filename__", + "from_github": "From GitHub", + "from_project_files": "From project files", + "from_provider": "From __provider__", + "from_url": "From URL", + "full_doc_history": "Full document history", + "full_doc_history_info_v2": "You can see all the edits in your project and who made every change. Add labels to quickly access specific versions.", + "full_document_history": "Full document <0>history", + "full_project_search": "Full Project Search", + "full_width": "Full width", + "gallery": "Gallery", + "gallery_find_more": "Find More __itemPlural__", + "gallery_items_tagged": "__itemPlural__ tagged __title__", + "gallery_page_items": "Gallery Items", + "gallery_page_summary": "A gallery of up-to-date and stylish LaTeX templates, examples to help you learn LaTeX, and papers and presentations published by our community. Search or browse below.", + "gallery_page_title": "Gallery - Templates, Examples and Articles written in LaTeX", + "gallery_show_all": "Show all __itemPlural__", + "generate_token": "Generate token", + "generic_if_problem_continues_contact_us": "If the problem continues please contact us", + "generic_linked_file_compile_error": "This project’s output files are not available because it failed to compile. Please open the project to see the compilation error details.", + "generic_something_went_wrong": "Sorry, something went wrong", + "get_advanced_reference_search": "Get advanced reference search", + "get_collaborative_benefits": "Get the collaborative benefits from __appName__, even if you prefer to work offline", + "get_discounted_plan": "Get discounted plan", + "get_dropbox_sync": "Get Dropbox Sync", + "get_early_access_to_ai": "Get early access to the new AI Error Assistant in Overleaf Labs", + "get_exclusive_access_to_labs": "Get exclusive access to early-stage experiments when you join Overleaf Labs. All we ask in return is your honest feedback to help us develop and improve.", + "get_full_project_history": "Get full project history", + "get_git_integration": "Get Git integration", + "get_github_sync": "Get GitHub Sync", + "get_in_touch": "Get in touch", + "get_in_touch_having_problems": "Get in touch with support if you’re having problems", + "get_involved": "Get involved", + "get_more_compile_time": "Get more compile time", + "get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features.", + "get_some_texnical_assistance": "Get some TeXnical assistance from AI to fix errors in your project.", + "get_symbol_palette": "Get Symbol Palette", + "get_the_best_overleaf_experience": "Get the best Overleaf experience", + "get_the_best_writing_experience": "Get the best writing experience", + "get_the_most_out_headline": "Get the most out of __appName__ with features such as:", + "get_track_changes": "Get track changes", + "git": "Git", + "git_authentication_token": "Git authentication token", + "git_authentication_token_create_modal_info_1": "This is your Git authentication token. You should enter this when prompted for a password.", + "git_authentication_token_create_modal_info_2": "<0>You will only see this authentication token once so please copy it and keep it safe. For full instructions on using authentication tokens, visit our <1>help page.", + "git_bridge_modal_click_generate": "Click Generate token to generate your authentication token now. Or do this later in your Account Settings.", + "git_bridge_modal_enter_authentication_token": "When prompted for a password, enter your new authentication token:", + "git_bridge_modal_git_authentication_tokens": "Git authentication tokens", + "git_bridge_modal_git_clone_your_project": "Git clone your project by using the link below and a Git authentication token", + "git_bridge_modal_learn_more_about_authentication_tokens": "Learn more about Git integration authentication tokens.", + "git_bridge_modal_read_only": "You have read-only access to this project. This means you can pull from __appName__ but you can’t push any changes you make back to this project.", + "git_bridge_modal_see_once": "You’ll only see this token once. To delete it or generate a new one, visit Account Settings. For detailed instructions and troubleshooting, read our <0>help page.", + "git_bridge_modal_use_previous_token": "If you’re prompted for a password, you can use a previously generated Git authentication token. Or you can generate a new one in Account Settings. For more support, read our <0>help page.", + "git_bridge_modal_you_can_also_git_clone": "You can also git clone your project by using the link below and a Git authentication token.", + "git_gitHub_dropbox_mendeley_and_zotero_integrations": "Git, GitHub, Dropbox, Mendeley, and Zotero integrations", + "git_integration": "Git Integration", + "git_integration_info": "With Git integration, you can clone your Overleaf projects with Git. For full instructions on how to do this, read <0>our help page.", + "git_integration_lowercase": "Git integration", + "git_integration_lowercase_info": "You can clone your Overleaf project to a local repository, treating your Overleaf project as a remote repository that changes can be pushed to and pulled from.", + "github": "GitHub", + "github_commit_message_placeholder": "Commit message for changes made in __appName__...", + "github_credentials_expired": "Your GitHub authorization credentials have expired", + "github_empty_repository_error": "It looks like your GitHub repository is empty or not yet available. Create a new file on GitHub.com then try again.", + "github_file_name_error": "This repository cannot be imported, because it contains file(s) with an invalid filename:", + "github_file_sync_error": "We are unable to sync the following files:", + "github_git_and_dropbox_integrations": "<0>Github, <0>Git and <0>Dropbox integrations", + "github_git_folder_error": "This project contains a .git folder at the top level, indicating that it is already a git repository. The Overleaf GitHub sync service cannot sync git histories. Please remove the .git folder and try again.", + "github_integration_lowercase": "Git and GitHub integration", + "github_is_no_longer_connected": "GitHub is no longer connected to this project.", + "github_is_premium": "GitHub Sync is a premium feature", + "github_large_files_error": "Merge failed: your GitHub repository contains files over the 50mb file size limit ", + "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the <0>__sharelatex_branch__ branch into the default branch in git. Click below to continue, after you have manually merged.", + "github_no_master_branch_error": "This repository cannot be imported as it is missing a default branch. Please make sure the project has a default branch", + "github_only_integration_lowercase": "GitHub integration", + "github_only_integration_lowercase_info": "Link your Overleaf projects directly to a GitHub repository that acts as a remote repository for your overleaf project. This allows you to share with collaborators outside of Overleaf, and integrate Overleaf into more complex workflows.", + "github_private_description": "You choose who can see and commit to this repository.", + "github_public_description": "Anyone can see this repository. You choose who can commit.", + "github_repository_diverged": "The default branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause Overleaf and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", + "github_successfully_linked_description": "Thanks, we’ve successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", + "github_symlink_error": "Your GitHub repository contains symbolic link files, which are not currently supported by Overleaf. Please remove these and try again.", + "github_sync": "GitHub Sync", + "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories, create new commits from __appName__, and merge commits from GitHub.", + "github_sync_error": "Sorry, there was a problem checking our GitHub service. Please try again in a few moments.", + "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the ‘GitHub’ menu item. You can also unlink the repository from this project.", + "github_timeout_error": "Syncing your Overleaf project with GitHub has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", + "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", + "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", + "github_workflow_authorize": "Authorize GitHub Workflow files", + "github_workflow_files_delete_github_repo": "The repository has been created on GitHub but linking was unsuccessful. You will have to delete GitHub repository or choose a new name.", + "github_workflow_files_error": "The __appName__ GitHub sync service couldn’t sync GitHub Workflow files (in .github/workflows/). Please authorize __appName__ to edit your GitHub workflow files and try again.", + "give_feedback": "Give feedback", + "give_your_feedback": "give your feedback", + "global": "global", + "go_back_and_link_accts": "Go back and link your accounts", + "go_next_page": "Go to Next Page", + "go_page": "Go to page __page__", + "go_prev_page": "Go to Previous Page", + "go_to_account_settings": "Go to Account Settings", + "go_to_code_location_in_pdf": "Go to code location in PDF", + "go_to_first_page": "Go to first page", + "go_to_last_page": "Go to last page", + "go_to_next_page": "Go to next page", + "go_to_overleaf": "Go to Overleaf", + "go_to_page_x": "Go to page __page__", + "go_to_pdf_location_in_code": "Go to PDF location in code (Tip: double click on the PDF for best results)", + "go_to_previous_page": "Go to previous page", + "go_to_settings": "Go to settings", + "great_for_getting_started": "Great for getting started", + "great_for_small_teams_and_departments": "Great for small teams and departments", + "group": "Group", + "group_admin": "Group admin", + "group_admins_get_access_to": "Group admins get access to", + "group_admins_get_access_to_info": "Special features available only on group plans.", + "group_full": "This group is already full", + "group_invitations": "Group Invitations", + "group_invite_has_been_sent_to_email": "Group invite has been sent to <0>__email__", + "group_libraries": "Group Libraries", + "group_managed_by_group_administrator": "User accounts in this group are managed by the group administrator.", + "group_members_and_collaborators_get_access_to": "Group members and their project collaborators get access to", + "group_members_and_their_collaborators_get_access_to_info": "These features are available to group members and their collaborators (other Overleaf users invited to projects owned by a group member).", + "group_members_get_access_to": "Group members get access to", + "group_members_get_access_to_info": "These features are available only to group members (subscribers).", + "group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Group plan admins can easily add and remove users from a group. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your Overleaf premium features.", + "group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your Overleaf premium features.", + "group_plans": "Group Plans", + "group_professional": "Group Professional", + "group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata. You can add this manually or click <1>Import IdP metadata to import an XML file.", + "group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure Overleaf as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the Overleaf metadata.", + "group_sso_documentation_links": "Please see our <0>documentation and <1>troubleshooting guide for more help.", + "group_standard": "Group Standard", + "group_subscription": "Group Subscription", + "groups": "Groups", + "have_an_extra_backup": "Have an extra backup", + "have_more_days_to_try": "Have another __days__ days on your Trial!", + "headers": "Headers", + "help": "Help", + "help_articles_matching": "Help articles matching your subject", + "help_improve_overleaf_fill_out_this_survey": "If you would like to help us improve Overleaf, please take a moment to fill out <0>this survey.", + "help_improve_screen_reader_fill_out_this_survey": "Help us improve your experience using a screen reader with __appName__ by filling out this quick survey.", + "hide_configuration": "Hide configuration", + "hide_deleted_user": "Hide deleted users", + "hide_document_preamble": "Hide document preamble", + "hide_local_file_contents": "Hide Local File Contents", + "hide_outline": "Hide File outline", + "history": "History", + "history_add_label": "Add label", + "history_adding_label": "Adding label", + "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", + "history_compare_from_this_version": "Compare from this version", + "history_compare_up_to_this_version": "Compare up to this version", + "history_delete_label": "Delete label", + "history_deleting_label": "Deleting label", + "history_download_this_version": "Download this version", + "history_entry_origin_dropbox": "via Dropbox", + "history_entry_origin_git": "via Git", + "history_entry_origin_github": "via GitHub", + "history_entry_origin_upload": "upload", + "history_label_created_by": "Created by", + "history_label_project_current_state": "Current state", + "history_label_this_version": "Label this version", + "history_new_label_name": "New label name", + "history_restore_promo_content": "Now you can restore a single file or your whole project to a previous version, including comments and tracked changes. Click Restore this version to restore the selected file or use the <0> menu in the history entry to restore the full project.", + "history_restore_promo_title": "Need to turn back time?", + "history_resync": "History resync", + "history_view_a11y_description": "Show all of the project history or only labelled versions.", + "history_view_all": "All history", + "history_view_labels": "Labels", + "hit_enter_to_reply": "Hit Enter to reply", + "home": "Home", + "hotkey_add_a_comment": "Add a comment", + "hotkey_autocomplete_menu": "Autocomplete Menu", + "hotkey_beginning_of_document": "Beginning of document", + "hotkey_bold_text": "Bold text", + "hotkey_compile": "Compile", + "hotkey_delete_current_line": "Delete Current Line", + "hotkey_end_of_document": "End of document", + "hotkey_find_and_replace": "Find (and replace)", + "hotkey_go_to_line": "Go To Line", + "hotkey_indent_selection": "Indent Selection", + "hotkey_insert_candidate": "Insert Candidate", + "hotkey_italic_text": "Italic Text", + "hotkey_redo": "Redo", + "hotkey_search_references": "Search References", + "hotkey_select_all": "Select All", + "hotkey_select_candidate": "Select Candidate", + "hotkey_to_lowercase": "To Lowercase", + "hotkey_to_uppercase": "To Uppercase", + "hotkey_toggle_comment": "Toggle Comment", + "hotkey_toggle_review_panel": "Toggle review panel", + "hotkey_toggle_track_changes": "Toggle track changes", + "hotkey_undo": "Undo", + "hotkeys": "Hotkeys", + "how_it_works": "How it works", + "how_many_users_do_you_need": "How many users do you need?", + "how_to_create_tables": "How to create tables", + "how_to_insert_images": "How to insert images", + "how_we_use_your_data": "How we use your data", + "how_we_use_your_data_explanation": "<0>Please help us continue to improve Overleaf by answering a few quick questions. Your answers will help us and our corporate group understand more about our user base. We may use this information to improve your Overleaf experience, for example by providing personalized onboarding, upgrade prompts, help suggestions, and tailored marketing communications (if you’ve opted-in to receive them).<1>For more details on how we use your personal data, please see our <0>Privacy Notice.", + "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "i_want_to_stay": "I want to stay", + "id": "ID", + "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", + "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", + "if_you_need_to_customize_your_table_further_you_can": "If you need to customize your table further, you can. Using LaTeX code, you can change anything from table styles and border styles to colors and column widths. <0>Read our guide to using tables in LaTeX to help you get started.", + "if_your_occupation_not_listed_type_full_name": "If your __occupation__ isn’t listed, you can type the full name.", + "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", + "ignore_validation_errors": "Don’t check syntax", + "ill_take_it": "I’ll take it!", + "image_file": "Image file", + "image_url": "Image URL", + "image_width": "Image width", + "import_a_bibtex_file_from_your_provider_account": "Import a BibTeX file from your __provider__ account", + "import_from_github": "Import from GitHub", + "import_idp_metadata": "Import IdP metadata", + "import_to_sharelatex": "Import to __appName__", + "imported_from_another_project_at_date": "Imported from <0>Another project/__sourceEntityPathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_external_provider_at_date": "Imported from <0>__shortenedUrlHTML__ at __formattedDate__ __relativeDate__", + "imported_from_mendeley_at_date": "Imported from Mendeley at __formattedDate__ __relativeDate__", + "imported_from_the_output_of_another_project_at_date": "Imported from the output of <0>Another project: __sourceOutputFilePathHTML__, at __formattedDate__ __relativeDate__", + "imported_from_zotero_at_date": "Imported from Zotero at __formattedDate__ __relativeDate__", + "importing": "Importing", + "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", + "in_good_company": "You’re In Good Company", + "in_order_to_have_a_secure_account_make_sure_your_password": "To help keep your account secure, make sure your new password:", + "in_order_to_match_institutional_metadata_2": "In order to match your institutional metadata, we’ve linked your account using <0>__email__.", + "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", + "include_caption": "Include caption", + "include_label": "Include label", + "include_results_from_your_reference_manager": "Include results from your reference manager", + "include_results_from_your_x_account": "Include results from your __provider__ account", + "include_the_error_message_and_ai_response": "Include the error message and AI response", + "increased_compile_timeout": "Increased compile timeout", + "individuals": "Individuals", + "indvidual_plans": "Individual Plans", + "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", + "inr_discount_modal_title": "70% off all Overleaf premium plans for users in India", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! We’ve applied a 70% discount to premium plans for our users in India. Check out the new lower prices below.", + "insert": "Insert", + "insert_column_left": "Insert column left", + "insert_column_right": "Insert column right", + "insert_figure": "Insert figure", + "insert_from_another_project": "Insert from another project", + "insert_from_project_files": "Insert from project files", + "insert_from_url": "Insert from URL", + "insert_image": "Insert image", + "insert_row_above": "Insert row above", + "insert_row_below": "Insert row below", + "insert_x_columns_left": "Insert __columns__ columns left", + "insert_x_columns_right": "Insert __columns__ columns right", + "insert_x_rows_above": "Insert __rows__ rows above", + "insert_x_rows_below": "Insert __rows__ rows below", + "institution": "Institution", + "institution_account": "Institution Account", + "institution_account_tried_to_add_affiliated_with_another_institution": "This email is already associated with your account but affiliated with another institution.", + "institution_account_tried_to_add_already_linked": "This institution is already linked with your account via another email address.", + "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", + "institution_account_tried_to_add_not_affiliated": "This email is already associated with your account but not affiliated with this institution.", + "institution_account_tried_to_confirm_saml": "This email cannot be confirmed. Please remove the email from your account and try adding it again.", + "institution_acct_successfully_linked_2": "Your <0>__appName__ account was successfully linked to your <0>__institutionName__ institutional account.", + "institution_and_role": "Institution and role", + "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", + "institution_has_overleaf_subscription": "<0>__institutionName__ has an Overleaf subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>Overleaf Professional.", + "institution_templates": "Institution Templates", + "institutional": "Institutional", + "institutional_leavers_survey_notification": "Provide some quick feedback to receive a 25% discount on an annual subscription!", + "institutional_login_not_supported": "Your institution doesn’t support institutional login yet, but you can still register with your institutional email.", + "institutional_login_unknown": "Sorry, we don’t know which institution issued that email address. You can browse our list of institutions to find yours, or you can use one of the other options below.", + "integrations": "Integrations", + "interested_in_cheaper_personal_plan": "Would you be interested in the cheaper <0>__price__ Personal plan?", + "invalid_certificate": "Invalid certificate. Please check the certificate and try again.", + "invalid_confirmation_code": "That didn’t work. Please check the code and try again.", + "invalid_email": "An email address is invalid", + "invalid_file_name": "Invalid File Name", + "invalid_filename": "Upload failed: check that the file name doesn’t contain special characters, trailing/leading whitespace or more than __nameLimit__ characters", + "invalid_institutional_email": "Your institution’s SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution’s domain. Please contact your IT department if you have any questions.", + "invalid_password": "Invalid Password", + "invalid_password_contains_email": "Password cannot contain parts of email address", + "invalid_password_invalid_character": "Password contains an invalid character", + "invalid_password_not_set": "Password is required", + "invalid_password_too_long": "Maximum password length __maxLength__ exceeded", + "invalid_password_too_short": "Password too short, minimum __minLength__", + "invalid_password_too_similar": "Password is too similar to parts of email address", + "invalid_request": "Invalid Request. Please correct the data and try again.", + "invalid_zip_file": "Invalid zip file", + "invite": "Invite", + "invite_expired": "The invite may have expired", + "invite_more_collabs": "Invite more collaborators", + "invite_not_accepted": "Invite not yet accepted", + "invite_not_valid": "This is not a valid project invite", + "invite_not_valid_description": "The invite may have expired. Please contact the project owner", + "invite_resend_limit_hit": "The invite resend limit hit", + "invited_to_group": "<0>__inviterName__ has invited you to join a group subscription on __appName__", + "invited_to_group_have_individual_subcription": "__inviterName__ has invited you to join a group __appName__ subscription. If you join this group, you may not need your individual subscription. Would you like to cancel it?", + "invited_to_group_login": "To accept this invitation you need to log in as __emailAddress__.", + "invited_to_group_login_benefits": "As part of this group, you’ll have access to __appName__ premium features such as additional collaborators, greater maximum compile time, and real-time track changes.", + "invited_to_group_register": "To accept __inviterName__’s invitation you’ll need to create an account.", + "invited_to_group_register_benefits": "__appName__ is a collaborative online LaTeX editor, with thousands of ready-to-use templates and an array of LaTeX learning resources to help you get started.", + "invited_to_join": "You have been invited to join", + "ip_address": "IP Address", + "is_email_affiliated": "Is your email affiliated with an institution? ", + "is_longer_than_n_characters": "is at least __n__ characters long", + "is_not_used_on_any_other_website": "is not used on any other website", + "issued_on": "Issued: __date__", + "it": "Italian", + "ja": "Japanese", + "january": "January", + "join_beta_program": "Join beta program", + "join_labs": "Join Labs", + "join_now": "Join now", + "join_overleaf_labs": "Join Overleaf Labs", + "join_project": "Join Project", + "join_sl_to_view_project": "Join __appName__ to view this project", + "join_team_explanation": "Please click the button below to join the group subscription and enjoy the benefits of an upgraded __appName__ account", + "joined_team": "You have joined the group subscription managed by __inviterName__", + "joining": "Joining", + "july": "July", + "june": "June", + "justify": "Justify", + "kb_suggestions_enquiry": "Have you checked our <0>__kbLink__?", + "keep_current_plan": "Keep my current plan", + "keep_personal_projects_separate": "Keep personal projects separate", + "keep_your_account_safe": "Keep your account safe", + "keep_your_account_safe_add_another_email": "Keep your account safe and make sure you don’t lose access to it by adding another email address.", + "keep_your_email_updated": "Keep your email updated so that you don’t lose access to your account and data.", + "keybindings": "Keybindings", + "knowledge_base": "knowledge base", + "ko": "Korean", + "labels_help_you_to_easily_reference_your_figures": "Labels help you to easily reference your figures throughout your document. To reference a figure within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference figures without needing to manually remember the figure numbering. <1>Learn more", + "labels_help_you_to_reference_your_tables": "Labels help you to reference your tables throughout your document easily. To reference a table within the text, reference the label using the <0>\\ref{...} command. This makes it easy to reference tables without manually remembering the table numbering. <1>Read about labels and cross-references.", + "labs_program_benefits": "By signing up for Overleaf Labs you can get your hands on in-development features and try them out as much as you like. All we ask in return is your honest feedback to help us develop and improve. It’s important to note that features available in this program are still being tested and actively developed. This means they could change, be removed, or become part of a premium plan.", + "language": "Language", + "language_feedback": "Language Feedback", + "large_or_high-resolution_images_taking_too_long": "Large or high-resolution images taking too long to process. You may be able to <0>optimize them.", + "last_active": "Last Active", + "last_active_description": "Last time a project was opened.", + "last_edit": "Last edit", + "last_logged_in": "Last logged in", + "last_modified": "Last Modified", + "last_name": "Last Name", + "last_resort_trouble_shooting_guide": "If that doesn’t help, follow our <0>troubleshooting guide.", + "last_suggested_fix": "Last suggested fix", + "last_updated": "Last Updated", + "last_updated_date_by_x": "__lastUpdatedDate__ by __person__", + "last_used": "last used", + "latam_discount_modal_info": "Unlock the full potential of Overleaf with a __discount__% discount on premium subscriptions paid in __currencyName__. Get a longer compile timeout, full document history, track changes, additional collaborators, and more.", + "latam_discount_modal_title": "Premium subscription discount", + "latam_discount_offer_plans_page_banner": "__flag__ We’ve applied a __discount__ discount to premium plans on this page for our users in __country__. Check out the new lower prices (in __currency__).", + "latex_articles_page_summary": "Papers, presentations, reports and more, written in LaTeX and published by our community. Search or browse below.", + "latex_articles_page_title": "Articles - Papers, Presentations, Reports and more", + "latex_examples": "LaTeX examples", + "latex_examples_page_summary": "Examples of powerful LaTeX packages and techniques in use — a great way to learn LaTeX by example. Search or browse below.", + "latex_examples_page_title": "Examples - Equations, Formatting, TikZ, Packages and More", + "latex_in_thirty_minutes": "LaTeX in 30 minutes", + "latex_places_figures_according_to_a_special_algorithm": "LaTeX places figures according to a special algorithm. You can use something called ‘placement parameters’ to influence the positioning of the figure. <0>Find out how", + "latex_places_tables_according_to_a_special_algorithm": "LaTeX places tables according to a special algorithm. You can use “placement parameters” to influence the position of the table. <0>This article explains how to do this.", + "latex_templates": "LaTeX Templates", + "latex_templates_and_examples": "LaTeX templates and examples", + "latex_templates_for_journal_articles": "LaTeX templates for journal articles, academic papers, CVs and résumés, presentations, and more.", + "layout": "Layout", + "layout_processing": "Layout processing", + "ldap": "LDAP", + "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", + "learn": "Learn", + "learn_more": "Learn more", + "learn_more_about_account": "<0>Learn more about managing your __appName__ account.", + "learn_more_about_emails": "<0>Learn more about managing your __appName__ emails.", + "learn_more_about_link_sharing": "Learn more about Link Sharing", + "learn_more_about_managed_users": "Learn more about Managed Users.", + "learn_more_about_other_causes_of_compile_timeouts": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "learn_more_lowercase": "learn more", + "leave": "Leave", + "leave_any_group_subscriptions": "Leave any group subscriptions other than the one that will be managing your account. <0>Leave them from the Subscription page.", + "leave_group": "Leave group", + "leave_labs": "Leave Overleaf Labs", + "leave_now": "Leave now", + "leave_project": "Leave Project", + "leave_projects": "Leave Projects", + "left": "Left", + "length_unit": "Length unit", + "let_us_know": "Let us know", + "let_us_know_how_we_can_help": "Let us know how we can help", + "let_us_know_what_you_think": "Let us know what you think", + "lets_fix_your_errors": "Let’s fix your errors", + "library": "Library", + "license": "License", + "license_for_educational_purposes": "This license is for educational purposes (applies to students or faculty using __appName__ for teaching)", + "limited_offer": "Limited offer", + "limited_to_n_editors": "Limited to __count__ editor", + "limited_to_n_editors_per_project": "Limited to __count__ editor per project", + "limited_to_n_editors_per_project_plural": "Limited to __count__ editors per project", + "limited_to_n_editors_plural": "Limited to __count__ editors", + "line_height": "Line Height", + "line_width_is_the_width_of_the_line_in_the_current_environment": "Line width is the width of the line in the current environment. e.g. a full page width in single-column layout or half a page width in a two-column layout.", + "link": "Link", + "link_account": "Link Account", + "link_accounts": "Link Accounts", + "link_accounts_and_add_email": "Link Accounts and Add Email", + "link_institutional_email_get_started": "Link an institutional email address to your account to get started.", + "link_sharing": "Link sharing", + "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", + "link_sharing_is_off_short": "Link sharing is off", + "link_sharing_is_on": "Link sharing is on", + "link_to_github": "Link to your GitHub account", + "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", + "link_to_mendeley": "Link to Mendeley", + "link_to_zotero": "Link to Zotero", + "link_your_accounts": "Link your accounts", + "linked_accounts": "linked accounts", + "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below.", + "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", + "linked_file": "Imported file", + "links": "Links", + "loading": "Loading", + "loading_content": "Creating Project", + "loading_github_repositories": "Loading your GitHub repositories", + "loading_prices": "loading prices", + "loading_recent_github_commits": "Loading recent commits", + "loading_writefull": "Loading Writefull", + "log_entry_description": "Log entry with level: __level__", + "log_entry_maximum_entries": "Maximum log entries limit hit", + "log_entry_maximum_entries_enable_stop_on_first_error": "Try to fix the first error and recompile. Often one error causes many later error messages. You can <0>Enable “Stop on first error” to focus on fixing errors. We recommend fixing errors as soon as possible; letting them accumulate may lead to hard-to-debug and fatal errors. <1>Learn more", + "log_entry_maximum_entries_see_full_logs": "If you need to see the full logs, you can still download them or view the raw logs below.", + "log_entry_maximum_entries_title": "__total__ log messages total. Showing the first __displayed__", + "log_hint_extra_info": "Learn more", + "log_in": "Log in", + "log_in_and_link": "Log in and link", + "log_in_and_link_accounts": "Log in and link accounts", + "log_in_first_to_proceed": "You will need to log in first to proceed.", + "log_in_now": "Log in now", + "log_in_with": "Log in with __provider__", + "log_in_with_a_different_account": "Log in with a different account", + "log_in_with_email": "Log in with __email__", + "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", + "log_in_with_primary_email_address": "This will be the email address to use if you log in with an email address and password. Important __appName__ notifications will be sent to this email address.", + "log_in_with_sso": "Log in with SSO", + "log_in_with_sso_email": "Work or university email address", + "log_out": "Log Out", + "log_out_from": "Log out from __email__", + "log_out_lowercase_dot": "Log out.", + "log_viewer_error": "There was a problem displaying this project’s compilation errors and logs.", + "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", + "logging_in": "Logging in", + "logging_in_or_managing_your_account": "Logging in or managing your account", + "login": "Login", + "login_count": "Login count", + "login_error": "Login error", + "login_failed": "Login failed", + "login_here": "Login here", + "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", + "login_to_overleaf": "Log in to Overleaf", + "login_oidc": "__provider__-Login", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", + "longer_compile_timeout_on_faster_servers": "Longer compile timeout on faster servers", + "looking_multiple_licenses": "Looking for multiple licenses?", + "looks_like_logged_in_with_email": "It looks like you’re already logged in to __appName__ with the email __email__.", + "looks_like_youre_at": "It looks like you’re at <0>__institutionName__.", + "lost_connection": "Lost Connection", + "main_bibliography_file_for_this_project": "Main bibliography file for this project", + "main_document": "Main document", + "main_file_not_found": "Unknown main document", + "main_navigation": "Main navigation", + "maintenance": "Maintenance", + "make_a_copy": "Make a copy", + "make_email_primary_description": "Make this the primary email, used to log in", + "make_owner": "Make owner", + "make_primary": "Make Primary", + "make_private": "Make Private", + "manage_beta_program_membership": "Manage Beta Program Membership", + "manage_files_from_your_dropbox_folder": "Manage files from your Dropbox folder", + "manage_group_managers": "Manage group managers", + "manage_group_members_subtext": "Add or remove members from your group subscription", + "manage_group_settings": "Manage group settings", + "manage_group_settings_subtext": "Configure and manage SSO and Managed Users", + "manage_group_settings_subtext_group_sso": "Configure and manage SSO", + "manage_group_settings_subtext_managed_users": "Turn on Managed Users", + "manage_institution_managers": "Manage institution managers", + "manage_managers_subtext": "Assign or remove manager privileges", + "manage_members": "Manage members", + "manage_newsletter": "Manage Your Newsletter Preferences", + "manage_publisher_managers": "Manage publisher managers", + "manage_sessions": "Manage Your Sessions", + "manage_subscription": "Manage Subscription", + "managed": "Managed", + "managed_user_accounts": "Managed user accounts", + "managed_user_invite_has_been_sent_to_email": "Managed User invite has been sent to <0>__email__", + "managed_users": "Managed Users", + "managed_users_accounts": "Managed user accounts", + "managed_users_accounts_plan_info": "Managed Users gives you more control over your group’s use of Overleaf. It ensures tighter management of user access and deletion and allows you to keep control of projects when someone leaves the group.", + "managed_users_explanation": "Managed Users ensures you stay in control of your organization’s projects and who owns them. <0>Read more about Managed Users.", + "managed_users_gives_gives_you_more_control_over_your_group": "Managed Users gives you more control over your group’s use of __appName__. It ensures tighter management of user access and deletion and allows you to keep control of your projects when someone leaves the group.", + "managed_users_is_enabled": "Managed Users is enabled", + "managed_users_terms": "To use the Managed Users feature, you must agree to the latest version of our customer terms at <0>__link__ on behalf of your organization by selecting \"I agree\" below. These terms will then apply to your organization’s use of Overleaf in place of any previously agreed Overleaf terms. The exception to this is where we have a signed agreement in place with you, in which case that signed agreement will continue to govern. Please keep a copy for your records.", + "managers_cannot_remove_admin": "Admins cannot be removed", + "managers_cannot_remove_self": "Managers cannot remove themselves", + "managers_management": "Managers management", + "managing_your_subscription": "Managing your subscription", + "march": "March", + "mark_as_resolved": "Mark as resolved", + "marked_as_resolved": "Marked as resolved", + "math_display": "Math Display", + "math_inline": "Math Inline", + "max_collab_per_project": "Max. collaborators per project", + "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an Overleaf account. They can be different people in each project.", + "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", + "may": "May", + "maybe_later": "Maybe later", + "member_picker": "Select number of users for group plan", + "members_management": "Members management", + "mendeley": "Mendeley", + "mendeley_cta": "Get Mendeley integration", + "mendeley_groups_loading_error": "There was an error loading groups from Mendeley", + "mendeley_groups_relink": "There was an error accessing your Mendeley data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "mendeley_integration": "Mendeley Integration", + "mendeley_integration_lowercase": "Mendeley integration", + "mendeley_integration_lowercase_info": "Manage your reference library in Mendeley, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", + "mendeley_is_premium": "Mendeley integration is a premium feature", + "mendeley_reference_loading_error": "Error, could not load references from Mendeley", + "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", + "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", + "mendeley_sync_description": "With the Mendeley integration you can import your references from Mendeley into your __appName__ projects.", + "menu": "Menu", + "merge": "Merge", + "merge_cells": "Merge cells", + "merging": "Merging", + "message_received": "Message received", + "missing_field_for_entry": "Missing field for", + "missing_fields_for_entry": "Missing fields for", + "money_back_guarantee": "30-day money back guarantee, no questions asked", + "month": "month", + "monthly": "Monthly", + "more": "More", + "more_actions": "More actions", + "more_comments": "More comments", + "more_info": "More Info", + "more_lowercase": "more", + "more_options": "More options", + "more_options_for_border_settings_coming_soon": "More options for border settings coming soon.", + "more_project_collaborators": "<0>More project <0>collaborators", + "more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "most_popular": "most popular", + "most_popular_uppercase": "Most popular", + "must_be_email_address": "Must be an email address", + "must_be_purchased_online": "Must be purchased online", + "my_library": "My Library", + "n_items": "__count__ item", + "n_items_plural": "__count__ items", + "n_matches": "__n__ matches", + "n_more_updates_above": "__count__ more update above", + "n_more_updates_above_plural": "__count__ more updates above", + "n_more_updates_below": "__count__ more update below", + "n_more_updates_below_plural": "__count__ more updates below", + "n_users": "__userCount__ users", + "name": "Name", + "name_usage_explanation": "Your name will be displayed to your collaborators (so they know who they’re working with).", + "native": "Native", + "navigate_log_source": "Navigate to log position in source code: __location__", + "navigation": "Navigation", + "nearly_activated": "You’re one step away from activating your __appName__ account!", + "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", + "need_contact_group_admin_to_make_changes": "You’ll need to contact your group admin if you want to make certain changes to your account. <0>Read more about managed users.", + "need_make_changes": "You need to make some changes", + "need_more_than_50_users": "Need more than 50 users?", + "need_more_than_to_licenses_get_in_touch": "Need more than 50 licenses? Please get in touch", + "need_more_than_x_licenses": "Need more than __x__ licenses?", + "need_to_add_new_primary_before_remove": "You’ll need to add a new primary email address before you can remove this one.", + "need_to_leave": "Need to leave?", + "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", + "new_compile_domain_notice": "We’ve recently migrated PDF downloads to a new domain. Something might be blocking your browser from accessing that new domain, <0>__compilesUserContentDomain__. This could be caused by network blocking or a strict browser plugin rule. Please follow our <1>troubleshooting guide.", + "new_file": "New file", + "new_folder": "New folder", + "new_name": "New Name", + "new_password": "New Password", + "new_project": "New Project", + "new_snippet_project": "Untitled", + "new_subscription_will_be_billed_immediately": "Your new subscription will be billed immediately to your current payment method.", + "new_tag": "New Tag", + "new_tag_name": "New tag name", + "newsletter": "Newsletter", + "newsletter_info_note": "Please note: you will still receive important emails, such as project invites and security notifications (password resets, account linking, etc).", + "newsletter_info_subscribed": "You are currently <0>subscribed to the __appName__ newsletter. If you would prefer not to receive this email then you can unsubscribe at any time.", + "newsletter_info_summary": "Every few months we send a newsletter out summarizing the new features available.", + "newsletter_info_title": "Newsletter Preferences", + "newsletter_info_unsubscribed": "You are currently <0>unsubscribed to the __appName__ newsletter.", + "newsletter_onboarding_accept": "I’d like emails about product offers and company news and events.", + "next": "Next", + "next_page": "Next page", + "next_payment_of_x_collectected_on_y": "The next payment of <0>__paymentAmmount__ will be collected on <1>__collectionDate__.", + "nl": "Dutch", + "no": "Norwegian", + "no_actions": "No actions", + "no_articles_matching_your_tags": "There are no articles matching your tags", + "no_borders": "No borders", + "no_caption": "No caption", + "no_comments": "No comments", + "no_comments_or_suggestions": "No comments or suggestions", + "no_existing_password": "Please use the password reset form to set your password", + "no_featured_templates": "No featured templates", + "no_folder": "No folder", + "no_groups_selected": "No groups selected", + "no_i_dont_need_these": "No, I don’t need these", + "no_image_files_found": "No image files found", + "no_members": "No members", + "no_messages": "No messages", + "no_new_commits_in_github": "No new commits in GitHub since last merge.", + "no_one_has_commented_or_left_any_suggestions_yet": "No one has commented or left any suggestions yet.", + "no_other_projects_found": "No other projects found, please create another project first", + "no_other_sessions": "No other sessions active", + "no_pdf_error_explanation": "This compile didn’t produce a PDF. This can happen if:", + "no_pdf_error_reason_no_content": "The document environment contains no content. If it’s empty, please add some content and compile again.", + "no_pdf_error_reason_output_pdf_already_exists": "This project contains a file called output.pdf. If that file exists, please rename it and compile again.", + "no_pdf_error_reason_unrecoverable_error": "There is an unrecoverable LaTeX error. If there are LaTeX errors shown below or in the raw logs, please try to fix them and compile again.", + "no_pdf_error_title": "No PDF", + "no_planned_maintenance": "There is currently no planned maintenance", + "no_preview_available": "Sorry, no preview is available.", + "no_projects": "No projects", + "no_resolved_comments": "No resolved comments", + "no_resolved_threads": "No resolved threads", + "no_search_results": "No Search Results", + "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", + "no_symbols_found": "No symbols found", + "no_thanks_cancel_now": "No thanks, I still want to cancel", + "no_update_email": "No, update email", + "normal": "Normal", + "normally_x_price_per_month": "Normally __price__ per month", + "normally_x_price_per_year": "Normally __price__ per year", + "not_found_error_from_the_supplied_url": "The link to open this content on Overleaf pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "not_managed": "Not managed", + "not_now": "Not now", + "not_registered": "Not registered", + "note_features_under_development": "<0>Please note that features in this program are still being tested and actively developed. This means that they might <0>change, be <0>removed or <0>become part of a premium plan", + "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to all of Overleaf’s Professional features.", + "notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription. To avoid paying more than you need to, <1>review your subscriptions.", + "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to Overleaf’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.", + "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", + "notification_project_invite_accepted_message": "You’ve joined __projectName__", + "notification_project_invite_message": "__userName__ would like you to join __projectName__", + "november": "November", + "number_collab": "Number of collaborators", + "number_collab_info": "The number of people you can invite to work on a project with you. The limit is per project, so you can invite different people to each project.", + "number_of_projects": "Number of projects", + "number_of_users": "Number of users", + "number_of_users_info": "The number of users that can upgrade their Overleaf account if you purchase this plan.", + "number_of_users_with_colon": "Number of users:", + "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", + "october": "October", + "off": "Off", + "official": "Official", + "ok": "OK", + "ok_continue_to_project": "OK, continue to project", + "ok_join_project": "OK, join project", + "on": "On", + "on_free_plan_upgrade_to_access_features": "You are on the __appName__ Free plan. Upgrade to access these <0>Premium Features", + "one_collaborator": "Only one collaborator", + "one_collaborator_per_project": "1 collaborator per project", + "one_free_collab": "One free collaborator", + "one_per_project": "1 per project", + "one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Professional features!", + "one_user": "1 user", + "ongoing_experiments": "Ongoing experiments", + "online_latex_editor": "Online LaTeX Editor", + "only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:", + "only_group_admin_or_managers_can_delete_your_account_2": "Only your group admin or group managers will be able to delete your account.", + "only_group_admin_or_managers_can_delete_your_account_3": "Your group admin and group managers will be able to reassign ownership of your projects to another group member.", + "only_group_admin_or_managers_can_delete_your_account_4": "Once you have become a managed user, you cannot change back. <0>Learn more about managed Overleaf accounts.", + "only_group_admin_or_managers_can_delete_your_account_5": "For more information, see the \"Managed Accounts\" section in our terms of use, which you agree to by clicking Accept invitation", + "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", + "open_a_file_on_the_left": "Open a file on the left", + "open_action_menu": "Open __name__ action menu", + "open_advanced_reference_search": "Open advanced reference search", + "open_as_template": "Open as Template", + "open_file": "Edit file", + "open_link": "Go to page", + "open_path": "Open __path__", + "open_project": "Open Project", + "open_survey": "Open survey", + "open_target": "Go to target", + "opted_out_linking": "You’ve opted out from linking your __email__ __appName__ account to your institutional account.", + "optional": "Optional", + "or": "or", + "organization": "Organization", + "organization_name": "Organization name", + "organization_or_company_name": "Organization or company name", + "organization_or_company_type": "Organization or company type", + "organize_projects": "Organize Projects", + "original_price": "Original price", + "other": "Other", + "other_actions": "Other Actions", + "other_logs_and_files": "Other logs and files", + "other_output_files": "Download other output files", + "other_sessions": "Other Sessions", + "other_ways_to_log_in": "Other ways to log in", + "our_values": "Our values", + "out_of_sync": "Out of sync", + "out_of_sync_detail": "Sorry, this file has gone out of sync and we need to do a full refresh.<0 /><1>Please see this help guide for more information", + "output_file": "Output file", + "over": "over", + "over_n_users_at_research_institutions_and_business": "Over __userCountMillion__ million users at research institutions and businesses worldwide love __appName__", + "overall_theme": "Overall theme", + "overleaf": "Overleaf", + "overleaf_group_plans": "Overleaf group plans", + "overleaf_history_system": "Overleaf History System", + "overleaf_individual_plans": "Overleaf individual plans", + "overleaf_labs": "Overleaf Labs", + "overleaf_plans_and_pricing": "overleaf plans and pricing", + "overleaf_template_gallery": "overleaf template gallery", + "overview": "Overview", + "overwrite": "Overwrite", + "overwriting_the_original_folder": "Overwriting the original folder will delete it and all the files it contains.", + "owned_by_x": "owned by __x__", + "owner": "Owner", + "page_current": "Page __page__, Current Page", + "page_not_found": "Page Not Found", + "pagination_navigation": "Pagination Navigation", + "papers_presentations_reports_and_more": "Papers, presentations, reports and more, written in LaTeX and published by our community.", + "partial_outline_warning": "The File outline is out of date. It will update itself as you edit the document", + "password": "Password", + "password_cant_be_the_same_as_current_one": "Password can’t be the same as current one", + "password_change_old_password_wrong": "Your old password is wrong", + "password_change_password_must_be_different": "The password you entered is the same as your current password. Please try a different password.", + "password_change_passwords_do_not_match": "Passwords do not match", + "password_change_successful": "Password changed", + "password_compromised_try_again_or_use_known_device_or_reset": "The password you’ve entered is on a <0>public list of compromised passwords. Please try logging in from a device you’ve previously used or <1>reset your password", + "password_managed_externally": "Password settings are managed externally", + "password_reset": "Password Reset", + "password_reset_email_sent": "You have been sent an email to complete your password reset.", + "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", + "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", + "password_updated": "Password updated", + "password_was_detected_on_a_public_list_of_known_compromised_passwords": "This password was detected on a <0>public list of known compromised passwords", + "paste_options": "Paste options", + "paste_with_formatting": "Paste with formatting", + "paste_without_formatting": "Paste without formatting", + "payment_method_accepted": "__paymentMethod__ accepted", + "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", + "payment_summary": "Payment summary", + "pdf_compile_in_progress_error": "A previous compile is still running. Please wait a minute and try compiling again.", + "pdf_compile_rate_limit_hit": "Compile rate limit hit", + "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", + "pdf_in_separate_tab": "PDF in separate tab", + "pdf_only_hide_editor": "PDF only <0>(hide editor)", + "pdf_preview_error": "There was a problem displaying the compilation results for this project.", + "pdf_rendering_error": "PDF Rendering Error", + "pdf_unavailable_for_download": "PDF unavailable for download", + "pdf_viewer": "PDF Viewer", + "pdf_viewer_error": "There was a problem displaying the PDF for this project.", + "pending": "Pending", + "pending_additional_licenses": "Your subscription is changing to include <0>__pendingAdditionalLicenses__ additional license(s) for a total of <1>__pendingTotalLicenses__ licenses.", + "pending_invite": "Pending invite", + "per_month": "per month", + "per_user": "per user", + "per_user_per_year": "per user / per year", + "per_user_year": "per user / year", + "per_year": "per year", + "percent_discount_for_groups": "__appName__ offers a __percent__% educational discount for groups of __size__ or more.", + "percent_is_the_percentage_of_the_line_width": "% is the percentage of the line width", + "personal": "Personal", + "personalized_onboarding": "Personalized onboarding", + "personalized_onboarding_info": "We’ll help you get everything set up and then we’re here to answer questions from your users about the platform, templates or LaTeX!", + "pl": "Polish", + "plan": "Plan", + "plan_tooltip": "You’re on the __plan__ plan. Click to find out how to make the most of your Overleaf premium features.", + "planned_maintenance": "Planned Maintenance", + "plans_amper_pricing": "Plans & Pricing", + "plans_and_pricing": "Plans and Pricing", + "plans_and_pricing_lowercase": "plans and pricing", + "please_ask_the_project_owner_to_upgrade_more_editors": "Please ask the project owner to upgrade their plan to allow more editors.", + "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", + "please_change_primary_to_remove": "Please change your primary email in order to remove", + "please_check_your_inbox": "Please check your inbox", + "please_check_your_inbox_to_confirm": "Please check your email inbox to confirm your <0>__institutionName__ affiliation.", + "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", + "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", + "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", + "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the primary.", + "please_contact_support_to_makes_change_to_your_plan": "Please <0>contact support to make changes to your plan", + "please_contact_us_if_you_think_this_is_in_error": "Please <0>contact us if you think this is in error.", + "please_enter_confirmation_code": "Please enter your confirmation code", + "please_enter_email": "Please enter your email address", + "please_get_in_touch": "Please get in touch", + "please_link_before_making_primary": "Please confirm your email by linking to your institutional account before making it the primary email.", + "please_provide_a_message": "Please provide a message", + "please_provide_a_subject": "Please provide a subject", + "please_reconfirm_institutional_email": "Please take a moment to confirm your institutional email address or <0>remove it from your account.", + "please_reconfirm_your_affiliation_before_making_this_primary": "Please confirm your affiliation before making this the primary.", + "please_refresh": "Please refresh the page to continue.", + "please_request_a_new_password_reset_email_and_follow_the_link": "Please request a new password reset email and follow the link", + "please_select": "Please select", + "please_select_a_file": "Please Select a File", + "please_select_a_project": "Please Select a Project", + "please_select_an_output_file": "Please Select an Output File", + "please_set_a_password": "Please set a password", + "please_set_main_file": "Please choose the main file for this project in the project menu. ", + "please_wait": "Please wait", + "plus_additional_collaborators_document_history_track_changes_and_more": "(plus additional collaborators, document history, track changes, and more).", + "plus_more": "plus more", + "popular_tags": "Popular Tags", + "portal_add_affiliation_to_join": "It looks like you are already logged in to __appName__. If you have a __portalTitle__ email you can add it now.", + "position": "Position", + "postal_code": "Postal Code", + "powerful_latex_editor_and_realtime_collaboration": "Powerful LaTeX editor & real-time collaboration", + "powerful_latex_editor_and_realtime_collaboration_info": "Spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and more. Everyone always has the latest version, and you can see your collaborators’ cursors and changes in real time.", + "premium_feature": "Premium feature", + "premium_features": "Premium features", + "premium_plan_label": "You’re using Overleaf Premium", + "presentation": "Presentation", + "presentation_mode": "Presentation mode", + "press_and_awards": "Press & awards", + "previous_page": "Previous page", + "price": "Price", + "primarily_work_study_question": "Where do you primarily work or study?", + "primarily_work_study_question_company": "Company", + "primarily_work_study_question_government": "Government", + "primarily_work_study_question_nonprofit_ngo": "Nonprofit or NGO", + "primarily_work_study_question_other": "Other", + "primarily_work_study_question_university_school": "University or school", + "primary_certificate": "Primary certificate", + "primary_email_check_question": "Is <0>__email__ still your email address?", + "priority_support": "Priority support", + "priority_support_info": "Our helpful Support team will prioritise and escalate your support requests where necessary.", + "privacy": "Privacy", + "privacy_and_terms": "Privacy and Terms", + "privacy_policy": "Privacy Policy", + "private": "Private", + "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", + "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", + "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", + "proceed_to_paypal": "Proceed to PayPal", + "proceeding_to_paypal_takes_you_to_the_paypal_site_to_pay": "Proceeding to PayPal will take you to the PayPal site to pay for your subscription.", + "processing": "processing", + "processing_uppercase": "Processing", + "processing_your_request": "Please wait while we process your request.", + "professional": "Professional", + "progress_bar_percentage": "Progress bar from 0 to 100%", + "project": "project", + "project_approaching_file_limit": "This project is approaching the file limit", + "project_figure_modal": "Project", + "project_files": "Project files", + "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", + "project_has_too_many_files": "This project has reached the 2000 file limit", + "project_last_published_at": "Your project was last published at", + "project_layout_sharing_submission": "Project Layout, Sharing, and Submission", + "project_name": "Project Name", + "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", + "project_owner_plus_10": "Project author + 10", + "project_ownership_transfer_confirmation_1": "Are you sure you want to make <0>__user__ the owner of <1>__project__?", + "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", + "project_renamed_or_deleted": "Project Renamed or Deleted", + "project_renamed_or_deleted_detail": "This project has either been renamed or deleted by an external data source such as Dropbox. We don’t want to delete your data on Overleaf, so this project still contains your history and collaborators. If the project has been renamed please look in your project list for a new project under the new name.", + "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", + "project_synchronisation": "Project Synchronisation", + "project_timed_out_enable_stop_on_first_error": "<0>Enable “Stop on first error” to help you find and fix errors right away.", + "project_timed_out_fatal_error": "A <0>fatal compile error may be completely blocking compilation.", + "project_timed_out_intro": "Sorry, your compile took too long to run and timed out. The most common causes of timeouts are:", + "project_timed_out_learn_more": "<0>Learn more about other causes of compile timeouts and how to fix them.", + "project_timed_out_optimize_images": "Large or high-resolution images are taking too long to process. You may be able to <0>optimize them.", + "project_too_large": "Project too large", + "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", + "project_too_much_editable_text": "This project has too much editable text, please try to reduce it.", + "project_url": "Affected project URL", + "projects": "Projects", + "projects_count": "Projects count", + "projects_list": "Projects list", + "provide_details_of_your_sso_configuration": "Add, edit, or delete your Identity Provider’s SAML metadata.", + "pt": "Portuguese", + "public": "Public", + "publish": "Publish", + "publish_as_template": "Manage Template", + "publisher_account": "Publisher Account", + "publishing": "Publishing", + "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", + "purchase_now": "Purchase Now", + "purchase_now_lowercase": "Purchase now", + "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", + "quoted_text": "Quoted text", + "quoted_text_in": "Quoted text in", + "raw_logs": "Raw logs", + "raw_logs_description": "Raw logs from the LaTeX compiler", + "react_history_tutorial_content": "To compare a range of versions, use the <0> on the versions you want at the start and end of the range. To add a label or to download a version use the options in the three-dot menu. <1>Learn more about using Overleaf History.", + "react_history_tutorial_title": "History actions have a new home", + "reactivate_subscription": "Reactivate your subscription", + "read_lines_from_path": "Read lines from __path__", + "read_more": "Read more", + "read_more_about_free_compile_timeouts_servers": "Read more about changes to free compile timeouts and servers", + "read_only": "Read only", + "read_only_token": "Read-Only Token", + "read_write_token": "Read-Write Token", + "ready_to_join_x": "You’re ready to join __inviterName__", + "ready_to_join_x_in_group_y": "You’re ready to join __inviterName__ in __groupName__", + "ready_to_set_up": "Ready to set up", + "ready_to_use_templates": "Ready-to-use templates", + "real_time_track_changes": "Real-time track-changes", + "realtime_track_changes": "Real-time track changes", + "realtime_track_changes_info_v2": "Switch on track changes to see who made every change, accept or reject others’ changes, and write comments.", + "reasons_for_compile_timeouts": "Reasons for compile timeouts", + "reauthorize_github_account": "Reauthorize your GitHub Account", + "recaptcha_conditions": "The site is protected by reCAPTCHA and the Google <1>Privacy Policy and <2>Terms of Service apply.", + "recent": "Recent", + "recent_commits_in_github": "Recent commits in GitHub", + "recompile": "Recompile", + "recompile_from_scratch": "Recompile from scratch", + "recompile_pdf": "Recompile the PDF", + "reconfirm": "reconfirm", + "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", + "reconnect": "Try again", + "reconnecting": "Reconnecting", + "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", + "recurly_email_update_needed": "Your billing email address is currently <0>__recurlyEmail__. If needed you can update your billing address to <1>__userEmail__.", + "recurly_email_updated": "Your billing email address was successfully updated", + "redirect_to_editor": "Redirect to editor", + "redirect_url": "Redirect URL", + "redirecting": "Redirecting", + "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", + "reference_error_relink_hint": "If this error persists, try re-linking your account here:", + "reference_manager_searched_groups": "__provider__ search groups", + "reference_managers": "Reference managers", + "reference_search": "Advanced reference search", + "reference_search_info_new": "Find your references easily—search by author, title, year, or journal.", + "reference_search_info_v2": "It’s easy to find your references - you can search by author, title, year or journal. You can still search by citation key too.", + "reference_search_setting": "Reference search", + "reference_search_settings": "Reference search settings", + "reference_search_style": "Reference search style", + "reference_sync": "Reference manager sync", + "references_from_these_libraries_will_be_included_in_your_reference_search_results": "References from these libraries will be included in your reference search results.", + "refresh": "Refresh", + "refresh_page_after_linking_dropbox": "Please refresh this page after linking your account to Dropbox.", + "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", + "refreshing": "Refreshing", + "regards": "Regards", + "register": "Register", + "register_error": "Registration error", + "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", + "register_to_accept_invitation": "Register to accept invitation", + "register_to_edit_template": "Please register to edit the __templateName__ template", + "register_with_another_email": "Register with __appName__ using another email.", + "registered": "Registered", + "registering": "Registering", + "registration_error": "Registration error", + "reject": "Reject", + "reject_all": "Reject all", + "reject_change": "Reject change", + "related_tags": "Related Tags", + "relink_your_account": "Re-link your account", + "reload_editor": "Reload editor", + "remind_before_trial_ends": "We’ll remind you before your trial ends", + "remote_service_error": "The remote service produced an error", + "remove": "Remove", + "remove_access": "Remove access", + "remove_collaborator": "Remove collaborator", + "remove_from_group": "Remove from group", + "remove_link": "Remove link", + "remove_manager": "Remove manager", + "remove_or_replace_figure": "Remove or replace figure", + "remove_secondary_email_addresses": "Remove any secondary email addresses associated with your account. <0>Remove them in account settings.", + "remove_sso_login_option": "Remove the SSO login option for your users.", + "remove_tag": "Remove tag __tagName__", + "removed": "removed", + "removed_from_project": "Removed from project", + "removing": "Removing", + "rename": "Rename", + "rename_project": "Rename Project", + "renaming": "Renaming", + "reopen": "Re-open", + "reopen_comment_error_message": "There was an error reopening your comment. Please try again in a few moments.", + "reopen_comment_error_title": "Reopen Comment Error", + "replace_figure": "Replace figure", + "replace_from_another_project": "Replace from another project", + "replace_from_computer": "Replace from computer", + "replace_from_project_files": "Replace from project files", + "replace_from_url": "Replace from URL", + "reply": "Reply", + "repository_name": "Repository Name", + "republish": "Republish", + "request_new_password_reset_email": "Request a new password reset email", + "request_overleaf_common": "Request Overleaf Commons", + "request_password_reset": "Request password reset", + "request_password_reset_to_reconfirm": "Request password reset email to reconfirm", + "request_reconfirmation_email": "Request reconfirmation email", + "request_sent_thank_you": "Message sent! Our team will review it and reply by email.", + "requesting_password_reset": "Requesting password reset", + "required": "Required", + "resend": "Resend", + "resend_confirmation_code": "Resend confirmation code", + "resend_confirmation_email": "Resend confirmation email", + "resend_email": "Resend email", + "resend_group_invite": "Resend group invite", + "resend_link_sso": "Resend SSO invite", + "resend_managed_user_invite": "Resend managed user invite", + "resending_confirmation_code": "Resending confirmation code", + "resending_confirmation_email": "Resending confirmation email", + "reset_password": "Reset Password", + "reset_password_link": "Click this link to reset your password", + "reset_your_password": "Reset your password", + "resize": "Resize", + "resolve": "Resolve", + "resolve_comment": "Resolve comment", + "resolved_comments": "Resolved comments", + "restore": "Restore", + "restore_file": "Restore file", + "restore_file_confirmation_message": "Your current file will restore to the version from __date__ at __time__.", + "restore_file_confirmation_title": "Restore this version?", + "restore_file_error_message": "There was a problem restoring the file version. Please try again in a few moments. If the problem continues please contact us.", + "restore_file_error_title": "Restore File Error", + "restore_file_version": "Restore this version", + "restore_project_to_this_version": "Restore project to this version", + "restore_this_version": "Restore this version", + "restoring": "Restoring", + "restricted": "Restricted", + "restricted_no_permission": "Restricted, sorry you don’t have permission to load this page.", + "resync_completed": "Resync completed!", + "resync_message": "Resyncing project history can take several minutes depending on the size of the project.", + "resync_project_history": "Resync Project History", + "retry_test": "Retry test", + "return_to_login_page": "Return to Login page", + "reverse_x_sort_order": "Reverse __x__ sort order", + "revert_pending_plan_change": "Revert scheduled plan change", + "review": "Review", + "review_your_peers_work": "Review your peers’ work", + "revoke": "Revoke", + "revoke_invite": "Revoke Invite", + "right": "Right", + "ro": "Romanian", + "role": "Role", + "ru": "Russian", + "saml": "SAML", + "saml_auth_error": "Sorry, your identity provider responded with an error. Please contact your administrator for more information.", + "saml_authentication_required_error": "Other login methods have been disabled by your group administrator. Please use your group SSO login.", + "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", + "saml_email_not_recognized_error": "This email address isn’t set up for SSO. Please check it and try again or contact your administrator.", + "saml_identity_exists_error": "Sorry, the identity returned by your identity provider is already linked with a different Overleaf account. Please contact your administrator for more information.", + "saml_invalid_signature_error": "Sorry, the information received from your identity provider has an invalid signature. Please contact your administrator for more information.", + "saml_login_disabled_error": "Sorry, single sign-on login has been disabled for __email__. Please contact your administrator for more information.", + "saml_login_failure": "Sorry, there was a problem logging you in. Please contact your administrator for more information.", + "saml_login_identity_mismatch_error": "Sorry, you are trying to log in to Overleaf as __email__ but the identity returned by your identity provider is not the correct one for this Overleaf account.", + "saml_login_identity_not_found_error": "Sorry, we were not able to find an Overleaf account set up for single sign-on with this identity provider.", + "saml_metadata": "Overleaf SAML Metadata", + "saml_missing_signature_error": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required). Please contact your administrator for more information.", + "saml_response": "SAML Response", + "save": "Save", + "save_20_percent": "save 20%", + "save_20_percent_by_paying_annually": "Save 20% by paying annually", + "save_30_percent_or_more": "save 30% or more", + "save_30_percent_or_more_uppercase": "Save 30% or more", + "save_n_percent": "Save __percentage__%", + "save_or_cancel-cancel": "Cancel", + "save_or_cancel-or": "or", + "save_or_cancel-save": "Save", + "save_x_percent_or_more": "Save __percent__% or more", + "saving": "Saving", + "saving_20_percent": "Saving 20%!", + "saving_20_percent_no_exclamation": "Saving 20%", + "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", + "search": "Search", + "search_all_project_files": "Search all project files", + "search_bib_files": "Search by author, title, year", + "search_by_citekey_author_year_title": "Search by citation key, author, title, year", + "search_command_find": "Find", + "search_command_replace": "Replace", + "search_in_all_projects": "Search in all projects", + "search_in_archived_projects": "Search in archived projects", + "search_in_shared_projects": "Search in projects shared with you", + "search_in_trashed_projects": "Search in trashed projects", + "search_in_your_projects": "Search in your projects", + "search_match_case": "Match case", + "search_next": "next", + "search_only_the_bib_files_in_your_project_only_by_citekeys": "Search only the .bib files in your project, only by citekeys.", + "search_previous": "previous", + "search_projects": "Search projects", + "search_references": "Search the .bib files in this project", + "search_regexp": "Regular expression", + "search_replace": "Replace", + "search_replace_all": "Replace All", + "search_replace_with": "Replace with", + "search_search_for": "Search for", + "search_terms": "Search terms", + "search_whole_word": "Whole word", + "search_within_selection": "Within selection", + "searched_path_for_lines_containing": "Searched __path__ for lines containing \"__query__\"", + "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", + "security": "Security", + "see_changes_in_your_documents_live": "See changes in your documents, live", + "select_a_column_or_a_merged_cell_to_align": "Select a column or a merged cell to align", + "select_a_column_to_adjust_column_width": "Select a column to adjust column width", + "select_a_file": "Select a File", + "select_a_file_figure_modal": "Select a file", + "select_a_group_optional": "Select a Group (optional)", + "select_a_language": "Select a language", + "select_a_new_owner_for_projects": "Select a new owner for this user’s projects", + "select_a_payment_method": "Select a payment method", + "select_a_project": "Select a Project", + "select_a_project_figure_modal": "Select a project", + "select_a_row_or_a_column_to_delete": "Select a row or a column to delete", + "select_access_level": "Select access level", + "select_access_levels": "Select access levels", + "select_all": "Select all", + "select_all_projects": "Select all projects", + "select_an_output_file": "Select an Output File", + "select_an_output_file_figure_modal": "Select an output file", + "select_bib_file": "Select .bib file", + "select_cells_in_a_single_row_to_merge": "Select cells in a single row to merge", + "select_color": "Select color __name__", + "select_folder_from_project": "Select folder from project", + "select_from_output_files": "select from output files", + "select_from_project_files": "select from project files", + "select_from_source_files": "select from source files", + "select_from_your_computer": "select from your computer", + "select_github_repository": "Select a GitHub repository to import into __appName__.", + "select_image_from_project_files": "Select image from project files", + "select_monthly_plans": "Select for monthly plans", + "select_project": "Select __project__", + "select_projects": "Select Projects", + "select_tag": "Select tag __tagName__", + "select_user": "Select user", + "selected": "Selected", + "selected_by_overleaf_staff": "Selected by Overleaf staff", + "selected_by_overleaf_staff_description": "These templates were hand-picked by Overleaf staff for their high quality and positive feedback received from the Overleaf community over the years.", + "selection_deleted": "Selection deleted", + "send": "Send", + "send_first_message": "Send your first message to your collaborators", + "send_message": "Send message", + "send_test_email": "Send a test email", + "sending": "Sending", + "sent": "Sent", + "september": "September", + "server_error": "Server Error", + "server_pro_license_entitlement_line_1": "<0>__appName__ Server Pro license", + "server_pro_license_entitlement_line_2": "You currently have <0>__count__ active users. If you need to increase your license entitlement, please <1>contact Overleaf.", + "server_pro_license_entitlement_line_3": "An active user is one who has opened a project in this Server Pro instance in the last 12 months.", + "services": "Services", + "session_created_at": "Session Created At", + "session_error": "Session error. Please check you have cookies enabled. If the problem persists, try clearing your cache and cookies.", + "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", + "sessions": "Sessions", + "set_color": "set color", + "set_column_width": "Set column width", + "set_new_password": "Set new password", + "set_password": "Set Password", + "set_up_single_sign_on": "Set up single sign-on (SSO)", + "set_up_sso": "Set up SSO", + "settings": "Settings", + "setup_another_account_under_a_personal_email_address": "Set up another Overleaf account under a personal email address.", + "share": "Share", + "share_project": "Share Project", + "share_with_your_collabs": "Share with your collaborators", + "shared_with_you": "Shared with you", + "sharelatex_beta_program": "__appName__ Beta Program", + "shortcut_to_open_advanced_reference_search": "(__ctrlSpace__ or __altSpace__)", + "show_all": "show all", + "show_all_projects": "Show all projects", + "show_document_preamble": "Show document preamble", + "show_hotkeys": "Show Hotkeys", + "show_in_code": "Show in code", + "show_in_pdf": "Show in PDF", + "show_less": "show less", + "show_local_file_contents": "Show Local File Contents", + "show_more": "show more", + "show_outline": "Show File outline", + "show_x_more_projects": "Show __x__ more projects", + "show_your_support": "Show your support", + "showing_1_result": "Showing 1 result", + "showing_1_result_of_total": "Showing 1 result of __total__", + "showing_x_out_of_n_projects": "Showing __x__ out of __n__ projects.", + "showing_x_results": "Showing __x__ results", + "showing_x_results_of_total": "Showing __x__ results of __total__", + "sign_up": "Sign up", + "sign_up_for_free": "Sign up for free", + "sign_up_for_free_account": "Sign up for a free account and receive regular updates", + "simple_search_mode": "Simple search", + "single_sign_on_sso": "Single Sign-On (SSO)", + "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", + "site_wide_option_available": "Site-wide option available", + "sitewide_option_available": "Site-wide option available", + "sitewide_option_available_info": "Users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "six_collaborators_per_project": "6 collaborators per project", + "six_per_project": "6 per project", + "skip": "Skip", + "skip_to_content": "Skip to content", + "something_not_right": "Something’s not right", + "something_went_wrong": "Something went wrong", + "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", + "something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems or an <0>outdated web browser. Please follow the <1>troubleshooting steps for access, loading and display problems. If the issue persists, please <2>let us know.", + "something_went_wrong_processing_the_request": "Something went wrong processing the request", + "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", + "something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile", + "something_went_wrong_server": "Something went wrong. Please try again.", + "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", + "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.", + "sorry_it_looks_like_that_didnt_work_this_time": "Sorry! It looks like that didn’t work this time. Please try again.", + "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on Overleaf. Please try again.", + "sorry_the_connection_to_the_server_is_down": "Sorry, the connection to the server is down.", + "sorry_there_are_no_experiments": "Sorry, there are no experiments currently running in Overleaf Labs.", + "sorry_this_account_has_been_suspended": "Sorry, this account has been suspended.", + "sorry_your_table_cant_be_displayed_at_the_moment": "Sorry, your table can’t be displayed at the moment.", + "sorry_your_token_expired": "Sorry, your token expired", + "sort_by": "Sort by", + "sort_by_x": "Sort by __x__", + "sort_projects": "Sort projects", + "source": "Source", + "spell_check": "Spell check", + "sso": "SSO", + "sso_account_already_linked": "Account already linked to another __appName__ user", + "sso_active": "SSO active", + "sso_already_setup_good_to_go": "Single sign-on is already set up on your account, so you’re good to go.", + "sso_config_deleted": "SSO configuration deleted", + "sso_config_prop_help_certificate": "Base64 encoded certificate without whitespace", + "sso_config_prop_help_first_name": "The SAML attribute that specifies the user’s first name", + "sso_config_prop_help_last_name": "The SAML attribute that specifies the user’s last name", + "sso_config_prop_help_redirect_url": "The single sign-on redirect URL provided by your IdP (sometimes called the single sign-on service HTTP-redirect location)", + "sso_config_prop_help_user_id": "The SAML attribute provided by your IdP that identifies each user", + "sso_configuration": "SSO configuration", + "sso_configuration_not_finalized": "Your configuration has not been finalized.", + "sso_configuration_saved": "SSO configuration has been saved", + "sso_disabled_by_group_admin": "SSO has been disabled by your group administrator. You can still log in and use Overleaf as you normally would.", + "sso_error_audience_mismatch": "The Service Provider entity ID configured in your IdP does not match the one provided in our metadata. Please contact your IT department for more information.", + "sso_error_idp_error": "Your identity provider responded with an error.", + "sso_error_invalid_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user has an invalid format, a string is expected. Attribute: <0>__expecting__", + "sso_error_invalid_signature": "Sorry, the information received from your identity provider has an invalid signature.", + "sso_error_missing_external_user_id": "The SAML attribute provided by your IdP that uniquely identifies your user is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_firstname_attribute": "The SAML attribute that specifies the user’s first name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_lastname_attribute": "The SAML attribute that specifies the user’s last name is either missing or under a different name than the one you configured. Expecting: <0>__expecting__", + "sso_error_missing_signature": "Sorry, the information received from your identity provider is not signed (both response and assertion signatures are required).", + "sso_error_response_already_processed": "The SAML response’s InResponseTo is invalid. This can happen if it either didn’t match that of the SAML request, or the login took too long to process and the request has expired.", + "sso_explanation": "Set up single sign-on for your group. This sign in method will be optional for group members unless Managed Users is enabled. <0>Learn more about Overleaf Group SSO.", + "sso_here_is_the_data_we_received": "Here is the data we received in the SAML response:", + "sso_integration": "SSO integration", + "sso_integration_info": "Overleaf offers a standard SAML-based Single Sign On integration.", + "sso_is_disabled": "SSO is disabled", + "sso_is_disabled_explanation_1": "Group members won’t be able to log in via SSO", + "sso_is_disabled_explanation_2": "All members of the group will need a username and password to log in to __appName__", + "sso_is_enabled": "SSO is enabled", + "sso_is_enabled_explanation_1": "Group members will <0>only be able to sign in via SSO after linking their accounts with your IdP.", + "sso_is_enabled_explanation_1_sso_only": "Group members will have the option to sign in via SSO.", + "sso_is_enabled_explanation_2": "If there are any problems with the configuration, only you (as the group administrator) will be able to disable SSO.", + "sso_link_account_with_idp": "Your group uses SSO. This means we need to authenticate your account with the group identity provider. Click <0>Set up SSO to authenticate now.", + "sso_link_error": "Error linking account", + "sso_link_invite_has_been_sent_to_email": "An SSO invite reminder has been sent to <0>__email__", + "sso_login": "SSO login", + "sso_logs": "SSO Logs", + "sso_not_active": "SSO not active", + "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", + "sso_reauth_request": "SSO reauthentication request has been sent to <0>__email__", + "sso_test_interstitial_info_1": "<0>Before starting this test, please ensure you’ve <1>configured Overleaf as a Service Provider in your IdP, and authorized access to the Overleaf service.", + "sso_test_interstitial_info_2": "Clicking <0>Test configuration will redirect you to your IdP’s login screen. <1>Read our documentation for full details of what happens during the test. And check our <2>SSO troubleshooting advice if you get stuck.", + "sso_test_interstitial_title": "Let’s test your SSO configuration", + "sso_test_result_error_message": "The test hasn’t worked this time, but don’t worry — errors can usually be quickly addressed by adjusting the configuration settings. Our <0>SSO troubleshooting guide provides help with some of the common causes of testing errors.", + "sso_title": "Single sign-on", + "sso_user_denied_access": "Cannot log in because __appName__ was not granted access to your __provider__ account. Please try again.", + "sso_user_explanation_enabled_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_enabled_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password.", + "sso_user_explanation_ready_with_admin_email": "Your group administered by <0>__adminEmail__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "sso_user_explanation_ready_with_group_name": "Your group <0>__groupName__ has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__ to get started.", + "standard": "Standard", + "start_a_free_trial": "Start a free trial", + "start_by_adding_your_email": "Start by adding your email address.", + "start_by_fixing_the_first_error_in_your_doc": "Start by fixing the first error in your doc to avoid problems later on.", + "start_free_trial": "Start Free Trial!", + "start_free_trial_without_exclamation": "Start Free Trial", + "start_typing_find_your_company": " Start typing to find your company", + "start_typing_find_your_organization": "Start typing to find your organization", + "start_typing_find_your_university": "Start typing to find your university", + "state": "State", + "status_checks": "Status Checks", + "still_have_questions": "Still have questions?", + "stop_compile": "Stop compilation", + "stop_on_first_error": "Stop on first error", + "stop_on_first_error_enabled_description": "<0>“Stop on first error” is enabled. Disabling it may allow the compiler to produce a PDF (but your project will still have errors).", + "stop_on_first_error_enabled_title": "No PDF: Stop on first error enabled", + "stop_on_validation_error": "Check syntax before compile", + "store_your_work": "Store your work on your own infrastructure", + "stretch_width_to_text": "Stretch width to text", + "student": "Student", + "student_and_faculty_support_make_difference": "Student and faculty support make a difference! We can share this information with our contacts at your university when discussing an Overleaf institutional account.", + "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you’re eligible for the discount.", + "student_plans": "Student Plans", + "students": "Students", + "subject": "Subject", + "subject_area": "Subject area", + "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", + "submit": "submit", + "submit_title": "Submit", + "subscribe": "Subscribe", + "subscribe_to_find_the_symbols_you_need_faster": "Subscribe to find the symbols you need faster", + "subscription": "Subscription", + "subscription_admin_panel": "admin panel", + "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", + "subscription_canceled": "Subscription Canceled", + "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on <0>__terminateDate__. No further payments will be taken.", + "subscription_will_remain_active_until_end_of_billing_period_x": "Your subscription will remain active until the end of your billing period, <0>__terminationDate__.", + "subscription_will_remain_active_until_end_of_trial_period_x": "Your subscription will remain active until the end of your trial period, <0>__terminationDate__.", + "success_sso_set_up": "Success! Single sign-on is all set up for you.", + "suggest_a_different_fix": "Suggest a different fix", + "suggest_fix": "Suggest fix", + "suggested": "Suggested", + "suggested_fix_for_error_in_path": "Suggested fix for error in __path__", + "suggestion": "Suggestion", + "suggestion_applied": "Suggestion applied", + "support": "Support", + "sure_you_want_to_cancel_plan_change": "Are you sure you want to revert your scheduled plan change? You will remain subscribed to the <0>__planName__ plan.", + "sure_you_want_to_change_plan": "Are you sure you want to change plan to <0>__planName__?", + "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", + "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", + "sv": "Swedish", + "switch_to_editor": "Switch to editor", + "switch_to_pdf": "Switch to PDF", + "symbol_palette": "Symbol palette", + "symbol_palette_highlighted": "<0>Symbol palette", + "symbol_palette_info": "A quick and convenient way to insert math symbols into your document.", + "symbol_palette_info_new": "Insert math symbols into your document with the click of a button.", + "sync": "Sync", + "sync_dropbox_github": "Sync with Dropbox and GitHub", + "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", + "sync_to_dropbox": "Sync to Dropbox", + "sync_to_github": "Sync to GitHub", + "synctex_failed": "Couldn’t find the corresponding source file", + "syntax_validation": "Code check", + "tab_connecting": "Connecting with the editor", + "tab_no_longer_connected": "This tab is no longer connected with the editor", + "tag_color": "Tag color", + "tag_name_cannot_exceed_characters": "Tag name cannot exceed __maxLength__ characters", + "tag_name_is_already_used": "Tag \"__tagName__\" already exists", + "tags": "Tags", + "take_me_home": "Take me home!", + "take_short_survey": "Take a short survey", + "take_survey": "Take survey", + "tc_everyone": "Everyone", + "tc_guests": "Guests", + "tc_switch_everyone_tip": "Toggle track-changes for everyone", + "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", + "tc_switch_user_tip": "Toggle track-changes for this user", + "tell_the_project_owner_and_ask_them_to_upgrade": "<0>Tell the project owner and ask them to upgrade their Overleaf plan if you need more compile time.", + "template": "Template", + "template_approved_by_publisher": "This template has been approved by the publisher", + "template_description": "Template Description", + "template_gallery": "Template Gallery", + "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", + "template_title_taken_from_project_title": "The template title will be taken automatically from the project title", + "template_top_pick_by_overleaf": "This template was hand-picked by Overleaf staff for its high quality", + "templates": "Templates", + "templates_admin_source_project": "Admin: Source Project", + "templates_page_summary": "Start your projects with quality LaTeX templates for journals, CVs, resumes, papers, presentations, assignments, letters, project reports, and more. Search or browse below.", + "templates_page_title": "Templates - Journals, CVs, Presentations, Reports and More", + "ten_collaborators_per_project": "10 collaborators per project", + "ten_per_project": "10 per project", + "terminated": "Compilation cancelled", + "terms": "Terms", + "test": "Test", + "test_configuration": "Test configuration", + "test_configuration_successful": "Test configuration successful", + "tex_live_version": "TeX Live version", + "thank_you": "Thank you!", + "thank_you_email_confirmed": "Thank you, your email is now confirmed", + "thank_you_exclamation": "Thank you!", + "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have <0>early access to new features and help us understand your needs better", + "thank_you_for_your_feedback": "Thank you for your feedback!", + "thanks": "Thanks", + "thanks_for_confirming_your_email_address": "Thanks for confirming your email address", + "thanks_for_getting_in_touch": "Thanks for getting in touch. Our team will get back to you by email as soon as possible.", + "thanks_for_subscribing": "Thanks for subscribing!", + "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It’s support from people like yourself that allows __appName__ to continue to grow and improve.", + "thanks_settings_updated": "Thanks, your settings have been updated.", + "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on Overleaf pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", + "the_following_files_already_exist_in_this_project": "The following files already exist in this project:", + "the_following_files_and_folders_already_exist_in_this_project": "The following files and folders already exist in this project:", + "the_following_folder_already_exists_in_this_project": "The following folder already exists in this project:", + "the_following_folder_already_exists_in_this_project_plural": "The following folders already exist in this project:", + "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", + "the_project_that_contains_this_file_is_not_shared_with_you": "The project that contains this file is not shared with you", + "the_requested_conversion_job_was_not_found": "The link to open this content on Overleaf specified a conversion job that could not be found. It’s possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", + "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", + "the_required_parameters_were_not_supplied": "The link to open this content on Overleaf was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_parameters_were_invalid": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", + "the_supplied_uri_is_invalid": "The link to open this content on Overleaf included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", + "the_target_folder_could_not_be_found": "The target folder could not be found.", + "the_width_you_choose_here_is_based_on_the_width_of_the_text_in_your_document": "The width you choose here is based on the width of the text in your document. Alternatively, you can customize the image size directly in the LaTeX code.", + "their_projects_will_be_transferred_to_another_user": "Their projects will all be transferred to another user of your choice", + "theme": "Theme", + "then_x_price_per_month": "Then __price__ per month", + "then_x_price_per_year": "Then __price__ per year", + "there_are_lots_of_options_to_edit_and_customize_your_figures": "There are lots of options to edit and customize your figures, such as wrapping text around the figure, rotating the image, or including multiple images in a single figure. You’ll need to edit the LaTeX code to do this. <0>Find out how", + "there_was_a_problem_restoring_the_project_please_try_again_in_a_few_moments_or_contact_us": "There was a problem restoring the project. Please try again in a few moments. Contact us of the problem persists.", + "there_was_an_error_opening_your_content": "There was an error creating your project", + "thesis": "Thesis", + "they_lose_access_to_account": "They lose all access to this Overleaf account immediately", + "this_action_cannot_be_reversed": "This action cannot be reversed.", + "this_action_cannot_be_undone": "This action cannot be undone.", + "this_address_will_be_shown_on_the_invoice": "This address will be shown on the invoice", + "this_could_be_because_we_cant_support_some_elements_of_the_table": "This could be because we can’t yet support some elements of the table in the table preview. Or there may be an error in the table’s LaTeX code.", + "this_experiment_isnt_accepting_new_participants": "This experiment isn’t accepting new participants.", + "this_field_is_required": "This field is required", + "this_grants_access_to_features_2": "This grants you access to <0>__appName__ <0>__featureType__ features.", + "this_is_a_labs_experiment": "This is a Labs experiment", + "this_is_the_file_that_references_pulled_from_your_reference_manager_will_be_added_to": "This is the file that references pulled from your reference manager will be added to.", + "this_is_your_template": "This is your template from your project", + "this_project_already_has_maximum_editors": "This project already has the maximum number of editors permitted on the owner’s plan. This means you can view but not edit the project.", + "this_project_exceeded_compile_timeout_limit_on_free_plan": "This project exceeded the compile timeout limit on our free plan.", + "this_project_exceeded_editor_limit": "This project exceeded the editor limit for your plan. All collaborators now have view-only access.", + "this_project_has_more_than_max_collabs": "This project has more than the maximum number of collaborators allowed on the project owner’s Overleaf plan. This means you could lose edit access from __linkSharingDate__.", + "this_project_is_public": "This project is public and can be edited by anyone with the URL.", + "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", + "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", + "this_tool_helps_you_insert_figures": "This tool helps you insert figures into your project without needing to write the LaTeX code. The following information explains more about the options in the tool and how to further customize your figures.", + "this_tool_helps_you_insert_simple_tables_into_your_project_without_writing_latex_code_give_feedback": "This tool helps you insert simple tables into your project without writing LaTeX code. This tool is new, so please <0>give us feedback and look out for additional functionality coming soon.", + "this_was_helpful": "This was helpful", + "this_wasnt_helpful": "This wasn’t helpful", + "thousands_templates": "Thousands of templates", + "thousands_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", + "three_free_collab": "Three free collaborators", + "timedout": "Timed out", + "tip": "Tip", + "title": "Title", + "to_add_email_accounts_need_to_be_linked_2": "To add this email, your <0>__appName__ and <0>__institutionName__ accounts will need to be linked.", + "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", + "to_change_access_permissions": "To change access permissions, please ask the project owner", + "to_confirm_email_address_you_must_be_logged_in_with_the_requesting_account": "To confirm an email address, you must be logged in with the Overleaf account that requested the new secondary email.", + "to_confirm_transfer_enter_email_address": "To accept the invitation, enter the email address linked to your account.", + "to_confirm_unlink_all_users_enter_email": "To confirm you want to unlink all users, enter your email address:", + "to_fix_this_you_can": "To fix this, you can:", + "to_fix_this_you_can_ask_the_github_repository_owner": "To fix this, you can ask the GitHub repository owner (<0>__repoOwnerEmail__) to renew their __appName__ subscription and reconnect the project.", + "to_insert_or_move_a_caption_make_sure_tabular_is_directly_within_table": "To insert or move a caption, make sure \\begin{tabular} is directly within a table environment", + "to_keep_edit_access": "To keep edit access, ask the project owner to upgrade their plan or reduce the number of people with edit access.", + "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", + "to_modify_your_subscription_go_to": "To modify your subscription go to", + "to_pull_results_directly_from_your_reference_manager_enable_one_of_the_available_reference_manager_integrations": "To pull results directly from your reference manager, <0>enable one of the available reference manager integrations.", + "to_use_text_wrapping_in_your_table_make_sure_you_include_the_array_package": "<0>Please note: To use text wrapping in your table, make sure you include the <1>array package in your document preamble:", + "toggle_compile_options_menu": "Toggle compile options menu", + "token": "token", + "token_access_failure": "Cannot grant access; contact the project owner for help", + "token_limit_reached": "You’ve reached the 10 token limit. To generate a new authentication token, please delete an existing one.", + "token_read_only": "token read-only", + "token_read_write": "token read-write", + "too_many_attempts": "Too many attempts. Please wait for a while and try again.", + "too_many_comments_or_tracked_changes": "Too many comments or tracked changes", + "too_many_comments_or_tracked_changes_detail": "Sorry, this file has too many comments or tracked changes. Please try accepting or rejecting some existing changes, or resolving and deleting some comments.", + "too_many_confirm_code_resend_attempts": "Too many attempts. Please wait 1 minute then try again.", + "too_many_confirm_code_verification_attempts": "Too many verification attempts. Please wait 1 minute then try again.", + "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for a short period. Please wait 15 minutes and try again.", + "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", + "too_many_search_results": "There are more than 100 results. Please refine your search.", + "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", + "took_a_while": "That took a while...", + "toolbar_bullet_list": "Bullet List", + "toolbar_choose_section_heading_level": "Choose section heading level", + "toolbar_code_visual_editor_switch": "Code and visual editor switch", + "toolbar_decrease_indent": "Decrease Indent", + "toolbar_editor": "Editor tools", + "toolbar_format_bold": "Format Bold", + "toolbar_format_italic": "Format Italic", + "toolbar_increase_indent": "Increase Indent", + "toolbar_insert_citation": "Insert Citation", + "toolbar_insert_cross_reference": "Insert Cross-reference", + "toolbar_insert_display_math": "Insert Display Math", + "toolbar_insert_figure": "Insert Figure", + "toolbar_insert_inline_math": "Insert Inline Math", + "toolbar_insert_link": "Insert Link", + "toolbar_insert_math": "Insert Math", + "toolbar_insert_math_and_symbols": "Insert Math and Symbols", + "toolbar_insert_misc": "Insert Misc (links, citations, cross-references, figures, tables)", + "toolbar_insert_table": "Insert Table", + "toolbar_list_indentation": "List and Indentation", + "toolbar_numbered_list": "Numbered List", + "toolbar_redo": "Redo", + "toolbar_selected_projects": "Selected projects", + "toolbar_selected_projects_management_actions": "Selected projects management actions", + "toolbar_selected_projects_remove": "Remove selected projects", + "toolbar_selected_projects_restore": "Restore selected projects", + "toolbar_table_insert_size_table": "Insert __size__ table", + "toolbar_table_insert_table_lowercase": "Insert table", + "toolbar_text_formatting": "Text formatting", + "toolbar_text_style": "Text style", + "toolbar_toggle_symbol_palette": "Toggle Symbol Palette", + "toolbar_undo": "Undo", + "toolbar_undo_redo_actions": "Undo/Redo actions", + "toolbar_visibility": "Toolbar visibility", + "tooltip_hide_filetree": "Click to hide the file tree", + "tooltip_hide_pdf": "Click to hide the PDF", + "tooltip_show_filetree": "Click to show the file tree", + "tooltip_show_pdf": "Click to show the PDF", + "top_pick": "Top pick", + "total": "Total", + "total_per_month": "Total per month", + "total_per_year": "Total per year", + "total_per_year_for_x_users": "total per year for __licenseSize__ users", + "total_per_year_lowercase": "total per year", + "total_with_subtotal_and_tax": "Total: <0>__total__ (__subtotal__ + __tax__ tax) per year", + "total_words": "Total Words", + "tr": "Turkish", + "track_any_change_in_real_time": "Track any change, in real-time", + "track_changes": "Track changes", + "track_changes_for_everyone": "Track changes for everyone", + "track_changes_for_x": "Track changes for __name__", + "track_changes_is_off": "Track changes is off", + "track_changes_is_on": "Track changes is on", + "tracked_change_added": "Added", + "tracked_change_deleted": "Deleted", + "transfer_management_of_your_account": "Transfer management of your Overleaf account", + "transfer_management_of_your_account_to_x": "Transfer management of your Overleaf account to __groupName__", + "transfer_management_resolve_following_issues": "To transfer the management of your account, you need to resolve the following issues:", + "transfer_this_users_projects": "Transfer this user’s projects", + "transfer_this_users_projects_description": "This user’s projects will be transferred to a new owner.", + "transferring": "Transferring", + "trash": "Trash", + "trash_projects": "Trash Projects", + "trashed": "Trashed", + "trashed_projects": "Trashed Projects", + "trashing_projects_wont_affect_collaborators": "Trashing projects won’t affect your collaborators.", + "trial_last_day": "This is the last day of your Overleaf Premium trial", + "trial_remaining_days": "__days__ more days on your Overleaf Premium trial", + "tried_to_log_in_with_email": "You’ve tried to log in with __email__.", + "tried_to_register_with_email": "You’ve tried to register with __email__, which is already registered with __appName__ as an institutional account.", + "troubleshooting_tip": "Troubleshooting tip", + "try_again": "Please try again", + "try_for_free": "Try for free", + "try_it_for_free": "Try it for free", + "try_now": "Try Now", + "try_premium_for_free": "Try Premium for free", + "try_recompile_project_or_troubleshoot": "Please try recompiling the project from scratch, and if that doesn’t help, follow our <0>troubleshooting guide.", + "try_relinking_provider": "It looks like you need to re-link your __provider__ account.", + "try_to_compile_despite_errors": "Try to compile despite errors", + "turn_off": "Turn off", + "turn_off_link_sharing": "Turn off link sharing", + "turn_on": "Turn on", + "turn_on_link_sharing": "Turn on link sharing", + "tutorials": "Tutorials", + "two_users": "2 users", + "uk": "Ukrainian", + "unable_to_extract_the_supplied_zip_file": "Opening this content on Overleaf failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", + "unarchive": "Restore", + "uncategorized": "Uncategorized", + "uncategorized_projects": "Uncategorized Projects", + "unconfirmed": "Unconfirmed", + "undelete": "Undelete", + "undeleting": "Undeleting", + "understanding_labels": "Understanding labels", + "unfold_line": "Unfold line", + "unique_identifier_attribute": "Unique identifier attribute", + "university": "University", + "university_school": "University or school name", + "unknown": "Unknown", + "unlimited": "Unlimited", + "unlimited_bold": "<0>Unlimited", + "unlimited_collaborators_in_each_project": "Unlimited collaborators in each project", + "unlimited_collaborators_per_project": "Unlimited collaborators per project", + "unlimited_collabs": "Unlimited collaborators", + "unlimited_collabs_rt": "<0>Unlimited collaborators", + "unlimited_projects": "Unlimited projects", + "unlimited_projects_info": "Your projects are private by default. This means that only you can view them, and only you can allow other people to access them.", + "unlink": "Unlink", + "unlink_all_users": "Unlink all users", + "unlink_all_users_explanation": "You’re about to remove the SSO login option for all users in your group. If SSO is enabled, this will force users to reauthenticate their Overleaf accounts with your IdP. They’ll receive an email asking them to do this.", + "unlink_dropbox_folder": "Unlink Dropbox Account", + "unlink_dropbox_warning": "Any projects that you have synced with Dropbox will be disconnected and no longer kept in sync with Dropbox. Are you sure you want to unlink your Dropbox account?", + "unlink_github_repository": "Unlink GitHub repository", + "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", + "unlink_linked_accounts": "Unlink any linked accounts (such as ORCID ID, IEEE). <0>Remove them in Account Settings (under Linked Accounts).", + "unlink_linked_google_account": "Unlink your Google account. <0>Remove it in Account Settings (under Linked Accounts).", + "unlink_provider_account_title": "Unlink __provider__ Account", + "unlink_provider_account_warning": "Warning: When you unlink your account from __provider__ you will not be able to sign in using __provider__ anymore.", + "unlink_reference": "Unlink References Provider", + "unlink_the_project_from_the_current_github_repo": "Unlink the project from the current GitHub repository and create a connection to a repository you own. (You need an active __appName__ subscription to set up a GitHub Sync).", + "unlink_user": "Unlink user", + "unlink_user_explanation": "You’re about to remove the SSO login option for <0>__email__. This will force them to reauthenticate their Overleaf account with your IdP. They’ll receive an email asking them to do this.", + "unlink_users": "Unlink users", + "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", + "unlinking": "Unlinking", + "unmerge_cells": "Unmerge cells", + "unpublish": "Unpublish", + "unpublishing": "Unpublishing", + "unsubscribe": "Unsubscribe", + "unsubscribed": "Unsubscribed", + "unsubscribing": "Unsubscribing", + "untrash": "Restore", + "up_to": "Up to", + "update": "Update", + "update_account_info": "Update Account Info", + "update_dropbox_settings": "Update Dropbox Settings", + "update_your_billing_details": "Update Your Billing Details", + "updates_to_project_sharing": "Updates to project sharing", + "updating": "Updating", + "updating_site": "Updating Site", + "upgrade": "Upgrade", + "upgrade_cc_btn": "Upgrade now, pay after 7 days", + "upgrade_for_12x_more_compile_time": "Upgrade to get 12x more compile time", + "upgrade_now": "Upgrade Now", + "upgrade_to_add_more_editors": "Upgrade to add more editors to your project", + "upgrade_to_add_more_editors_and_access_collaboration_features": "Upgrade to add more editors and access collaboration features like track changes and full project history.", + "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", + "upgrade_to_track_changes": "Upgrade to track changes", + "upload": "Upload", + "upload_failed": "Upload failed", + "upload_from_computer": "Upload from computer", + "upload_project": "Upload Project", + "upload_zipped_project": "Upload Zipped Project", + "url_to_fetch_the_file_from": "URL to fetch the file from", + "us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. Move faster through procurement with our tailored purchasing options. Talk to our government team.", + "us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. We partner with small business resellers to help you buy Overleaf organizational plans. Talk to our government team.", + "usage_metrics": "Usage metrics", + "usage_metrics_info": "Metrics that show how many users are accessing the licence, how many projects are being created and worked on, and how much collaboration is happening in Overleaf.", + "use_a_different_password": "Please use a different password", + "use_saml_metadata_to_configure_sso_with_idp": "Use the Overleaf SAML metadata to configure SSO with your Identity Provider.", + "use_your_own_machine": "Use your own machine, with your own setup", + "used_latex_before": "Have you ever used LaTeX before?", + "used_latex_response_never": "No, never", + "used_latex_response_occasionally": "Yes, occasionally", + "used_latex_response_often": "Yes, very often", + "used_when_referring_to_the_figure_elsewhere_in_the_document": "Used when referring to the figure elsewhere in the document", + "user_administration": "User administration", + "user_already_added": "User already added", + "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", + "user_deletion_password_reset_tip": "If you cannot remember your password, or if you are using Single-Sign-On with another provider to sign in (such as ORCID or Google), please <0>reset your password and try again.", + "user_first_name_attribute": "User first name attribute", + "user_is_not_part_of_group": "User is not part of group", + "user_last_name_attribute": "User last name attribute", + "user_management": "User management", + "user_management_info": "Group plan admins have access to an admin panel where users can be added and removed easily. For site-wide plans, users are automatically upgraded when they register or add their email address to Overleaf (domain-based enrollment or SSO).", + "user_metrics": "User metrics", + "user_not_found": "User not found", + "user_sessions": "User Sessions", + "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", + "using_latex": "Using LaTeX", + "using_premium_features": "Using premium features", + "using_the_overleaf_editor": "Using the __appName__ Editor", + "valid": "Valid", + "valid_sso_configuration": "Valid SSO configuration", + "validation_issue_entry_description": "A validation issue which prevented this project from compiling", + "vat": "VAT", + "vat_number": "VAT Number", + "verify_email_address_before_enabling_managed_users": "You need to verify your email address before enabling managed users.", + "view_all": "View All", + "view_code": "View code", + "view_configuration": "View configuration", + "view_group_members": "View group members", + "view_hub": "View Admin Hub", + "view_hub_subtext": "Access and download subscription statistics and a list of users", + "view_in_template_gallery": "View it in the template gallery", + "view_invitation": "View Invitation", + "view_labs_experiments": "View Labs Experiments", + "view_less": "View less", + "view_logs": "View logs", + "view_metrics": "View metrics", + "view_metrics_commons_subtext": "Monitor and download usage metrics for your Commons subscription", + "view_metrics_group_subtext": "Monitor and download usage metrics for your group subscription", + "view_more": "View more", + "view_only_access": "View-only access", + "view_only_downgraded": "View only. Upgrade to restore edit access.", + "view_options": "View options", + "view_pdf": "View PDF", + "view_source": "View Source", + "view_your_invoices": "View Your Invoices", + "viewer": "Viewer", + "viewing_x": "Viewing <0>__endTime__", + "visual_editor": "Visual Editor", + "visual_editor_is_only_available_for_tex_files": "Visual Editor is only available for TeX files", + "want_access_to_overleaf_premium_features_through_your_university": "Want access to __appName__ premium features through your university?", + "want_change_to_apply_before_plan_end": "If you wish this change to apply before the end of your current billing period, please contact us.", + "we_are_testing_a_new_reference_search": "We are testing a new reference search.", + "we_are_unable_to_opt_you_into_this_experiment": "We are unable to opt you into this experiment at this time, please ensure your organization has allowed this feature, or try again later.", + "we_cant_confirm_this_email": "We can’t confirm this email", + "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", + "we_do_not_share_personal_information": "See our <0>Privacy Notice for details of how we treat your personal data", + "we_logged_you_in": "We have logged you in.", + "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "<0>We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", + "we_sent_new_code": "We’ve sent a new code. If it doesn’t arrive, make sure to check your spam and any promotions folders.", + "webinars": "Webinars", + "website_status": "Website status", + "wed_love_you_to_stay": "We’d love you to stay", + "welcome_to_sl": "Welcome to __appName__", + "were_making_some_changes_to_project_sharing_this_means_you_will_be_visible": "We’re making some <0>changes to project sharing. This means, as someone with edit access, your name and email address will be visible to the project owner and other editors.", + "were_performing_maintenance": "We’re performing maintenance on Overleaf and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_this_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected this project.", + "weve_recently_reduced_the_compile_timeout_limit_which_may_have_affected_your_project": "We’ve recently <0>reduced the compile timeout limit on our free plan, which may have affected your project.", + "what_do_you_need": "What do you need?", + "what_do_you_need_help_with": "What do you need help with?", + "what_do_you_think_of_the_ai_error_assistant": "What do you think of the AI error assistant?", + "what_does_this_mean": "What does this mean?", + "what_does_this_mean_for_you": "This means:", + "what_happens_when_sso_is_enabled": "What happens when SSO is enabled?", + "what_should_we_call_you": "What should we call you?", + "when_you_join_labs": "When you join Labs, you can choose which experiments you want to be part of. Once you’ve done that, you can use Overleaf as normal, but you’ll see any labs features marked with this badge:", + "when_you_tick_the_include_caption_box": "When you tick the box “Include caption” the image will be inserted into your document with a placeholder caption. To edit it, you simply select the placeholder text and type to replace it with your own.", + "why_latex": "Why LaTeX?", + "wide": "Wide", + "will_lose_edit_access_on_date": "Will lose edit access on __date__", + "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", + "with_premium_subscription_you_also_get": "With an Overleaf Premium subscription you also get", + "word_count": "Word Count", + "work_offline": "Work offline", + "work_or_university_sso": "Work/university single sign-on", + "work_with_non_overleaf_users": "Work with non Overleaf users", + "would_you_like_to_see_a_university_subscription": "Would you like to see a university-wide __appName__ subscription at your university?", + "write_and_collaborate_faster_with_features_like": "Write and collaborate faster with features like:", + "writefull": "Writefull", + "writefull_learn_more": "Learn more about Writefull for Overleaf", + "writefull_loading_error_body": "Try refreshing the page. If this doesn’t work, try disabling any active browser extensions to check they aren’t blocking Writefull from loading.", + "writefull_loading_error_title": "Writefull didn’t load correctly", + "writefull_settings_description": "Get free AI-based language feedback specifically tailored for research writing with Writefull for Overleaf.", + "x_changes_in": "__count__ change in", + "x_changes_in_plural": "__count__ changes in", + "x_collaborators_per_project": "__collaboratorsCount__ collaborators per project", + "x_libraries_accessed_in_this_project": "__provider__ libraries accessed in this project", + "x_price_for_first_month": "<0>__price__ for your first month", + "x_price_for_first_year": "<0>__price__ for your first year", + "x_price_for_y_months": "<0>__price__ for your first __discountMonths__ months", + "x_price_per_user": "__price__ per user", + "x_price_per_year": "__price__ per year", + "year": "year", + "yearly": "Yearly", + "yes_im_in": "Yes, I’m in", + "yes_move_me_to_personal_plan": "Yes, move me to the Personal plan", + "yes_that_is_correct": "Yes, that’s correct", + "you": "You", + "you_already_have_a_subscription": "You already have a subscription", + "you_and_collaborators_get_access_to": "You and your project collaborators get access to", + "you_and_collaborators_get_access_to_info": "These features are available to you and your collaborators (other Overleaf users that you invite to your projects).", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_and_member_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager and <1>member of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_a_manager_of_commons_at_institution_x": "You are a <0>manager of the Overleaf Commons subscription at <0>__institutionName__", + "you_are_a_manager_of_publisher_x": "You are a <0>manager of <0>__publisherName__", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>__adminEmail__.", + "you_are_a_manager_of_x_plan_as_member_of_group_subscription_y_administered_by_z_you": "You are a <1>manager of the <0>__planName__ group subscription <1>__groupName__ administered by <1>you (__adminEmail__).", + "you_are_currently_logged_in_as": "You are currently logged in as __email__.", + "you_are_on_a_paid_plan_contact_support_to_find_out_more": "You’re on an __appName__ Paid plan. <0>Contact support to find out more.", + "you_are_on_x_plan_as_a_confirmed_member_of_institution_y": "You are on our <0>__planName__ plan as a <1>confirmed member of <1>__institutionName__", + "you_are_on_x_plan_as_member_of_group_subscription_y_administered_by_z": "You are on our <0>__planName__ plan as a <1>member of the group subscription <1>__groupName__ administered by <1>__adminEmail__", + "you_can_also_choose_to_view_anonymously_or_leave_the_project": "You can also choose to <0>view anonymously (you will lose edit access) or <1>leave the project.", + "you_can_buy_this_plan_but_not_as_a_trial": "You can buy this plan but not as a trial, as you’ve completed a trial recently.", + "you_can_manage_your_reference_manager_integrations_from_your_account_settings_page": "You can manage your reference manager integrations from your <0>account settings page.", + "you_can_now_enable_sso": "You can now enable SSO on your Group settings page.", + "you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Professional features.", + "you_can_only_add_n_people_to_edit_a_project": "You can only add __count__ person to edit a project with you on your current plan. Upgrade to add more.", + "you_can_only_add_n_people_to_edit_a_project_plural": "You can only add __count__ people to edit a project with you on your current plan. Upgrade to add more.", + "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can <0>opt in and out of the program at any time on this page", + "you_can_request_a_maximum_of_limit_fixes_per_day": "You can request a maximum of __limit__ fixes per day. Please try again tomorrow.", + "you_can_select_or_invite": "You can select or invite __count__ editor on your current plan, or upgrade to get more.", + "you_can_select_or_invite_plural": "You can select or invite __count__ editors on your current plan, or upgrade to get more.", + "you_cant_add_or_change_password_due_to_sso": "You can’t add or change your password because your group or organization uses <0>single sign-on (SSO).", + "you_cant_join_this_group_subscription": "You can’t join this group subscription", + "you_cant_reset_password_due_to_sso": "You can’t reset your password because your group or organization uses SSO. <0>Log in with SSO.", + "you_dont_have_any_repositories": "You don’t have any repositories", + "you_get_access_to": "You get access to", + "you_get_access_to_info": "These features are available only to you (the subscriber).", + "you_have_added_x_of_group_size_y": "You have added <0>__addedUsersSize__ of <1>__groupSize__ available members", + "you_have_been_invited_to_transfer_management_of_your_account": "You have been invited to transfer management of your account.", + "you_have_been_invited_to_transfer_management_of_your_account_to": "You have been invited to transfer management of your account to __groupName__.", + "you_have_been_removed_from_this_project_and_will_be_redirected_to_project_dashboard": "You have been removed from this project, and will no longer have access to it. You will be redirected to your project dashboard momentarily.", + "you_need_to_configure_your_sso_settings": "You need to configure and test your SSO settings before enabling SSO", + "you_plus_1": "You + 1", + "you_plus_10": "You + 10", + "you_plus_6": "You + 6", + "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "<0>You will be able to contact us any time to share your feedback", + "you_will_be_able_to_reassign_subscription": "You will be able to reassign their subscription membership to another person in your organization", + "youll_get_best_results_in_visual_but_can_be_used_in_source": "You’ll get the best results from using this tool in the <0>Visual Editor, although you can still use it to insert tables in the <1>Code Editor. Once you’ve selected the number of rows and columns you need, the table will appear in your document and you can double click in a cell to add contents to it.", + "youll_need_to_ask_the_github_repository_owner": "You’ll need to ask the GitHub repository owner (<0>__repoOwnerEmail__) to reconnect the project.", + "youll_no_longer_need_to_remember_credentials": "You’ll no longer need to remember a separate email address and password. Instead, you will use single-sign on to login to Overleaf. <0>Read more about SSO.", + "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", + "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", + "your_account_is_suspended": "Your account is suspended", + "your_affiliation_is_confirmed": "Your <0>__institutionName__ affiliation is confirmed.", + "your_browser_does_not_support_this_feature": "Sorry, your browser doesn’t support this feature. Please update your browser to its latest version.", + "your_compile_timed_out": "Your compile timed out", + "your_current_project_will_revert_to_the_version_from_time": "Your current project will revert to the version from __timestamp__", + "your_git_access_info": "Your Git authentication tokens should be entered whenever you’re prompted for a password.", + "your_git_access_info_bullet_1": "You can have up to 10 tokens.", + "your_git_access_info_bullet_2": "If you reach the maximum limit, you’ll need to delete a token before you can generate a new one.", + "your_git_access_info_bullet_3": "You can generate a token using the <0>Generate token button.", + "your_git_access_info_bullet_4": "You won’t be able to view the full token after the first time you generate it. Please copy it and keep it safe", + "your_git_access_info_bullet_5": "Previously generated tokens will be shown here.", + "your_git_access_tokens": "Your Git authentication tokens", + "your_message_to_collaborators": "Send a message to your collaborators", + "your_name_and_email_address_will_be_visible_to_the_project_owner_and_other_editors": "Your name and email address will be visible to the project owner and other editors.", + "your_new_plan": "Your new plan", + "your_password_has_been_successfully_changed": "Your password has been successfully changed", + "your_password_was_detected": "Your password is on a <0>public list of known compromised passwords. Keep your account safe by changing your password now.", + "your_plan": "Your plan", + "your_plan_is_changing_at_term_end": "Your plan is changing to <0>__pendingPlanName__ at the end of the current billing period.", + "your_plan_is_limited_to_n_editors": "Your plan allows __count__ collaborator with edit access and unlimited viewers.", + "your_plan_is_limited_to_n_editors_plural": "Your plan allows __count__ collaborators with edit access and unlimited viewers.", + "your_project_exceeded_compile_timeout_limit_on_free_plan": "Your project exceeded the compile timeout limit on our free plan.", + "your_project_exceeded_editor_limit": "Your project exceeded the editor limit and access levels were changed. Select a new access level for your collaborators, or upgrade to add more editors.", + "your_project_near_compile_timeout_limit": "Your project is near the compile timeout limit for our free plan.", + "your_projects": "Your Projects", + "your_questions_answered": "Your questions answered", + "your_role": "Your role", + "your_sessions": "Your Sessions", + "your_subscription": "Your Subscription", + "your_subscription_has_expired": "Your subscription has expired.", + "youre_a_member_of_overleaf_labs": "You’re a member of Overleaf Labs. Don’t forget to check in regularly to see what experiments you can sign up to.", + "youre_about_to_disable_single_sign_on": "You’re about to disable single sign-on for all group members.", + "youre_about_to_enable_single_sign_on": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct and all your group members have managed user accounts.", + "youre_about_to_enable_single_sign_on_sso_only": "You’re about to enable single sign-on (SSO). Before you do this, you should ensure you’re confident the SSO configuration is correct.", + "youre_already_setup_for_sso": "You’re already set up for SSO", + "youre_joining": "You’re joining", + "youre_on_free_trial_which_ends_on": "You’re on a free trial which ends on <0>__date__.", + "youre_signed_in_as_logout": "You’re signed in as <0>__email__. <1>Log out.", + "youre_signed_up": "You’re signed up", + "youve_lost_edit_access": "You’ve lost edit access", + "youve_unlinked_all_users": "You’ve unlinked all users", + "zh-CN": "Chinese", + "zip_contents_too_large": "Zip contents too large", + "zoom_in": "Zoom in", + "zoom_out": "Zoom out", + "zoom_to": "Zoom to", + "zotero": "Zotero", + "zotero_and_mendeley_integrations": "<0>Zotero and <0>Mendeley integrations", + "zotero_cta": "Get Zotero integration", + "zotero_groups_loading_error": "There was an error loading groups from Zotero", + "zotero_groups_relink": "There was an error accessing your Zotero data. This was likely caused by lack of permissions. Please re-link your account and try again.", + "zotero_integration": "Zotero Integration", + "zotero_integration_lowercase": "Zotero integration", + "zotero_integration_lowercase_info": "Manage your reference library in Zotero, and link it directly to .bib files in Overleaf, so you can easily cite anything from your libraries.", + "zotero_is_premium": "Zotero integration is a premium feature", + "zotero_reference_loading_error": "Error, could not load references from Zotero", + "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", + "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", + "zotero_sync_description": "With the Zotero integration you can import your references from Zotero into your __appName__ projects." +} diff --git a/docker/features/oidc/README.md b/docker/features/oidc/README.md new file mode 100644 index 0000000..d083d74 --- /dev/null +++ b/docker/features/oidc/README.md @@ -0,0 +1,81 @@ +Source: HajTex project + +# Login with Open ID Connect (OIDC) + +With this feature, Overleaf supports user login via OIDC. + +Usually, Overleaf uses its own user management for creating profiles, managing projects and access rights and similar. It includes leftover code for supporting LDAP and SAML, but both are not fully included in the Community Edition. This feature implements OIDC using `passport-openidconnect`, allowing an external user management system to be connected to Overleaf. + +Note that Overleaf usually matches users by email address, while OIDC uses its own UID! Refer to [Installing](#Installing) for more information. + +## Config options + +- `OIDC_ENABLE`: `[true, false]`, enables/disables this feature entirely +- `OIDC_NAME_SHORT`: `String`, changes the name of the OIDC provider to be displayed in the navbar (`[NAME]-Login`) +- `OIDC_NAME_LONG`: `String`, variant of `OIDC_NAME_SHORT` to be displayed when more space is available (currently unused) +- `OIDC_ISSUER`: `URL`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_AUTHORIZATION_URL`: `URL`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_TOKEN_URL`: `URL`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_USERINFO_URL`: `URL`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_CLIENT_ID`: `String`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_CLIENT_SECRET`: `String`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) +- `OIDC_CALLBACK_URL`: `URL`, see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + +All relevant URLs can be found at the `.well-known/openid-configuration` endpoint of your authentication provider. + +## Installing + +The entire user database needs to be adjusted to allow existing users to be logged in via OIDC without creating a new profile. This has to be done manually. + +By default, Overleaf finds and matches users according to their `email` field. This feature creates and uses a new field called `oidcUID` instead, which gets filled by either the OIDC `sub` claim or the `user_id` claim as a fallback. Thus, it is required to add an `oidcUID` to existing users, otherwise new profiles will be created on the first login via OIDC. Additionally, an (unused) field `oidcUsername` is created, which allows administrators to find users based on username. + +New users will be created automatically, and existing users will be updated with `first_name`, `last_name` and `email` provided by OIDC on login. + +For migrating existing users, a script like the following can be used: (assuming `email-to-oidcUID.csv` is present in the current directory and the mongodb is forwarded to the localhost) +```py +from pymongo import MongoClient + +# read translation file: email -> oidcUID in CSV +translation = {} +with open('email-to-oidcUID.csv') as f: + for line in f: + if line.count(',') != 1: + print('Invalid line: ' + line) + exit(1) + email, oidcUID = line.strip().split(',') + translation[email] = oidcUID + +# connect to local mongodb +client = MongoClient("mongodb://127.0.0.1:27017/", 27017, replicaset='overleaf', directConnection=True) +# with replicase + +# open sharelatex db +db = client['sharelatex'] + +success = 0 +failure = 0 + +# add "oidcUID" to users based on email-mapping +users = db['users'] +for user in users.find(): + if 'email' not in user: + print('User: ' + str(user['_id']) + ' does not have email') + failure += 1 + continue + + email = user['email'] + if email not in translation: + print('User: ' + str(user['_id']) + ' email: ' + email + ' not found in translation file') + failure += 1 + continue + + users.update_one({'_id': user['_id']}, {'$set': {'oidcUID': translation[email]}}) + success += 1 + +print('Success: ' + str(success)) +print('Failure: ' + str(failure)) +``` + +## Uninstalling + +To uninstall/disable this feature, `OIDC_ENABLE` can be set to `false` or the respective commit can be removed from the history. No changes to the database or related code are required. When OIDC is disabled, users will be able to log in to their existing profiles according to the email address provided by OIDC at the time of their last login. Note that OIDC does not use or update the `hashedPassword` field, so users created via OIDC will not be able to login until they reset their password. The fields `oidcUID` and `oidcUsername` can remain in the database and will not be used/changed by Overleaf. diff --git a/docker/features/oidc/_intern/files.yaml b/docker/features/oidc/_intern/files.yaml new file mode 100644 index 0000000..bca8c2b --- /dev/null +++ b/docker/features/oidc/_intern/files.yaml @@ -0,0 +1,13 @@ +volumes: + - /docker/features/oidc/5.2.1/overleaf/services/web/locales/en.json:/overleaf/services/web/locales/en.json + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js:/overleaf/services/web/app/src/Features/User/UserPagesController.js + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js:/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js:/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/router.mjs:/overleaf/services/web/app/src/router.mjs + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/models/User.js:/overleaf/services/web/app/src/models/User.js + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js:/overleaf/services/web/app/src/infrastructure/Features.js + - /docker/features/oidc/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs:/overleaf/services/web/app/src/infrastructure/Server.mjs + - /docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug:/overleaf/services/web/app/views/layout/navbar-website-redesign.pug + - /docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug:/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug + - /docker/features/oidc/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug:/overleaf/services/web/app/views/layout/navbar-marketing.pug + - /docker/features/oidc/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js diff --git a/docker/features/oidc/_prep/prep.sh b/docker/features/oidc/_prep/prep.sh new file mode 100644 index 0000000..65bba62 --- /dev/null +++ b/docker/features/oidc/_prep/prep.sh @@ -0,0 +1,2 @@ +cd /overleaf/services/web +npm install passport-openidconnect diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js.diff new file mode 100644 index 0000000..aa8c36e --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js.diff @@ -0,0 +1,77 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js 2024-12-11 19:54:28.011344527 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/Features/Authentication/AuthenticationController.js 2024-12-08 16:02:12.465592480 +0000 +@@ -9,6 +9,8 @@ + const Settings = require('@overleaf/settings') + const basicAuth = require('basic-auth') + const tsscmp = require('tsscmp') ++const {User} = require("../../models/User"); ++const UserCreator = require("../User/UserCreator"); + const UserHandler = require('../User/UserHandler') + const UserSessionsManager = require('../User/UserSessionsManager') + const Analytics = require('../Analytics/AnalyticsManager') +@@ -600,6 +602,65 @@ + delete req.session.postLoginRedirect + } + }, ++ ++ oidcLogin(req, res, next) { ++ return passport.authenticate('openidconnect')(req, res, next) ++ }, ++ ++ oidcLoginCallback(req, res, next) { ++ return passport.authenticate('openidconnect', ++ {failureRedirect: '/login', failureMessage: true}, function (err, user) { ++ if (err) { ++ return next(err) ++ } ++ AuthenticationController.finishLogin(user, req, res, next) ++ } ++ )(req, res, next) ++ }, ++ ++ verifyOpenIDConnect(issuer, profile, callback) { ++ User.findOne({oidcUID: profile.id}).then(user => { ++ if (!user) { ++ UserCreator.createNewUser({ ++ holdingAccount: false, ++ email: profile.emails[0].value, ++ first_name: profile.name?.givenName || "", ++ last_name: profile.name?.familyName || "", ++ oidcUID: profile.id, ++ oidcUsername: profile.username, ++ }, (err, user) => { ++ if(err) { ++ return callback(err); ++ } ++ return callback(null, user); ++ }) ++ } else { ++ user.first_name = profile.name?.givenName || ""; ++ user.last_name = profile.name?.familyName || ""; ++ user.oidcUsername = profile.username; ++ if (user.email != profile.emails[0].value) { ++ user.email = profile.emails[0].value; ++ ++ const reversedHostname = user.email.split('@')[1].split('').reverse().join('') ++ const emailData = { ++ email: user.email, ++ createdAt: new Date(), ++ reversedHostname, ++ } ++ user.emails = [emailData] ++ } ++ ++ user.save().catch(error => { ++ return callback(error); ++ }).then(user => { ++ return callback(null, user); ++ }) ++ } ++ } ++ ).catch(error => { ++ return callback(error); ++ }) ++ } + } + + function _afterLoginSessionSetup(req, user, callback) { diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js.diff new file mode 100644 index 0000000..a051cd1 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js.diff @@ -0,0 +1,12 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js 2024-12-11 19:54:23.478398696 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/Features/User/UserPagesController.js 2024-12-08 16:02:12.465592480 +0000 +@@ -59,6 +59,9 @@ + if (Settings.saml && Settings.saml.updateUserDetailsOnLogin) { + shouldAllowEditingDetails = false + } ++ if (Settings.oidc && Settings.oidc.updateUserDetailsOnLogin) { ++ shouldAllowEditingDetails = false ++ } + const oauthProviders = Settings.oauthProviders || {} + + const user = await UserGetter.promises.getUser(userId) diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js.diff new file mode 100644 index 0000000..4132db8 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js.diff @@ -0,0 +1,14 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js 2024-12-11 19:54:25.731371773 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js 2024-12-08 16:02:12.465592480 +0000 +@@ -6,6 +6,11 @@ + lastPrimaryEmailCheck, + signUpDate, + }) { ++ if(Settings.oidc.enable) { ++ // we never require a check, as emails are retrieved from the OIDC provider ++ return false ++ } ++ + const hasExpired = date => { + if (!date) { + return true diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff new file mode 100644 index 0000000..1c85df7 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff @@ -0,0 +1,10 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js 2024-12-11 19:54:34.900262205 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/infrastructure/Features.js 2024-12-08 16:02:12.465592480 +0000 +@@ -35,6 +35,7 @@ + return ( + (Boolean(Settings.ldap) && Boolean(Settings.ldap.enable)) || + (Boolean(Settings.saml) && Boolean(Settings.saml.enable)) || ++ (Boolean(Settings.oidc) && Boolean(Settings.oidc.enable)) || + Boolean(Settings.overleaf) + ) + }, diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs.diff new file mode 100644 index 0000000..411cf0a --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs.diff @@ -0,0 +1,56 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs 2024-12-11 19:54:37.188234864 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/infrastructure/Server.mjs 2024-12-08 16:02:12.466592468 +0000 +@@ -20,6 +20,7 @@ + import bearerTokenMiddleware from 'express-bearer-token' + import passport from 'passport' + import { Strategy as LocalStrategy } from 'passport-local' ++import { Strategy as OpenIDConnectStrategy } from 'passport-openidconnect' + import ReferalConnect from '../Features/Referal/ReferalConnect.js' + import RedirectManager from './RedirectManager.js' + import translations from './Translations.js' +@@ -210,16 +211,36 @@ + webRouter.use(passport.initialize()) + webRouter.use(passport.session()) + +-passport.use( +- new LocalStrategy( +- { +- passReqToCallback: true, +- usernameField: 'email', +- passwordField: 'password', +- }, +- AuthenticationController.doPassportLogin ++if(Settings.oidc.enable) { ++ passport.use( ++ new OpenIDConnectStrategy( ++ { ++ issuer: process.env.OIDC_ISSUER, ++ authorizationURL: process.env.OIDC_AUTHORIZATION_URL, ++ tokenURL: process.env.OIDC_TOKEN_URL, ++ userInfoURL: process.env.OIDC_USERINFO_URL, ++ clientID: process.env.OIDC_CLIENT_ID, ++ clientSecret: process.env.OIDC_CLIENT_SECRET, ++ callbackURL: process.env.OIDC_CALLBACK_URL, ++ scope: 'openid profile email', ++ }, ++ AuthenticationController.verifyOpenIDConnect ++ ) + ) +-) ++} ++else { ++ passport.use( ++ new LocalStrategy( ++ { ++ passReqToCallback: true, ++ usernameField: 'email', ++ passwordField: 'password', ++ }, ++ AuthenticationController.doPassportLogin ++ ) ++ ) ++} ++ + passport.serializeUser(AuthenticationController.serializeUser) + passport.deserializeUser(AuthenticationController.deserializeUser) + diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/models/User.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/models/User.js.diff new file mode 100644 index 0000000..084ac32 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/models/User.js.diff @@ -0,0 +1,11 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/models/User.js 2024-12-11 19:54:32.684288686 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/models/User.js 2024-12-08 16:02:12.466592468 +0000 +@@ -214,6 +214,8 @@ + analyticsId: { type: String }, + completedTutorials: Schema.Types.Mixed, + suspended: { type: Boolean }, ++ oidcUID: { type: String }, ++ oidcUsername: { type: String }, + }, + { minimize: false } + ) diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/router.mjs.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/router.mjs.diff new file mode 100644 index 0000000..d350b51 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/src/router.mjs.diff @@ -0,0 +1,30 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/router.mjs 2024-12-11 19:54:30.348316600 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/router.mjs 2024-12-08 16:02:12.466592468 +0000 +@@ -234,6 +234,14 @@ + webRouter.get('/login', UserPagesController.loginPage) + AuthenticationController.addEndpointToLoginWhitelist('/login') + ++ if(Settings.oidc.enable) { ++ webRouter.get('/login/oidc', AuthenticationController.oidcLogin) ++ AuthenticationController.addEndpointToLoginWhitelist('/login/oidc') ++ ++ webRouter.get('/login/oidc/callback', AuthenticationController.oidcLoginCallback) ++ AuthenticationController.addEndpointToLoginWhitelist('/login/oidc/callback') ++ } ++ + webRouter.post( + '/login', + RateLimiterMiddleware.rateLimit(overleafLoginRateLimiter), // rate limit IP (20 / 60s) +@@ -278,6 +286,12 @@ + webRouter.get('/register', UserPagesController.registerPage) + AuthenticationController.addEndpointToLoginWhitelist('/register') + } ++ else { ++ webRouter.get('/register', function (req, res, next) { ++ res.redirect('/login') ++ }) ++ AuthenticationController.addEndpointToLoginWhitelist('/register') ++ } + + EditorRouter.apply(webRouter, privateApiRouter) + CollaboratorsRouter.apply(webRouter, privateApiRouter) diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug.diff new file mode 100644 index 0000000..1d21276 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug.diff @@ -0,0 +1,35 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug 2024-12-11 19:54:41.763180193 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug 2024-12-08 16:02:12.467592456 +0000 +@@ -136,14 +136,24 @@ + + // login link + +nav-item +- +nav-link( +- href="/login" +- event-tracking="menu-clicked-login" +- event-tracking-action="clicked" +- event-tracking-trigger="click" +- event-tracking-mb="true" +- event-segmentation={ page: currentUrl } +- ) #{translate('log_in')} ++ if settings.oidc.enable ++ +nav-link( ++ href="/login/oidc" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} ++ else ++ +nav-link( ++ href="/login" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug.diff new file mode 100644 index 0000000..c3050da --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug.diff @@ -0,0 +1,35 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug 2024-12-11 19:54:44.025153163 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/layout/navbar-marketing.pug 2024-12-08 16:02:12.467592456 +0000 +@@ -139,14 +139,24 @@ + + // login link + li +- a( +- href="/login" +- event-tracking="menu-clicked-login" +- event-tracking-action="clicked" +- event-tracking-trigger="click" +- event-tracking-mb="true" +- event-segmentation={ page: currentUrl } +- ) #{translate('log_in')} ++ if settings.oidc.enable ++ a( ++ href="/login/oidc" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} ++ else ++ a( ++ href="/login" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug.diff new file mode 100644 index 0000000..ce8e516 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug.diff @@ -0,0 +1,35 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug 2024-12-11 19:54:39.487207391 +0000 ++++ ../5.2.1/overleaf/services/web/app/views/layout/navbar-website-redesign.pug 2024-12-08 16:02:12.467592456 +0000 +@@ -139,14 +139,24 @@ + + // login link + li.secondary +- a( +- href="/login" +- event-tracking="menu-clicked-login" +- event-tracking-action="clicked" +- event-tracking-trigger="click" +- event-tracking-mb="true" +- event-segmentation={ page: currentUrl } +- ) #{translate('log_in')} ++ if settings.oidc.enable ++ a( ++ href="/login/oidc" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('login_oidc', {provider: settings.oidc.nameShort})} ++ else ++ a( ++ href="/login" ++ event-tracking="menu-clicked-login" ++ event-tracking-action="clicked" ++ event-tracking-trigger="click" ++ event-tracking-mb="true" ++ event-segmentation={ page: currentUrl } ++ ) #{translate('log_in')} + + // projects link and account menu + if getSessionUser() diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff new file mode 100644 index 0000000..8f78317 --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff @@ -0,0 +1,25 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-11 19:54:46.337125535 +0000 ++++ ../5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-08 16:02:12.468592444 +0000 +@@ -113,6 +113,13 @@ + module.exports = { + env: 'server-ce', + ++ oidc: { ++ enable: process.env.OIDC_ENABLE || false, ++ updateUserDetailsOnLogin: process.env.OIDC_ENABLE || false, ++ nameShort: process.env.OIDC_NAME_SHORT || "OIDC", ++ nameLong: process.env.OIDC_NAME_LONG || "OIDC", ++ }, ++ + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, +@@ -783,8 +790,6 @@ + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { +- subnetRateLimiterDisabled: +- process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, diff --git a/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff new file mode 100644 index 0000000..a57e01d --- /dev/null +++ b/docker/features/oidc/dev_tools/5.2.1/overleaf/services/web/locales/en.json.diff @@ -0,0 +1,10 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/locales/en.json 2024-12-11 19:56:50.245644873 +0000 ++++ ../5.2.1/overleaf/services/web/locales/en.json 2024-12-08 16:02:12.471592408 +0000 +@@ -1183,6 +1183,7 @@ + "login_register_or": "or", + "login_to_accept_invitation": "Log in to accept invitation", + "login_to_overleaf": "Log in to Overleaf", ++ "login_oidc": "__provider__-Login", + "login_with_service": "Log in with __service__", + "logs_and_output_files": "Logs and output files", + "longer_compile_timeout": "Longer <0>compile timeout", diff --git a/docker/features/oidc/dev_tools/get_file_list.sh b/docker/features/oidc/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/oidc/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/oidc/dev_tools/get_masterfiles.sh b/docker/features/oidc/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/oidc/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/oidc/disable_feature.sh b/docker/features/oidc/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/oidc/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/oidc/docker-compose.yml b/docker/features/oidc/docker-compose.yml new file mode 100644 index 0000000..5f7b8ac --- /dev/null +++ b/docker/features/oidc/docker-compose.yml @@ -0,0 +1,42 @@ +services: + sharelatex: + environment: + # enables/disables OIDC login + # [true, false] + OIDC_ENABLE: false + + # changes the name of the OIDC provider to be displayed in the navbar ([NAME]-Login) + # String + OIDC_NAME_SHORT: "OIDC" + + # variant of OIDC_NAME_SHORT to be displayed when more space is available (currently unused) + # String + OIDC_NAME_LONG: "OIDC" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # URL + OIDC_ISSUER: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # URL + OIDC_AUTHORIZATION_URL: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # URL + OIDC_TOKEN_URL: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # URL + OIDC_USERINFO_URL: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # String + OIDC_CLIENT_ID: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # String + OIDC_CLIENT_SECRET: "" + + # see the documentation of [OpenID-Connect-Core](https://openid.net/specs/openid-connect-core-1_0.html) + # URL + OIDC_CALLBACK_URL: "" diff --git a/docker/features/oidc/enable_feature.sh b/docker/features/oidc/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/oidc/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/references/5.2.1/etc/overleaf/env.sh b/docker/features/references/5.2.1/etc/overleaf/env.sh new file mode 100644 index 0000000..81cebe4 --- /dev/null +++ b/docker/features/references/5.2.1/etc/overleaf/env.sh @@ -0,0 +1,14 @@ +export CHAT_HOST=127.0.0.1 +export CLSI_HOST=127.0.0.1 +export CONTACTS_HOST=127.0.0.1 +export DOCSTORE_HOST=127.0.0.1 +export DOCUMENT_UPDATER_HOST=127.0.0.1 +export DOCUPDATER_HOST=127.0.0.1 +export FILESTORE_HOST=127.0.0.1 +export HISTORY_V1_HOST=127.0.0.1 +export NOTIFICATIONS_HOST=127.0.0.1 +export PROJECT_HISTORY_HOST=127.0.0.1 +export REALTIME_HOST=127.0.0.1 +export REFERENCES_HOST=127.0.0.1 +export WEB_HOST=127.0.0.1 +export WEB_API_HOST=127.0.0.1 diff --git a/docker/features/references/5.2.1/etc/service/references-overleaf/run b/docker/features/references/5.2.1/etc/service/references-overleaf/run new file mode 100644 index 0000000..875023d --- /dev/null +++ b/docker/features/references/5.2.1/etc/service/references-overleaf/run @@ -0,0 +1,12 @@ +#!/bin/bash + +NODE_PARAMS="" +if [ "$DEBUG_NODE" == "true" ]; then + echo "running debug - references" + NODE_PARAMS="--inspect=0.0.0.0:30560" +fi + +source /etc/overleaf/env.sh +export LISTEN_ADDRESS=127.0.0.1 + +exec /sbin/setuser www-data /usr/bin/node $NODE_PARAMS /overleaf/services/references/app.js >> /var/log/overleaf/references.log 2>&1 diff --git a/docker/features/references/5.2.1/overleaf/services/references/README.md b/docker/features/references/5.2.1/overleaf/services/references/README.md new file mode 100644 index 0000000..41844d2 --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/references/README.md @@ -0,0 +1,10 @@ +overleaf/references +=============== + +An API for providing citation-keys from user bib-files + +License +======= +The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. + +Based on https://github.com/overleaf/overleaf/commit/9964aebc794f9fd7ce1373ab3484f6b33b061af3 diff --git a/docker/features/references/5.2.1/overleaf/services/references/app.js b/docker/features/references/5.2.1/overleaf/services/references/app.js new file mode 100644 index 0000000..a7da872 --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/references/app.js @@ -0,0 +1,40 @@ +import '@overleaf/metrics/initialize.js' + +import express from 'express' +import Settings from '@overleaf/settings' +import logger from '@overleaf/logger' +import metrics from '@overleaf/metrics' +import ReferencesAPIController from './app/js/ReferencesAPIController.js' +import bodyParser from 'body-parser' + +const app = express() +metrics.injectMetricsRoute(app) + +app.use(bodyParser.json({ limit: '2mb' })) +app.use(metrics.http.monitor(logger)) + +app.post('/project/:project_id/index', ReferencesAPIController.index) +app.get('/status', (req, res) => res.send({ status: 'references api is up' })) + +const settings = + Settings.internal && Settings.internal.references + ? Settings.internal.references + : undefined +const host = settings && settings.host ? settings.host : 'localhost' +const port = settings && settings.port ? settings.port : 3056 + +logger.debug('Listening at', { host, port }) + +const server = app.listen(port, host, function (error) { + if (error) { + throw error + } + logger.info({ host, port }, 'references HTTP server starting up') +}) + +process.on('SIGTERM', () => { + server.close(() => { + logger.info({ host, port }, 'references HTTP server closed') + metrics.close() + }) +}) diff --git a/docker/features/references/5.2.1/overleaf/services/references/app/js/ReferencesAPIController.js b/docker/features/references/5.2.1/overleaf/services/references/app/js/ReferencesAPIController.js new file mode 100644 index 0000000..68565c1 --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/references/app/js/ReferencesAPIController.js @@ -0,0 +1,42 @@ +import logger from '@overleaf/logger' +import BibtexParser from '../../../web/app/src/util/bib2json.js' + +export default { + async index(req, res) { + const { docUrls, fullIndex } = req.body + try { + const responses = await Promise.all( + docUrls.map(async (docUrl) => { + try { + const response = await fetch(docUrl) + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`) + } + return response.text() + } catch (error) { + logger.error({ error }, "Failed to fetch document from URL: " + docUrl) + return null + } + }) + ) + const keys = [] + for (const body of responses) { + if (!body) continue + + try { + const parsedEntries = BibtexParser(body).entries + const ks = parsedEntries + .filter(entry => entry.EntryKey) + .map(entry => entry.EntryKey) + keys.push(...ks) + } catch (error) { + logger.error({ error }, "bib file skipped.") + } + } + res.status(200).json({ keys }) + } catch (error) { + logger.error({ error }, "Unexpected error during indexing process.") + res.status(500).json({ error: "Failed to process bib files." }) + } + } +} diff --git a/docker/features/references/5.2.1/overleaf/services/references/config/settings.defaults.cjs b/docker/features/references/5.2.1/overleaf/services/references/config/settings.defaults.cjs new file mode 100644 index 0000000..2551f99 --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/references/config/settings.defaults.cjs @@ -0,0 +1,9 @@ +module.exports = { + internal: { + references: { + port: 3056, + host: process.env.REFERENCES_HOST || '127.0.0.1', + }, + }, +} + diff --git a/docker/features/references/5.2.1/overleaf/services/references/package.json b/docker/features/references/5.2.1/overleaf/services/references/package.json new file mode 100644 index 0000000..11be2ab --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/references/package.json @@ -0,0 +1,26 @@ +{ + "name": "@overleaf/references", + "description": "An API for providing citation-keys", + "private": true, + "type": "module", + "main": "app.js", + "scripts": { + "start": "node app.js" + }, + "version": "0.1.0", + "dependencies": { + "@overleaf/settings": "*", + "@overleaf/logger": "*", + "@overleaf/metrics": "*", + "async": "^3.2.5", + "express": "^4.21.0" + }, + "devDependencies": { + "chai": "^4.3.6", + "chai-as-promised": "^7.1.1", + "esmock": "^2.6.9", + "mocha": "^10.2.0", + "sinon": "^9.2.4", + "typescript": "^5.0.4" + } +} diff --git a/docker/features/references/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/references/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..dfe3390 --- /dev/null +++ b/docker/features/references/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1011 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + references: { + url: `http://${process.env.REFERENCES_HOST || '127.0.0.1'}:3056`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: [], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/references/README.md b/docker/features/references/README.md new file mode 100644 index 0000000..e90278b --- /dev/null +++ b/docker/features/references/README.md @@ -0,0 +1,5 @@ +These modifications are sourced from: + +https://github.com/yu-i-i/overleaf-cep + +If you are inside a \cite{} it checks your bib file and shows you the options you have. diff --git a/docker/features/references/_intern/files.yaml b/docker/features/references/_intern/files.yaml new file mode 100644 index 0000000..b9cbbdd --- /dev/null +++ b/docker/features/references/_intern/files.yaml @@ -0,0 +1,9 @@ +volumes: + - /docker/features/references/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js + - /docker/features/references/5.2.1/overleaf/services/references/package.json:/overleaf/services/references/package.json + - /docker/features/references/5.2.1/overleaf/services/references/README.md:/overleaf/services/references/README.md + - /docker/features/references/5.2.1/overleaf/services/references/app.js:/overleaf/services/references/app.js + - /docker/features/references/5.2.1/overleaf/services/references/app/js/ReferencesAPIController.js:/overleaf/services/references/app/js/ReferencesAPIController.js + - /docker/features/references/5.2.1/overleaf/services/references/config/settings.defaults.cjs:/overleaf/services/references/config/settings.defaults.cjs + - /docker/features/references/5.2.1/etc/overleaf/env.sh:/etc/overleaf/env.sh + - /docker/features/references/5.2.1/etc/service/references-overleaf/run:/etc/service/references-overleaf/run diff --git a/docker/features/references/_prep/prep.sh b/docker/features/references/_prep/prep.sh new file mode 100644 index 0000000..220e0b7 --- /dev/null +++ b/docker/features/references/_prep/prep.sh @@ -0,0 +1 @@ +chmod +x /etc/service/references-overleaf/run diff --git a/docker/features/references/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff b/docker/features/references/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff new file mode 100644 index 0000000..12809b6 --- /dev/null +++ b/docker/features/references/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff @@ -0,0 +1,12 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-14 21:49:53.481301875 +0000 ++++ ../5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-14 20:01:00.876373973 +0000 +@@ -259,6 +259,9 @@ + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, ++ references: { ++ url: `http://${process.env.REFERENCES_HOST || '127.0.0.1'}:3056`, ++ }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, diff --git a/docker/features/references/dev_tools/get_file_list.sh b/docker/features/references/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/references/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/references/dev_tools/get_masterfiles.sh b/docker/features/references/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/references/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/references/disable_feature.sh b/docker/features/references/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/references/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/references/enable_feature.sh b/docker/features/references/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/references/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/registration-page/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js b/docker/features/registration-page/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js new file mode 100644 index 0000000..80438cd --- /dev/null +++ b/docker/features/registration-page/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js @@ -0,0 +1,98 @@ +const _ = require('lodash') +const Settings = require('@overleaf/settings') + +const supportModuleAvailable = Settings.moduleImportSequence.includes('support') + +const symbolPaletteModuleAvailable = + Settings.moduleImportSequence.includes('symbol-palette') + +const trackChangesModuleAvailable = + Settings.moduleImportSequence.includes('track-changes') + +/** + * @typedef {Object} Settings + * @property {Object | undefined} apis + * @property {Object | undefined} apis.linkedUrlProxy + * @property {string | undefined} apis.linkedUrlProxy.url + * @property {Object | undefined} apis.references + * @property {string | undefined} apis.references.url + * @property {boolean | undefined} enableGithubSync + * @property {boolean | undefined} enableGitBridge + * @property {boolean | undefined} enableHomepage + * @property {boolean | undefined} enableSaml + * @property {boolean | undefined} ldap + * @property {boolean | undefined} oauth + * @property {Object | undefined} overleaf + * @property {Object | undefined} overleaf.oauth + * @property {boolean | undefined} saml + */ + +const Features = { + /** + * @returns {boolean} + */ + externalAuthenticationSystemUsed() { + return ( + (Boolean(Settings.ldap) && Boolean(Settings.ldap.enable)) || + (Boolean(Settings.saml) && Boolean(Settings.saml.enable)) || + Boolean(Settings.overleaf) + ) + }, + + /** + * Whether a feature is enabled in the appliation's configuration + * + * @param {string} feature + * @returns {boolean} + */ + hasFeature(feature) { + switch (feature) { + case 'saas': + return Boolean(Settings.overleaf) + case 'homepage': + return Boolean(Settings.enableHomepage) + case 'registration-page': + return Boolean(true) + case 'registration': + return Boolean(Settings.overleaf) + case 'chat': + return Boolean(Settings.disableChat) === false + case 'github-sync': + return Boolean(Settings.enableGithubSync) + case 'git-bridge': + return Boolean(Settings.enableGitBridge) + case 'oauth': + return Boolean(Settings.oauth) + case 'templates-server-pro': + return Boolean(Settings.templates?.user_id) + case 'affiliations': + case 'analytics': + return Boolean(_.get(Settings, ['apis', 'v1', 'url'])) + case 'references': + return Boolean(_.get(Settings, ['apis', 'references', 'url'])) + case 'saml': + return Boolean(Settings.enableSaml) + case 'linked-project-file': + return Boolean(Settings.enabledLinkedFileTypes.includes('project_file')) + case 'linked-project-output-file': + return Boolean( + Settings.enabledLinkedFileTypes.includes('project_output_file') + ) + case 'link-url': + return Boolean( + _.get(Settings, ['apis', 'linkedUrlProxy', 'url']) && + Settings.enabledLinkedFileTypes.includes('url') + ) + case 'support': + return supportModuleAvailable + case 'symbol-palette': + return symbolPaletteModuleAvailable + case 'track-changes': + return trackChangesModuleAvailable + default: + throw new Error(`unknown feature: ${feature}`) + } + }, +} + +module.exports = Features diff --git a/docker/features/registration-page/README.md b/docker/features/registration-page/README.md new file mode 100644 index 0000000..69df680 --- /dev/null +++ b/docker/features/registration-page/README.md @@ -0,0 +1 @@ +We need the signup button... \ No newline at end of file diff --git a/docker/features/registration-page/_intern/files.yaml b/docker/features/registration-page/_intern/files.yaml new file mode 100644 index 0000000..2092441 --- /dev/null +++ b/docker/features/registration-page/_intern/files.yaml @@ -0,0 +1,2 @@ +volumes: + - /docker/features/registration-page/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js:/overleaf/services/web/app/src/infrastructure/Features.js diff --git a/docker/features/registration-page/_prep/prep.sh b/docker/features/registration-page/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/registration-page/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff b/docker/features/registration-page/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff new file mode 100644 index 0000000..86708c6 --- /dev/null +++ b/docker/features/registration-page/dev_tools/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js.diff @@ -0,0 +1,14 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/infrastructure/Features.js 2024-12-15 02:57:40.316087670 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/infrastructure/Features.js 2024-12-15 02:54:53.905061361 +0000 +@@ -52,10 +52,7 @@ + case 'homepage': + return Boolean(Settings.enableHomepage) + case 'registration-page': +- return ( +- !Features.externalAuthenticationSystemUsed() || +- Boolean(Settings.overleaf) +- ) ++ return Boolean(true) + case 'registration': + return Boolean(Settings.overleaf) + case 'chat': diff --git a/docker/features/registration-page/dev_tools/get_file_list.sh b/docker/features/registration-page/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/registration-page/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/registration-page/dev_tools/get_masterfiles.sh b/docker/features/registration-page/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/registration-page/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/registration-page/disable_feature.sh b/docker/features/registration-page/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/registration-page/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/registration-page/enable_feature.sh b/docker/features/registration-page/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/registration-page/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/shell-escape/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js b/docker/features/shell-escape/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js new file mode 100644 index 0000000..b2ed5b1 --- /dev/null +++ b/docker/features/shell-escape/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js @@ -0,0 +1,204 @@ +const Path = require('path') +const { promisify } = require('util') +const Settings = require('@overleaf/settings') +const logger = require('@overleaf/logger') +const CommandRunner = require('./CommandRunner') +const fs = require('fs') + +const ProcessTable = {} // table of currently running jobs (pids or docker container names) + +const TIME_V_METRICS = Object.entries({ + 'cpu-percent': /Percent of CPU this job got: (\d+)/m, + 'cpu-time': /User time.*: (\d+.\d+)/m, + 'sys-time': /System time.*: (\d+.\d+)/m, +}) + +const COMPILER_FLAGS = { + latex: '-pdfdvi', + lualatex: '-lualatex', + pdflatex: '-pdf', + xelatex: '-xelatex', +} + +function runLatex(projectId, options, callback) { + const { + directory, + mainFile, + image, + environment, + flags, + compileGroup, + stopOnFirstError, + stats, + timings, + } = options + const compiler = options.compiler || 'pdflatex' + const timeout = options.timeout || 60000 // milliseconds + + logger.debug( + { + directory, + compiler, + timeout, + mainFile, + environment, + flags, + compileGroup, + stopOnFirstError, + }, + 'starting compile' + ) + + let command + try { + command = _buildLatexCommand(mainFile, { + compiler, + stopOnFirstError, + flags, + }) + } catch (err) { + return callback(err) + } + + const id = `${projectId}` // record running project under this id + + ProcessTable[id] = CommandRunner.run( + projectId, + command, + directory, + image, + timeout, + environment, + compileGroup, + function (error, output) { + delete ProcessTable[id] + if (error) { + return callback(error) + } + const runs = + output?.stderr?.match(/^Run number \d+ of .*latex/gm)?.length || 0 + const failed = output?.stdout?.match(/^Latexmk: Errors/m) != null ? 1 : 0 + // counters from latexmk output + stats['latexmk-errors'] = failed + stats['latex-runs'] = runs + stats['latex-runs-with-errors'] = failed ? runs : 0 + stats[`latex-runs-${runs}`] = 1 + stats[`latex-runs-with-errors-${runs}`] = failed ? 1 : 0 + // timing information from /usr/bin/time + const stderr = (output && output.stderr) || '' + if (stderr.includes('Command being timed:')) { + // Add metrics for runs with `$ time -v ...` + for (const [timing, matcher] of TIME_V_METRICS) { + const match = stderr.match(matcher) + if (match) { + timings[timing] = parseFloat(match[1]) + } + } + } + // record output files + _writeLogOutput(projectId, directory, output, () => { + callback(error, output) + }) + } + ) +} + +function _writeLogOutput(projectId, directory, output, callback) { + if (!output) { + return callback() + } + // internal method for writing non-empty log files + function _writeFile(file, content, cb) { + if (content && content.length > 0) { + fs.unlink(file, () => { + fs.writeFile(file, content, { flag: 'wx' }, err => { + if (err) { + // don't fail on error + logger.error({ err, projectId, file }, 'error writing log file') + } + cb() + }) + }) + } else { + cb() + } + } + // write stdout and stderr, ignoring errors + _writeFile(Path.join(directory, 'output.stdout'), output.stdout, () => { + _writeFile(Path.join(directory, 'output.stderr'), output.stderr, () => { + callback() + }) + }) +} + +function killLatex(projectId, callback) { + const id = `${projectId}` + logger.debug({ id }, 'killing running compile') + if (ProcessTable[id] == null) { + logger.warn({ id }, 'no such project to kill') + callback(null) + } else { + CommandRunner.kill(ProcessTable[id], callback) + } +} + +function _buildLatexCommand(mainFile, opts = {}) { + const command = [] + + if (Settings.clsi?.strace) { + command.push('strace', '-o', 'strace', '-ff') + } + + if (Settings.clsi?.latexmkCommandPrefix) { + command.push(...Settings.clsi.latexmkCommandPrefix) + } + + // Basic command and flags + command.push( + 'latexmk', + '-cd', + '-jobname=output', + '-auxdir=$COMPILE_DIR', + '-outdir=$COMPILE_DIR', + '-synctex=1', + '-shell-escape', + '-interaction=batchmode' + ) + + // Stop on first error option + if (opts.stopOnFirstError) { + command.push('-halt-on-error') + } else { + // Run all passes despite errors + command.push('-f') + } + + // Extra flags + if (opts.flags) { + command.push(...opts.flags) + } + + // TeX Engine selection + const compilerFlag = COMPILER_FLAGS[opts.compiler] + if (compilerFlag) { + command.push(compilerFlag) + } else { + throw new Error(`unknown compiler: ${opts.compiler}`) + } + + // We want to run latexmk on the tex file which we will automatically + // generate from the Rtex/Rmd/md file. + mainFile = mainFile.replace(/\.(Rtex|md|Rmd|Rnw)$/, '.tex') + command.push(Path.join('$COMPILE_DIR', mainFile)) + + return command +} + +module.exports = { + runLatex, + killLatex, + promises: { + runLatex: promisify(runLatex), + killLatex: promisify(killLatex), + }, +} diff --git a/docker/features/shell-escape/README.md b/docker/features/shell-escape/README.md new file mode 100644 index 0000000..d6e49f7 --- /dev/null +++ b/docker/features/shell-escape/README.md @@ -0,0 +1,25 @@ +Source: HajTex Project + +# Enable Shell Escape + +This adjustments changes the options passed to the LaTeX compiler to include `-shell-escape`. + +This allows packages like `minted`, `svg`, `graphviz`, `pgfplots` and similar to run shell commands during the compiling process. + +> [!CAUTION] +> This feature allows arbitrary shell commands to be executed on the machine compiling the LaTeX documents. +> Obviously, this poses a heavy security risk. It should only be used in combination with features like `feature/sandboxed-compiles` +> that create a sandboxed environment around the compiler, to avoid users from taking over the server! + +## Config options + +This feature cannot be configured or disabled through config options. + +## Installing + +To enable this feature, no other changes are required. Make sure that appropriate protection against unauthorized access is in place! + +## Uninstalling + +To remove this feature, just remove the respective commit from your build. No changes on the database or related code are required. +Keep in mind that user's projects might fail to compile though, if they require shell-escape to be enabled. diff --git a/docker/features/shell-escape/_intern/files.yaml b/docker/features/shell-escape/_intern/files.yaml new file mode 100644 index 0000000..17f9d85 --- /dev/null +++ b/docker/features/shell-escape/_intern/files.yaml @@ -0,0 +1,2 @@ +volumes: + - /docker/features/shell-escape/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js:/overleaf/services/clsi/app/js/LatexRunner.js diff --git a/docker/features/shell-escape/_prep/prep.sh b/docker/features/shell-escape/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/shell-escape/dev_tools/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js.diff b/docker/features/shell-escape/dev_tools/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js.diff new file mode 100644 index 0000000..6e35d0c --- /dev/null +++ b/docker/features/shell-escape/dev_tools/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js.diff @@ -0,0 +1,10 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/clsi/app/js/LatexRunner.js 2024-12-11 20:14:31.467936815 +0000 ++++ ../5.2.1/overleaf/services/clsi/app/js/LatexRunner.js 2024-12-08 16:02:12.472592396 +0000 +@@ -161,6 +161,7 @@ + '-auxdir=$COMPILE_DIR', + '-outdir=$COMPILE_DIR', + '-synctex=1', ++ '-shell-escape', + '-interaction=batchmode' + ) + diff --git a/docker/features/shell-escape/dev_tools/get_file_list.sh b/docker/features/shell-escape/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/shell-escape/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/shell-escape/dev_tools/get_masterfiles.sh b/docker/features/shell-escape/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/shell-escape/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/shell-escape/disable_feature.sh b/docker/features/shell-escape/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/shell-escape/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/shell-escape/enable_feature.sh b/docker/features/shell-escape/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/shell-escape/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..0e4924c --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1009 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: ['@/features/symbol-palette/components/symbol-palette'], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + 'symbol-palette', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js new file mode 100644 index 0000000..c4f47e3 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js @@ -0,0 +1,61 @@ +import { TabPanels, TabPanel } from '@reach/tabs' +import { useTranslation } from 'react-i18next' +import PropTypes from 'prop-types' +import SymbolPaletteItems from './symbol-palette-items' + +export default function SymbolPaletteBody({ + categories, + categorisedSymbols, + filteredSymbols, + handleSelect, + focusInput, +}) { + const { t } = useTranslation() + + // searching with matches: show the matched symbols + // searching with no matches: show a message + // note: include empty tab panels so that aria-controls on tabs can still reference the panel ids + if (filteredSymbols) { + return ( + <> + {filteredSymbols.length ? ( + + ) : ( +
{t('no_symbols_found')}
+ )} + + + {categories.map(category => ( + + ))} + + + ) + } + + // not searching: show the symbols grouped by category + return ( + + {categories.map(category => ( + + + + ))} + + ) +} +SymbolPaletteBody.propTypes = { + categories: PropTypes.arrayOf(PropTypes.object).isRequired, + categorisedSymbols: PropTypes.object, + filteredSymbols: PropTypes.arrayOf(PropTypes.object), + handleSelect: PropTypes.func.isRequired, + focusInput: PropTypes.func.isRequired, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js new file mode 100644 index 0000000..c472c31 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js @@ -0,0 +1,18 @@ +import { Button } from 'react-bootstrap' +import { useEditorContext } from '../../../shared/context/editor-context' + +export default function SymbolPaletteCloseButton() { + const { toggleSymbolPalette } = useEditorContext() + + return ( + + ) +} + diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js new file mode 100644 index 0000000..8537e14 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js @@ -0,0 +1,94 @@ +import { Tabs } from '@reach/tabs' +import { useCallback, useEffect, useMemo, useRef, useState } from 'react' +import { useTranslation } from 'react-i18next' +import PropTypes from 'prop-types' +import { matchSorter } from 'match-sorter' + +import symbols from '../data/symbols.json' +import { buildCategorisedSymbols, createCategories } from '../utils/categories' +import SymbolPaletteSearch from './symbol-palette-search' +import SymbolPaletteBody from './symbol-palette-body' +import SymbolPaletteTabs from './symbol-palette-tabs' +// import SymbolPaletteInfoLink from './symbol-palette-info-link' +import SymbolPaletteCloseButton from './symbol-palette-close-button' + +import '@reach/tabs/styles.css' + +export default function SymbolPaletteContent({ handleSelect }) { + const [input, setInput] = useState('') + + const { t } = useTranslation() + + // build the list of categories with translated labels + const categories = useMemo(() => createCategories(t), [t]) + + // group the symbols by category + const categorisedSymbols = useMemo( + () => buildCategorisedSymbols(categories), + [categories] + ) + + // select symbols which match the input + const filteredSymbols = useMemo(() => { + if (input === '') { + return null + } + + const words = input.trim().split(/\s+/) + + return words.reduceRight( + (symbols, word) => + matchSorter(symbols, word, { + keys: ['command', 'description', 'character', 'aliases'], + threshold: matchSorter.rankings.CONTAINS, + }), + symbols + ) + }, [input]) + + const inputRef = useRef(null) + + // allow the input to be focused + const focusInput = useCallback(() => { + if (inputRef.current) { + inputRef.current.focus() + } + }, []) + + // focus the input when the symbol palette is opened + useEffect(() => { + if (inputRef.current) { + inputRef.current.focus() + } + }, []) + + return ( + +
+
+
+ +
+ {/* Useless button (uncomment if you see any sense in it) */} + {/* */} + +
+
+ +
+
+ +
+
+
+ ) +} +SymbolPaletteContent.propTypes = { + handleSelect: PropTypes.func.isRequired, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js new file mode 100644 index 0000000..ba56cf2 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js @@ -0,0 +1,29 @@ +import { Button, OverlayTrigger, Tooltip } from 'react-bootstrap' +import { useTranslation } from 'react-i18next' + +export default function SymbolPaletteInfoLink() { + const { t } = useTranslation() + + return ( + + {t('find_out_more_about_latex_symbols')} + + } + > + + + ) +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js new file mode 100644 index 0000000..a892f33 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js @@ -0,0 +1,67 @@ +import { useEffect, useRef } from 'react' +import { OverlayTrigger, Tooltip } from 'react-bootstrap' +import PropTypes from 'prop-types' + +export default function SymbolPaletteItem({ + focused, + handleSelect, + handleKeyDown, + symbol, +}) { + const buttonRef = useRef(null) + + // call focus() on this item when appropriate + useEffect(() => { + if ( + focused && + buttonRef.current && + document.activeElement?.closest('.symbol-palette-items') + ) { + buttonRef.current.focus() + } + }, [focused]) + + return ( + +
+ {symbol.description} +
+
{symbol.command}
+ {symbol.notes && ( +
{symbol.notes}
+ )} + + } + > + +
+ ) +} +SymbolPaletteItem.propTypes = { + symbol: PropTypes.shape({ + codepoint: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + command: PropTypes.string.isRequired, + character: PropTypes.string.isRequired, + notes: PropTypes.string, + }), + handleKeyDown: PropTypes.func.isRequired, + handleSelect: PropTypes.func.isRequired, + focused: PropTypes.bool, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js new file mode 100644 index 0000000..4483526 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js @@ -0,0 +1,86 @@ +import { useCallback, useEffect, useState } from 'react' +import PropTypes from 'prop-types' +import SymbolPaletteItem from './symbol-palette-item' + +export default function SymbolPaletteItems({ + items, + handleSelect, + focusInput, +}) { + const [focusedIndex, setFocusedIndex] = useState(0) + + // reset the focused item when the list of items changes + useEffect(() => { + setFocusedIndex(0) + }, [items]) + + // navigate through items with left and right arrows + const handleKeyDown = useCallback( + event => { + if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) { + return + } + + switch (event.key) { + // focus previous item + case 'ArrowLeft': + case 'ArrowUp': + setFocusedIndex(index => (index > 0 ? index - 1 : items.length - 1)) + break + + // focus next item + case 'ArrowRight': + case 'ArrowDown': + setFocusedIndex(index => (index < items.length - 1 ? index + 1 : 0)) + break + + // focus first item + case 'Home': + setFocusedIndex(0) + break + + // focus last item + case 'End': + setFocusedIndex(items.length - 1) + break + + // allow the default action + case 'Enter': + case ' ': + break + + // any other key returns focus to the input + default: + focusInput() + break + } + }, + [focusInput, items.length] + ) + + return ( +
+ {items.map((symbol, index) => ( + { + handleSelect(symbol) + setFocusedIndex(index) + }} + handleKeyDown={handleKeyDown} + focused={index === focusedIndex} + /> + ))} +
+ ) +} +SymbolPaletteItems.propTypes = { + items: PropTypes.arrayOf( + PropTypes.shape({ + codepoint: PropTypes.string.isRequired, + }) + ).isRequired, + handleSelect: PropTypes.func.isRequired, + focusInput: PropTypes.func.isRequired, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js new file mode 100644 index 0000000..cf5a1eb --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js @@ -0,0 +1,44 @@ +import { useCallback, useEffect, useState } from 'react' +import { useTranslation } from 'react-i18next' +import PropTypes from 'prop-types' +import { FormControl } from 'react-bootstrap' +import useDebounce from '../../../shared/hooks/use-debounce' + +export default function SymbolPaletteSearch({ setInput, inputRef }) { + const [localInput, setLocalInput] = useState('') + + // debounce the search input until a typing delay + const debouncedLocalInput = useDebounce(localInput, 250) + + useEffect(() => { + setInput(debouncedLocalInput) + }, [debouncedLocalInput, setInput]) + + const { t } = useTranslation() + + const inputRefCallback = useCallback( + element => { + inputRef.current = element + }, + [inputRef] + ) + + return ( + { + setLocalInput(event.target.value) + }} + /> + ) +} +SymbolPaletteSearch.propTypes = { + setInput: PropTypes.func.isRequired, + inputRef: PropTypes.object.isRequired, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js new file mode 100644 index 0000000..d53cd93 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js @@ -0,0 +1,22 @@ +import { TabList, Tab } from '@reach/tabs' +import PropTypes from 'prop-types' + +export default function SymbolPaletteTabs({ categories }) { + return ( + + {categories.map(category => ( + + {category.label} + + ))} + + ) +} +SymbolPaletteTabs.propTypes = { + categories: PropTypes.arrayOf( + PropTypes.shape({ + id: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + }) + ).isRequired, +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js new file mode 100644 index 0000000..9ec3813 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js @@ -0,0 +1,9 @@ +import SymbolPaletteContent from './symbol-palette-content' + +export default function SymbolPalette() { + console.log('SymbolPalette component is rendering'); + const handleSelect = (symbol) => { + window.dispatchEvent(new CustomEvent('editor:insert-symbol', { detail: symbol })) + } + return +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json new file mode 100644 index 0000000..af160b3 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json @@ -0,0 +1,872 @@ +[ + { + "category": "Greek", + "command": "\\alpha", + "codepoint": "U+1D6FC", + "description": "Lowercase Greek letter alpha", + "aliases": ["a", "α"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\beta", + "codepoint": "U+1D6FD", + "description": "Lowercase Greek letter beta", + "aliases": ["b", "β"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\gamma", + "codepoint": "U+1D6FE", + "description": "Lowercase Greek letter gamma", + "aliases": ["γ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\delta", + "codepoint": "U+1D6FF", + "description": "Lowercase Greek letter delta", + "aliases": ["δ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\varepsilon", + "codepoint": "U+1D700", + "description": "Lowercase Greek letter epsilon, varepsilon", + "aliases": ["ε"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\epsilon", + "codepoint": "U+1D716", + "description": "Lowercase Greek letter epsilon lunate", + "aliases": ["ε"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\zeta", + "codepoint": "U+1D701", + "description": "Lowercase Greek letter zeta", + "aliases": ["ζ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\eta", + "codepoint": "U+1D702", + "description": "Lowercase Greek letter eta", + "aliases": ["η"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\vartheta", + "codepoint": "U+1D717", + "description": "Lowercase Greek letter curly theta, vartheta", + "aliases": ["θ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\theta", + "codepoint": "U+1D703", + "description": "Lowercase Greek letter theta", + "aliases": ["θ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\iota", + "codepoint": "U+1D704", + "description": "Lowercase Greek letter iota", + "aliases": ["ι"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\kappa", + "codepoint": "U+1D705", + "description": "Lowercase Greek letter kappa", + "aliases": ["κ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\lambda", + "codepoint": "U+1D706", + "description": "Lowercase Greek letter lambda", + "aliases": ["λ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\mu", + "codepoint": "U+1D707", + "description": "Lowercase Greek letter mu", + "aliases": ["μ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\nu", + "codepoint": "U+1D708", + "description": "Lowercase Greek letter nu", + "aliases": ["ν"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\xi", + "codepoint": "U+1D709", + "description": "Lowercase Greek letter xi", + "aliases": ["ξ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\pi", + "codepoint": "U+1D70B", + "description": "Lowercase Greek letter pi", + "aliases": ["π"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\varrho", + "codepoint": "U+1D71A", + "description": "Lowercase Greek letter rho, varrho", + "aliases": ["ρ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\rho", + "codepoint": "U+1D70C", + "description": "Lowercase Greek letter rho", + "aliases": ["ρ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\sigma", + "codepoint": "U+1D70E", + "description": "Lowercase Greek letter sigma", + "aliases": ["σ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\varsigma", + "codepoint": "U+1D70D", + "description": "Lowercase Greek letter final sigma, varsigma", + "aliases": ["ς"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\tau", + "codepoint": "U+1D70F", + "description": "Lowercase Greek letter tau", + "aliases": ["τ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\upsilon", + "codepoint": "U+1D710", + "description": "Lowercase Greek letter upsilon", + "aliases": ["υ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\phi", + "codepoint": "U+1D719", + "description": "Lowercase Greek letter phi", + "aliases": ["φ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\varphi", + "codepoint": "U+1D711", + "description": "Lowercase Greek letter phi, varphi", + "aliases": ["φ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\chi", + "codepoint": "U+1D712", + "description": "Lowercase Greek letter chi", + "aliases": ["χ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\psi", + "codepoint": "U+1D713", + "description": "Lowercase Greek letter psi", + "aliases": ["ψ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\omega", + "codepoint": "U+1D714", + "description": "Lowercase Greek letter omega", + "aliases": ["ω"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Gamma", + "codepoint": "U+00393", + "description": "Uppercase Greek letter Gamma", + "aliases": ["Γ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Delta", + "codepoint": "U+00394", + "description": "Uppercase Greek letter Delta", + "aliases": ["Δ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Theta", + "codepoint": "U+00398", + "description": "Uppercase Greek letter Theta", + "aliases": ["Θ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Lambda", + "codepoint": "U+0039B", + "description": "Uppercase Greek letter Lambda", + "aliases": ["Λ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Xi", + "codepoint": "U+0039E", + "description": "Uppercase Greek letter Xi", + "aliases": ["Ξ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Pi", + "codepoint": "U+003A0", + "description": "Uppercase Greek letter Pi", + "aliases": ["Π"], + "notes": "Use \\prod for the product." + }, + { + "category": "Greek", + "command": "\\Sigma", + "codepoint": "U+003A3", + "description": "Uppercase Greek letter Sigma", + "aliases": ["Σ"], + "notes": "Use \\sum for the sum." + }, + { + "category": "Greek", + "command": "\\Upsilon", + "codepoint": "U+003A5", + "description": "Uppercase Greek letter Upsilon", + "aliases": ["Υ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Phi", + "codepoint": "U+003A6", + "description": "Uppercase Greek letter Phi", + "aliases": ["Φ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Psi", + "codepoint": "U+003A8", + "description": "Uppercase Greek letter Psi", + "aliases": ["Ψ"], + "notes": "" + }, + { + "category": "Greek", + "command": "\\Omega", + "codepoint": "U+003A9", + "description": "Uppercase Greek letter Omega", + "aliases": ["Ω"], + "notes": "" + }, + { + "category": "Relations", + "command": "\\neq", + "codepoint": "U+02260", + "description": "Not equal", + "aliases": ["!="], + "notes": "" + }, + { + "category": "Relations", + "command": "\\leq", + "codepoint": "U+02264", + "description": "Less than or equal", + "aliases": ["<="], + "notes": "" + }, + { + "category": "Relations", + "command": "\\geq", + "codepoint": "U+02265", + "description": "Greater than or equal", + "aliases": [">="], + "notes": "" + }, + { + "category": "Relations", + "command": "\\ll", + "codepoint": "U+0226A", + "description": "Much less than", + "aliases": ["<<"], + "notes": "" + }, + { + "category": "Relations", + "command": "\\gg", + "codepoint": "U+0226B", + "description": "Much greater than", + "aliases": [">>"], + "notes": "" + }, + { + "category": "Relations", + "command": "\\prec", + "codepoint": "U+0227A", + "description": "Precedes", + "notes": "" + }, + { + "category": "Relations", + "command": "\\succ", + "codepoint": "U+0227B", + "description": "Succeeds", + "notes": "" + }, + { + "category": "Relations", + "command": "\\in", + "codepoint": "U+02208", + "description": "Set membership", + "notes": "" + }, + { + "category": "Relations", + "command": "\\notin", + "codepoint": "U+02209", + "description": "Negated set membership", + "notes": "" + }, + { + "category": "Relations", + "command": "\\ni", + "codepoint": "U+0220B", + "description": "Contains", + "notes": "" + }, + { + "category": "Relations", + "command": "\\subset", + "codepoint": "U+02282", + "description": "Subset", + "notes": "" + }, + { + "category": "Relations", + "command": "\\subseteq", + "codepoint": "U+02286", + "description": "Subset or equals", + "notes": "" + }, + { + "category": "Relations", + "command": "\\supset", + "codepoint": "U+02283", + "description": "Superset", + "notes": "" + }, + { + "category": "Relations", + "command": "\\simeq", + "codepoint": "U+02243", + "description": "Similar", + "notes": "" + }, + { + "category": "Relations", + "command": "\\approx", + "codepoint": "U+02248", + "description": "Approximate", + "notes": "" + }, + { + "category": "Relations", + "command": "\\equiv", + "codepoint": "U+02261", + "description": "Identical with", + "notes": "" + }, + { + "category": "Relations", + "command": "\\cong", + "codepoint": "U+02245", + "description": "Congruent with", + "notes": "" + }, + { + "category": "Relations", + "command": "\\mid", + "codepoint": "U+02223", + "description": "Mid, divides, vertical bar, modulus, absolute value", + "notes": "Use \\lvert...\\rvert for the absolute value." + }, + { + "category": "Relations", + "command": "\\nmid", + "codepoint": "U+02224", + "description": "Negated mid, not divides", + "notes": "Requires \\usepackage{amssymb}." + }, + { + "category": "Relations", + "command": "\\parallel", + "codepoint": "U+02225", + "description": "Parallel, double vertical bar, norm", + "notes": "Use \\lVert...\\rVert for the norm." + }, + { + "category": "Relations", + "command": "\\perp", + "codepoint": "U+027C2", + "description": "Perpendicular", + "notes": "" + }, + { + "category": "Operators", + "command": "\\times", + "codepoint": "U+000D7", + "description": "Cross product, multiplication", + "aliases": ["x"], + "notes": "" + }, + { + "category": "Operators", + "command": "\\div", + "codepoint": "U+000F7", + "description": "Division", + "notes": "" + }, + { + "category": "Operators", + "command": "\\cap", + "codepoint": "U+02229", + "description": "Intersection", + "notes": "" + }, + { + "category": "Operators", + "command": "\\cup", + "codepoint": "U+0222A", + "description": "Union", + "notes": "" + }, + { + "category": "Operators", + "command": "\\cdot", + "codepoint": "U+022C5", + "description": "Dot product, multiplication", + "notes": "" + }, + { + "category": "Operators", + "command": "\\cdots", + "codepoint": "U+022EF", + "description": "Centered dots", + "notes": "" + }, + { + "category": "Operators", + "command": "\\bullet", + "codepoint": "U+02219", + "description": "Bullet", + "notes": "" + }, + { + "category": "Operators", + "command": "\\circ", + "codepoint": "U+025E6", + "description": "Circle", + "notes": "" + }, + { + "category": "Operators", + "command": "\\wedge", + "codepoint": "U+02227", + "description": "Wedge, logical and", + "notes": "" + }, + { + "category": "Operators", + "command": "\\vee", + "codepoint": "U+02228", + "description": "Vee, logical or", + "notes": "" + }, + { + "category": "Operators", + "command": "\\setminus", + "codepoint": "U+0005C", + "description": "Set minus, backslash", + "notes": "Use \\backslash for a backslash." + }, + { + "category": "Operators", + "command": "\\oplus", + "codepoint": "U+02295", + "description": "Plus sign in circle", + "notes": "" + }, + { + "category": "Operators", + "command": "\\otimes", + "codepoint": "U+02297", + "description": "Multiply sign in circle", + "notes": "" + }, + { + "category": "Operators", + "command": "\\sum", + "codepoint": "U+02211", + "description": "Summation operator", + "notes": "Use \\Sigma for the letter Sigma." + }, + { + "category": "Operators", + "command": "\\prod", + "codepoint": "U+0220F", + "description": "Product operator", + "notes": "Use \\Pi for the letter Pi." + }, + { + "category": "Operators", + "command": "\\bigcap", + "codepoint": "U+022C2", + "description": "Intersection operator", + "notes": "" + }, + { + "category": "Operators", + "command": "\\bigcup", + "codepoint": "U+022C3", + "description": "Union operator", + "notes": "" + }, + { + "category": "Operators", + "command": "\\int", + "codepoint": "U+0222B", + "description": "Integral operator", + "notes": "" + }, + { + "category": "Operators", + "command": "\\iint", + "codepoint": "U+0222C", + "description": "Double integral operator", + "notes": "Requires \\usepackage{amsmath}." + }, + { + "category": "Operators", + "command": "\\iiint", + "codepoint": "U+0222D", + "description": "Triple integral operator", + "notes": "Requires \\usepackage{amsmath}." + }, + { + "category": "Arrows", + "command": "\\leftarrow", + "codepoint": "U+02190", + "description": "Leftward arrow", + "aliases": ["<-"], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\rightarrow", + "codepoint": "U+02192", + "description": "Rightward arrow", + "aliases": ["->"], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\leftrightarrow", + "codepoint": "U+02194", + "description": "Left and right arrow", + "aliases": ["<->"], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\uparrow", + "codepoint": "U+02191", + "description": "Upward arrow", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\downarrow", + "codepoint": "U+02193", + "description": "Downward arrow", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\Leftarrow", + "codepoint": "U+021D0", + "description": "Is implied by", + "aliases": ["<="], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\Rightarrow", + "codepoint": "U+021D2", + "description": "Implies", + "aliases": ["=>"], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\Leftrightarrow", + "codepoint": "U+021D4", + "description": "Left and right double arrow", + "aliases": ["<=>"], + "notes": "" + }, + { + "category": "Arrows", + "command": "\\mapsto", + "codepoint": "U+021A6", + "description": "Maps to, rightward", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\nearrow", + "codepoint": "U+02197", + "description": "NE pointing arrow", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\searrow", + "codepoint": "U+02198", + "description": "SE pointing arrow", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\rightleftharpoons", + "codepoint": "U+021CC", + "description": "Right harpoon over left", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\leftharpoonup", + "codepoint": "U+021BC", + "description": "Left harpoon up", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\rightharpoonup", + "codepoint": "U+021C0", + "description": "Right harpoon up", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\leftharpoondown", + "codepoint": "U+021BD", + "description": "Left harpoon down", + "notes": "" + }, + { + "category": "Arrows", + "command": "\\rightharpoondown", + "codepoint": "U+021C1", + "description": "Right harpoon down", + "notes": "" + }, + { + "category": "Misc", + "command": "\\infty", + "codepoint": "U+0221E", + "description": "Infinity", + "notes": "" + }, + { + "category": "Misc", + "command": "\\partial", + "codepoint": "U+1D715", + "description": "Partial differential", + "notes": "" + }, + { + "category": "Misc", + "command": "\\nabla", + "codepoint": "U+02207", + "description": "Nabla, del, hamilton operator", + "notes": "" + }, + { + "category": "Misc", + "command": "\\varnothing", + "codepoint": "U+02300", + "description": "Empty set", + "notes": "Requires \\usepackage{amssymb}." + }, + { + "category": "Misc", + "command": "\\forall", + "codepoint": "U+02200", + "description": "For all", + "notes": "" + }, + { + "category": "Misc", + "command": "\\exists", + "codepoint": "U+02203", + "description": "There exists", + "notes": "" + }, + { + "category": "Misc", + "command": "\\neg", + "codepoint": "U+000AC", + "description": "Not sign", + "notes": "" + }, + { + "category": "Misc", + "command": "\\Re", + "codepoint": "U+0211C", + "description": "Real part", + "notes": "" + }, + { + "category": "Misc", + "command": "\\Im", + "codepoint": "U+02111", + "description": "Imaginary part", + "notes": "" + }, + { + "category": "Misc", + "command": "\\Box", + "codepoint": "U+025A1", + "description": "Square", + "notes": "Requires \\usepackage{amssymb}." + }, + { + "category": "Misc", + "command": "\\triangle", + "codepoint": "U+025B3", + "description": "Triangle", + "notes": "" + }, + { + "category": "Misc", + "command": "\\aleph", + "codepoint": "U+02135", + "description": "Hebrew letter aleph", + "notes": "" + }, + { + "category": "Misc", + "command": "\\wp", + "codepoint": "U+02118", + "description": "Weierstrass letter p", + "notes": "" + }, + { + "category": "Misc", + "command": "\\#", + "codepoint": "U+00023", + "description": "Number sign, hashtag", + "notes": "" + }, + { + "category": "Misc", + "command": "\\$", + "codepoint": "U+00024", + "description": "Dollar sign", + "notes": "" + }, + { + "category": "Misc", + "command": "\\%", + "codepoint": "U+00025", + "description": "Percent sign", + "notes": "" + }, + { + "category": "Misc", + "command": "\\&", + "codepoint": "U+00026", + "description": "Et sign, and, ampersand", + "notes": "" + }, + { + "category": "Misc", + "command": "\\{", + "codepoint": "U+0007B", + "description": "Left curly brace", + "notes": "" + }, + { + "category": "Misc", + "command": "\\}", + "codepoint": "U+0007D", + "description": "Right curly brace", + "notes": "" + }, + { + "category": "Misc", + "command": "\\langle", + "codepoint": "U+027E8", + "description": "Left angle bracket, bra", + "notes": "" + }, + { + "category": "Misc", + "command": "\\rangle", + "codepoint": "U+027E9", + "description": "Right angle bracket, ket", + "notes": "" + } +] diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js new file mode 100644 index 0000000..8725347 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js @@ -0,0 +1,44 @@ +import symbols from '../data/symbols.json' +export function createCategories(t) { + return [ + { + id: 'Greek', + label: t('category_greek'), + }, + { + id: 'Arrows', + label: t('category_arrows'), + }, + { + id: 'Operators', + label: t('category_operators'), + }, + { + id: 'Relations', + label: t('category_relations'), + }, + { + id: 'Misc', + label: t('category_misc'), + }, + ] +} + +export function buildCategorisedSymbols(categories) { + const output = {} + + for (const category of categories) { + output[category.id] = [] + } + + for (const item of symbols) { + if (item.category in output) { + item.character = String.fromCodePoint( + parseInt(item.codepoint.replace(/^U\+0*/, ''), 16) + ) + output[item.category].push(item) + } + } + + return output +} diff --git a/docker/features/symbol-palette/5.2.1/overleaf/services/web/modules/symbol-palette/index.mjs b/docker/features/symbol-palette/5.2.1/overleaf/services/web/modules/symbol-palette/index.mjs new file mode 100644 index 0000000..3a412c2 --- /dev/null +++ b/docker/features/symbol-palette/5.2.1/overleaf/services/web/modules/symbol-palette/index.mjs @@ -0,0 +1,2 @@ +import logger from '@overleaf/logger' +logger.debug({}, 'Enable Symbol Palette') diff --git a/docker/features/symbol-palette/README.md b/docker/features/symbol-palette/README.md new file mode 100644 index 0000000..74f28fb --- /dev/null +++ b/docker/features/symbol-palette/README.md @@ -0,0 +1,5 @@ +These modifications are sourced from: + +From: https://github.com/yu-i-i/overleaf-cep + +A symbol pallete for the greek symbols. diff --git a/docker/features/symbol-palette/_intern/files.yaml b/docker/features/symbol-palette/_intern/files.yaml new file mode 100644 index 0000000..1b71fbd --- /dev/null +++ b/docker/features/symbol-palette/_intern/files.yaml @@ -0,0 +1,14 @@ +volumes: + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/modules/symbol-palette/index.mjs:/overleaf/services/web/modules/symbol-palette/index.mjs + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-content.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-items.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-item.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-close-button.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-tabs.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-search.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-body.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js:/overleaf/services/web/frontend/js/features/symbol-palette/components/symbol-palette-info-link.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json:/overleaf/services/web/frontend/js/features/symbol-palette/data/symbols.json + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js:/overleaf/services/web/frontend/js/features/symbol-palette/utils/categories.js + - /docker/features/symbol-palette/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js diff --git a/docker/features/symbol-palette/_prep/prep.sh b/docker/features/symbol-palette/_prep/prep.sh new file mode 100644 index 0000000..e1a64ff --- /dev/null +++ b/docker/features/symbol-palette/_prep/prep.sh @@ -0,0 +1,2 @@ +cd /overleaf/services/web +npm install @reach/tabs diff --git a/docker/features/symbol-palette/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff b/docker/features/symbol-palette/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff new file mode 100644 index 0000000..f6da491 --- /dev/null +++ b/docker/features/symbol-palette/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff @@ -0,0 +1,19 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-13 00:07:35.684690573 +0000 ++++ ../5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-13 00:06:43.257322710 +0000 +@@ -946,7 +946,7 @@ + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], +- sourceEditorSymbolPalette: [], ++ sourceEditorSymbolPalette: ['@/features/symbol-palette/components/symbol-palette'], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], +@@ -976,6 +976,7 @@ + 'launchpad', + 'server-ce-scripts', + 'user-activate', ++ 'symbol-palette', + ], + viewIncludes: {}, + diff --git a/docker/features/symbol-palette/dev_tools/get_file_list.sh b/docker/features/symbol-palette/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/symbol-palette/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/symbol-palette/dev_tools/get_masterfiles.sh b/docker/features/symbol-palette/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/symbol-palette/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/symbol-palette/disable_feature.sh b/docker/features/symbol-palette/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/symbol-palette/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/symbol-palette/enable_feature.sh b/docker/features/symbol-palette/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/symbol-palette/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/features/track-changes/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js b/docker/features/track-changes/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js new file mode 100644 index 0000000..4424124 --- /dev/null +++ b/docker/features/track-changes/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js @@ -0,0 +1,147 @@ +let ProjectEditorHandler +const _ = require('lodash') +const Path = require('path') + +function mergeDeletedDocs(a, b) { + const docIdsInA = new Set(a.map(doc => doc._id.toString())) + return a.concat(b.filter(doc => !docIdsInA.has(doc._id.toString()))) +} + +module.exports = ProjectEditorHandler = { + trackChangesAvailable: true, + + buildProjectModelView(project, members, invites, deletedDocsFromDocstore) { + let owner, ownerFeatures + if (!Array.isArray(project.deletedDocs)) { + project.deletedDocs = [] + } + project.deletedDocs.forEach(doc => { + // The frontend does not use this field. + delete doc.deletedAt + }) + const result = { + _id: project._id, + name: project.name, + rootDoc_id: project.rootDoc_id, + rootFolder: [this.buildFolderModelView(project.rootFolder[0])], + publicAccesLevel: project.publicAccesLevel, + dropboxEnabled: !!project.existsInDropbox, + compiler: project.compiler, + description: project.description, + spellCheckLanguage: project.spellCheckLanguage, + deletedByExternalDataSource: project.deletedByExternalDataSource || false, + deletedDocs: mergeDeletedDocs( + project.deletedDocs, + deletedDocsFromDocstore + ), + members: [], + invites: this.buildInvitesView(invites), + imageName: + project.imageName != null + ? Path.basename(project.imageName) + : undefined, + } + + ;({ owner, ownerFeatures, members } = + this.buildOwnerAndMembersViews(members)) + result.owner = owner + result.members = members + + result.features = _.defaults(ownerFeatures || {}, { + collaborators: -1, // Infinite + versioning: false, + dropbox: false, + compileTimeout: 60, + compileGroup: 'standard', + templates: false, + references: false, + referencesSearch: false, + mendeley: false, + trackChanges: true, + trackChangesVisible: ProjectEditorHandler.trackChangesAvailable, + symbolPalette: false, + }) + + if (result.features.trackChanges) { + result.trackChangesState = project.track_changes || false + } + + // Originally these two feature flags were both signalled by the now-deprecated `references` flag. + // For older users, the presence of the `references` feature flag should still turn on these features. + result.features.referencesSearch = + result.features.referencesSearch || result.features.references + result.features.mendeley = + result.features.mendeley || result.features.references + + return result + }, + + buildOwnerAndMembersViews(members) { + let owner = null + let ownerFeatures = null + const filteredMembers = [] + for (const member of members || []) { + if (member.privilegeLevel === 'owner') { + ownerFeatures = member.user.features + owner = this.buildUserModelView(member) + } else { + filteredMembers.push(this.buildUserModelView(member)) + } + } + return { + owner, + ownerFeatures, + members: filteredMembers, + } + }, + + buildUserModelView(member) { + const user = member.user + return { + _id: user._id, + first_name: user.first_name, + last_name: user.last_name, + email: user.email, + privileges: member.privilegeLevel, + signUpDate: user.signUpDate, + pendingEditor: member.pendingEditor, + } + }, + + buildFolderModelView(folder) { + const fileRefs = _.filter(folder.fileRefs || [], file => file != null) + return { + _id: folder._id, + name: folder.name, + folders: (folder.folders || []).map(childFolder => + this.buildFolderModelView(childFolder) + ), + fileRefs: fileRefs.map(file => this.buildFileModelView(file)), + docs: (folder.docs || []).map(doc => this.buildDocModelView(doc)), + } + }, + + buildFileModelView(file) { + return { + _id: file._id, + name: file.name, + linkedFileData: file.linkedFileData, + created: file.created, + hash: file.hash, + } + }, + + buildDocModelView(doc) { + return { + _id: doc._id, + name: doc.name, + } + }, + + buildInvitesView(invites) { + if (invites == null) { + return [] + } + return invites.map(invite => _.pick(invite, ['_id', 'email', 'privileges'])) + }, +} diff --git a/docker/features/track-changes/5.2.1/overleaf/services/web/config/settings.defaults.js b/docker/features/track-changes/5.2.1/overleaf/services/web/config/settings.defaults.js new file mode 100644 index 0000000..b57b4de --- /dev/null +++ b/docker/features/track-changes/5.2.1/overleaf/services/web/config/settings.defaults.js @@ -0,0 +1,1009 @@ +const Path = require('path') +const { merge } = require('@overleaf/settings/merge') + +let defaultFeatures, siteUrl + +// Make time interval config easier. +const seconds = 1000 +const minutes = 60 * seconds + +// These credentials are used for authenticating api requests +// between services that may need to go over public channels +const httpAuthUser = process.env.WEB_API_USER +const httpAuthPass = process.env.WEB_API_PASSWORD +const httpAuthUsers = {} +if (httpAuthUser && httpAuthPass) { + httpAuthUsers[httpAuthUser] = httpAuthPass +} + +const intFromEnv = function (name, defaultValue) { + if ( + [null, undefined].includes(defaultValue) || + typeof defaultValue !== 'number' + ) { + throw new Error( + `Bad default integer value for setting: ${name}, ${defaultValue}` + ) + } + return parseInt(process.env[name], 10) || defaultValue +} + +const defaultTextExtensions = [ + 'tex', + 'latex', + 'sty', + 'cls', + 'bst', + 'bib', + 'bibtex', + 'txt', + 'tikz', + 'mtx', + 'rtex', + 'md', + 'asy', + 'lbx', + 'bbx', + 'cbx', + 'm', + 'lco', + 'dtx', + 'ins', + 'ist', + 'def', + 'clo', + 'ldf', + 'rmd', + 'lua', + 'gv', + 'mf', + 'yml', + 'yaml', + 'lhs', + 'mk', + 'xmpdata', + 'cfg', + 'rnw', + 'ltx', + 'inc', +] + +const parseTextExtensions = function (extensions) { + if (extensions) { + return extensions.split(',').map(ext => ext.trim()) + } else { + return [] + } +} + +const httpPermissionsPolicy = { + blocked: [ + 'accelerometer', + 'attribution-reporting', + 'browsing-topics', + 'camera', + 'display-capture', + 'encrypted-media', + 'gamepad', + 'geolocation', + 'gyroscope', + 'hid', + 'identity-credentials-get', + 'idle-detection', + 'local-fonts', + 'magnetometer', + 'microphone', + 'midi', + 'otp-credentials', + 'payment', + 'picture-in-picture', + 'screen-wake-lock', + 'serial', + 'storage-access', + 'usb', + 'window-management', + 'xr-spatial-tracking', + ], + allowed: { + autoplay: 'self "https://videos.ctfassets.net"', + fullscreen: 'self', + }, +} + +module.exports = { + env: 'server-ce', + + limits: { + httpGlobalAgentMaxSockets: 300, + httpsGlobalAgentMaxSockets: 300, + }, + + allowAnonymousReadAndWriteSharing: + process.env.OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING === 'true', + + // Databases + // --------- + mongo: { + options: { + appname: 'web', + maxPoolSize: parseInt(process.env.MONGO_POOL_SIZE, 10) || 100, + serverSelectionTimeoutMS: + parseInt(process.env.MONGO_SERVER_SELECTION_TIMEOUT, 10) || 60000, + // Setting socketTimeoutMS to 0 means no timeout + socketTimeoutMS: parseInt( + process.env.MONGO_SOCKET_TIMEOUT ?? '60000', + 10 + ), + monitorCommands: true, + }, + url: + process.env.MONGO_CONNECTION_STRING || + process.env.MONGO_URL || + `mongodb://${process.env.MONGO_HOST || '127.0.0.1'}/sharelatex`, + hasSecondaries: process.env.MONGO_HAS_SECONDARIES === 'true', + }, + + redis: { + web: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + db: process.env.REDIS_DB, + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + + // websessions: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // ratelimiter: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + // cooldown: + // cluster: [ + // {host: '127.0.0.1', port: 7000} + // {host: '127.0.0.1', port: 7001} + // {host: '127.0.0.1', port: 7002} + // {host: '127.0.0.1', port: 7003} + // {host: '127.0.0.1', port: 7004} + // {host: '127.0.0.1', port: 7005} + // ] + + api: { + host: process.env.REDIS_HOST || '127.0.0.1', + port: process.env.REDIS_PORT || '6379', + password: process.env.REDIS_PASSWORD || '', + maxRetriesPerRequest: parseInt( + process.env.REDIS_MAX_RETRIES_PER_REQUEST || '20' + ), + }, + }, + + // Service locations + // ----------------- + + // Configure which ports to run each service on. Generally you + // can leave these as they are unless you have some other services + // running which conflict, or want to run the web process on port 80. + internal: { + web: { + port: process.env.WEB_PORT || 3000, + host: process.env.LISTEN_ADDRESS || '127.0.0.1', + }, + }, + + // Tell each service where to find the other services. If everything + // is running locally then this is easy, but they exist as separate config + // options incase you want to run some services on remote hosts. + apis: { + web: { + url: `http://${ + process.env.WEB_API_HOST || process.env.WEB_HOST || '127.0.0.1' + }:${process.env.WEB_API_PORT || process.env.WEB_PORT || 3000}`, + user: httpAuthUser, + pass: httpAuthPass, + }, + documentupdater: { + url: `http://${ + process.env.DOCUPDATER_HOST || + process.env.DOCUMENT_UPDATER_HOST || + '127.0.0.1' + }:3003`, + }, + spelling: { + url: `http://${process.env.SPELLING_HOST || '127.0.0.1'}:3005`, + host: process.env.SPELLING_HOST, + }, + docstore: { + url: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + pubUrl: `http://${process.env.DOCSTORE_HOST || '127.0.0.1'}:3016`, + }, + chat: { + internal_url: `http://${process.env.CHAT_HOST || '127.0.0.1'}:3010`, + }, + filestore: { + url: `http://${process.env.FILESTORE_HOST || '127.0.0.1'}:3009`, + }, + clsi: { + url: `http://${process.env.CLSI_HOST || '127.0.0.1'}:3013`, + // url: "http://#{process.env['CLSI_LB_HOST']}:3014" + backendGroupName: undefined, + submissionBackendClass: + process.env.CLSI_SUBMISSION_BACKEND_CLASS || 'n2d', + }, + project_history: { + sendProjectStructureOps: true, + url: `http://${process.env.PROJECT_HISTORY_HOST || '127.0.0.1'}:3054`, + }, + realTime: { + url: `http://${process.env.REALTIME_HOST || '127.0.0.1'}:3026`, + }, + contacts: { + url: `http://${process.env.CONTACTS_HOST || '127.0.0.1'}:3036`, + }, + notifications: { + url: `http://${process.env.NOTIFICATIONS_HOST || '127.0.0.1'}:3042`, + }, + webpack: { + url: `http://${process.env.WEBPACK_HOST || '127.0.0.1'}:3808`, + }, + wiki: { + url: process.env.WIKI_URL || 'https://learn.sharelatex.com', + maxCacheAge: parseInt(process.env.WIKI_MAX_CACHE_AGE || 5 * minutes, 10), + }, + + haveIBeenPwned: { + enabled: process.env.HAVE_I_BEEN_PWNED_ENABLED === 'true', + url: + process.env.HAVE_I_BEEN_PWNED_URL || 'https://api.pwnedpasswords.com', + timeout: parseInt(process.env.HAVE_I_BEEN_PWNED_TIMEOUT, 10) || 5 * 1000, + }, + + // For legacy reasons, we need to populate the below objects. + v1: {}, + recurly: {}, + }, + + // Defines which features are allowed in the + // Permissions-Policy HTTP header + httpPermissions: httpPermissionsPolicy, + useHttpPermissionsPolicy: true, + + jwt: { + key: process.env.OT_JWT_AUTH_KEY, + algorithm: process.env.OT_JWT_AUTH_ALG || 'HS256', + }, + + devToolbar: { + enabled: false, + }, + + splitTests: [], + + // Where your instance of Overleaf Community Edition/Server Pro can be found publicly. Used in emails + // that are sent out, generated links, etc. + siteUrl: (siteUrl = process.env.PUBLIC_URL || 'http://127.0.0.1:3000'), + + lockManager: { + lockTestInterval: intFromEnv('LOCK_MANAGER_LOCK_TEST_INTERVAL', 50), + maxTestInterval: intFromEnv('LOCK_MANAGER_MAX_TEST_INTERVAL', 1000), + maxLockWaitTime: intFromEnv('LOCK_MANAGER_MAX_LOCK_WAIT_TIME', 10000), + redisLockExpiry: intFromEnv('LOCK_MANAGER_REDIS_LOCK_EXPIRY', 30), + slowExecutionThreshold: intFromEnv( + 'LOCK_MANAGER_SLOW_EXECUTION_THRESHOLD', + 5000 + ), + }, + + // Optional separate location for websocket connections, if unset defaults to siteUrl. + wsUrl: process.env.WEBSOCKET_URL, + wsUrlV2: process.env.WEBSOCKET_URL_V2, + wsUrlBeta: process.env.WEBSOCKET_URL_BETA, + + wsUrlV2Percentage: parseInt( + process.env.WEBSOCKET_URL_V2_PERCENTAGE || '0', + 10 + ), + wsRetryHandshake: parseInt(process.env.WEBSOCKET_RETRY_HANDSHAKE || '5', 10), + + // cookie domain + // use full domain for cookies to only be accessible from that domain, + // replace subdomain with dot to have them accessible on all subdomains + cookieDomain: process.env.COOKIE_DOMAIN, + cookieName: process.env.COOKIE_NAME || 'overleaf.sid', + cookieRollingSession: true, + + // this is only used if cookies are used for clsi backend + // clsiCookieKey: "clsiserver" + + robotsNoindex: process.env.ROBOTS_NOINDEX === 'true' || false, + + maxEntitiesPerProject: parseInt( + process.env.MAX_ENTITIES_PER_PROJECT || '2000', + 10 + ), + + projectUploadTimeout: parseInt( + process.env.PROJECT_UPLOAD_TIMEOUT || '120000', + 10 + ), + maxUploadSize: 50 * 1024 * 1024, // 50 MB + multerOptions: { + preservePath: process.env.MULTER_PRESERVE_PATH, + }, + + // start failing the health check if active handles exceeds this limit + maxActiveHandles: process.env.MAX_ACTIVE_HANDLES + ? parseInt(process.env.MAX_ACTIVE_HANDLES, 10) + : undefined, + + // Security + // -------- + security: { + sessionSecret: process.env.SESSION_SECRET, + sessionSecretUpcoming: process.env.SESSION_SECRET_UPCOMING, + sessionSecretFallback: process.env.SESSION_SECRET_FALLBACK, + bcryptRounds: parseInt(process.env.BCRYPT_ROUNDS, 10) || 12, + }, // number of rounds used to hash user passwords (raised to power 2) + + adminUrl: process.env.ADMIN_URL, + adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', + adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', + allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), + + httpAuthUsers, + + // Default features + // ---------------- + // + // You can select the features that are enabled by default for new + // new users. + defaultFeatures: (defaultFeatures = { + collaborators: -1, + dropbox: true, + github: true, + gitBridge: true, + versioning: true, + compileTimeout: 180, + compileGroup: 'standard', + references: true, + trackChanges: true, + }), + + // featuresEpoch: 'YYYY-MM-DD', + + features: { + personal: defaultFeatures, + }, + + groupPlanModalOptions: { + plan_codes: [], + currencies: [], + sizes: [], + usages: [], + }, + plans: [ + { + planCode: 'personal', + name: 'Personal', + price_in_cents: 0, + features: defaultFeatures, + }, + ], + + disableChat: process.env.OVERLEAF_DISABLE_CHAT === 'true', + enableSubscriptions: false, + restrictedCountries: [], + enableOnboardingEmails: process.env.ENABLE_ONBOARDING_EMAILS === 'true', + + enabledLinkedFileTypes: (process.env.ENABLED_LINKED_FILE_TYPES || '').split( + ',' + ), + + // i18n + // ------ + // + i18n: { + checkForHTMLInVars: process.env.I18N_CHECK_FOR_HTML_IN_VARS === 'true', + escapeHTMLInVars: process.env.I18N_ESCAPE_HTML_IN_VARS === 'true', + subdomainLang: { + www: { lngCode: 'en', url: siteUrl }, + }, + defaultLng: 'en', + }, + + // Spelling languages + // dic = available in client + // server: false = not available on server + // ------------------ + languages: [ + { code: 'en', name: 'English' }, + { code: 'en_US', dic: 'en_US', name: 'English (American)' }, + { code: 'en_GB', dic: 'en_GB', name: 'English (British)' }, + { code: 'en_CA', dic: 'en_CA', name: 'English (Canadian)' }, + { + code: 'en_AU', + dic: 'en_AU', + name: 'English (Australian)', + server: false, + }, + { + code: 'en_ZA', + dic: 'en_ZA', + name: 'English (South African)', + server: false, + }, + { code: 'af', dic: 'af_ZA', name: 'Afrikaans' }, + { code: 'an', dic: 'an_ES', name: 'Aragonese', server: false }, + { code: 'ar', dic: 'ar', name: 'Arabic' }, + { code: 'be_BY', dic: 'be_BY', name: 'Belarusian', server: false }, + { code: 'gl', dic: 'gl_ES', name: 'Galician' }, + { code: 'eu', dic: 'eu', name: 'Basque' }, + { code: 'bn_BD', dic: 'bn_BD', name: 'Bengali', server: false }, + { code: 'bs_BA', dic: 'bs_BA', name: 'Bosnian', server: false }, + { code: 'br', dic: 'br_FR', name: 'Breton' }, + { code: 'bg', dic: 'bg_BG', name: 'Bulgarian' }, + { code: 'ca', dic: 'ca', name: 'Catalan' }, + { code: 'hr', dic: 'hr_HR', name: 'Croatian' }, + { code: 'cs', dic: 'cs_CZ', name: 'Czech' }, + { + code: 'da', + // dic: 'da_DK', TODO: re-enable client spell check + name: 'Danish', + }, + { code: 'nl', dic: 'nl', name: 'Dutch' }, + { code: 'dz', dic: 'dz', name: 'Dzongkha', server: false }, + { code: 'eo', dic: 'eo', name: 'Esperanto' }, + { code: 'et', dic: 'et_EE', name: 'Estonian' }, + { code: 'fo', dic: 'fo', name: 'Faroese' }, + { code: 'fr', dic: 'fr', name: 'French' }, + { code: 'gl_ES', dic: 'gl_ES', name: 'Galician', server: false }, + { code: 'de', dic: 'de_DE', name: 'German' }, + { code: 'de_AT', dic: 'de_AT', name: 'German (Austria)', server: false }, + { + code: 'de_CH', + dic: 'de_CH', + name: 'German (Switzerland)', + server: false, + }, + { code: 'el', dic: 'el_GR', name: 'Greek' }, + { code: 'gug_PY', dic: 'gug_PY', name: 'Guarani', server: false }, + { code: 'gu_IN', dic: 'gu_IN', name: 'Gujarati', server: false }, + { code: 'he_IL', dic: 'he_IL', name: 'Hebrew', server: false }, + { code: 'hi_IN', dic: 'hi_IN', name: 'Hindi', server: false }, + { code: 'hu_HU', dic: 'hu_HU', name: 'Hungarian', server: false }, + { code: 'is_IS', dic: 'is_IS', name: 'Icelandic', server: false }, + { code: 'id', dic: 'id_ID', name: 'Indonesian' }, + { code: 'ga', dic: 'ga_IE', name: 'Irish' }, + { code: 'it', dic: 'it_IT', name: 'Italian' }, + { code: 'kk', dic: 'kk_KZ', name: 'Kazakh' }, + { code: 'ko', dic: 'ko', name: 'Korean', server: false }, + { code: 'ku', name: 'Kurdish' }, + { code: 'kmr', dic: 'kmr_Latn', name: 'Kurmanji', server: false }, + { code: 'lv', dic: 'lv_LV', name: 'Latvian' }, + { code: 'lt', dic: 'lt_LT', name: 'Lithuanian' }, + { code: 'lo_LA', dic: 'lo_LA', name: 'Laotian', server: false }, + { code: 'ml_IN', dic: 'ml_IN', name: 'Malayalam', server: false }, + { code: 'mn_MN', dic: 'mn_MN', name: 'Mongolian', server: false }, + { code: 'nr', name: 'Ndebele' }, + { code: 'ne_NP', dic: 'ne_NP', name: 'Nepali', server: false }, + { code: 'ns', name: 'Northern Sotho' }, + { code: 'no', name: 'Norwegian' }, + { code: 'nb_NO', dic: 'nb_NO', name: 'Norwegian (Bokmål)', server: false }, + { code: 'nn_NO', dic: 'nn_NO', name: 'Norwegian (Nynorsk)', server: false }, + { code: 'oc_FR', dic: 'oc_FR', name: 'Occitan', server: false }, + { code: 'fa', dic: 'fa_IR', name: 'Persian' }, + { code: 'pl', dic: 'pl_PL', name: 'Polish' }, + { code: 'pt_BR', dic: 'pt_BR', name: 'Portuguese (Brazilian)' }, + { + code: 'pt_PT', + dic: 'pt_PT', + name: 'Portuguese (European)', + server: true, + }, + { code: 'pa', name: 'Punjabi' }, + { code: 'ro', dic: 'ro_RO', name: 'Romanian' }, + { code: 'ru', dic: 'ru_RU', name: 'Russian' }, + { code: 'gd_GB', dic: 'gd_GB', name: 'Scottish Gaelic', server: false }, + { code: 'sr_RS', dic: 'sr_RS', name: 'Serbian', server: false }, + { code: 'si_LK', dic: 'si_LK', name: 'Sinhala', server: false }, + { code: 'sk', dic: 'sk_SK', name: 'Slovak' }, + { code: 'sl', dic: 'sl_SI', name: 'Slovenian' }, + { code: 'st', name: 'Southern Sotho' }, + { code: 'es', dic: 'es_ES', name: 'Spanish' }, + { code: 'sw_TZ', dic: 'sw_TZ', name: 'Swahili', server: false }, + { code: 'sv', dic: 'sv_SE', name: 'Swedish' }, + { code: 'tl', dic: 'tl', name: 'Tagalog' }, + { code: 'te_IN', dic: 'te_IN', name: 'Telugu', server: false }, + { code: 'th_TH', dic: 'th_TH', name: 'Thai', server: false }, + { code: 'bo', dic: 'bo', name: 'Tibetan', server: false }, + { code: 'ts', name: 'Tsonga' }, + { code: 'tn', name: 'Tswana' }, + { code: 'tr_TR', dic: 'tr_TR', name: 'Turkish', server: false }, + // { code: 'uk_UA', dic: 'uk_UA', name: 'Ukrainian', server: false }, + { code: 'hsb', name: 'Upper Sorbian' }, + { code: 'uz_UZ', dic: 'uz_UZ', name: 'Uzbek', server: false }, + { code: 'vi_VN', dic: 'vi_VN', name: 'Vietnamese', server: false }, + { code: 'cy', name: 'Welsh' }, + { code: 'xh', name: 'Xhosa' }, + ], + + translatedLanguages: { + cn: '简体中文', + cs: 'Čeština', + da: 'Dansk', + de: 'Deutsch', + en: 'English', + es: 'Español', + fi: 'Suomi', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + ko: '한국어', + nl: 'Nederlands', + no: 'Norsk', + pl: 'Polski', + pt: 'Português', + ro: 'Română', + ru: 'Русский', + sv: 'Svenska', + tr: 'Türkçe', + uk: 'Українська', + 'zh-CN': '简体中文', + }, + + maxDictionarySize: 1024 * 1024, // 1 MB + + // Password Settings + // ----------- + // These restrict the passwords users can use when registering + // opts are from http://antelle.github.io/passfield + passwordStrengthOptions: { + length: { + min: 8, + // Bcrypt does not support longer passwords than that. + max: 72, + }, + }, + + elevateAccountSecurityAfterFailedLogin: + parseInt(process.env.ELEVATED_ACCOUNT_SECURITY_AFTER_FAILED_LOGIN_MS, 10) || + 24 * 60 * 60 * 1000, + + deviceHistory: { + cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory', + entryExpiry: + parseInt(process.env.DEVICE_HISTORY_ENTRY_EXPIRY_MS, 10) || + 90 * 24 * 60 * 60 * 1000, + maxEntries: parseInt(process.env.DEVICE_HISTORY_MAX_ENTRIES, 10) || 10, + secret: process.env.DEVICE_HISTORY_SECRET, + }, + + // Email support + // ------------- + // + // Overleaf uses nodemailer (http://www.nodemailer.com/) to send transactional emails. + // To see the range of transport and options they support, see http://www.nodemailer.com/docs/transports + // email: + // fromAddress: "" + // replyTo: "" + // lifecycle: false + // # Example transport and parameter settings for Amazon SES + // transport: "SES" + // parameters: + // AWSAccessKeyID: "" + // AWSSecretKey: "" + + // For legacy reasons, we need to populate this object. + sentry: {}, + + // Production Settings + // ------------------- + debugPugTemplates: process.env.DEBUG_PUG_TEMPLATES === 'true', + precompilePugTemplatesAtBootTime: process.env + .PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME + ? process.env.PRECOMPILE_PUG_TEMPLATES_AT_BOOT_TIME === 'true' + : process.env.NODE_ENV === 'production', + + // Should javascript assets be served minified or not. + useMinifiedJs: process.env.MINIFIED_JS === 'true' || false, + + // Should static assets be sent with a header to tell the browser to cache + // them. + cacheStaticAssets: false, + + // If you are running Overleaf over https, set this to true to send the + // cookie with a secure flag (recommended). + secureCookie: false, + + // 'SameSite' cookie setting. Can be set to 'lax', 'none' or 'strict' + // 'lax' is recommended, as 'strict' will prevent people linking to projects + // https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 + sameSiteCookie: 'lax', + + // If you are running Overleaf behind a proxy (like Apache, Nginx, etc) + // then set this to true to allow it to correctly detect the forwarded IP + // address and http/https protocol information. + behindProxy: false, + + // Delay before closing the http server upon receiving a SIGTERM process signal. + gracefulShutdownDelayInMs: + parseInt(process.env.GRACEFUL_SHUTDOWN_DELAY_SECONDS ?? '5', 10) * seconds, + + // Expose the hostname in the `X-Served-By` response header + exposeHostname: process.env.EXPOSE_HOSTNAME === 'true', + + // Cookie max age (in milliseconds). Set to false for a browser session. + cookieSessionLength: 5 * 24 * 60 * 60 * 1000, // 5 days + + // When true, only allow invites to be sent to email addresses that + // already have user accounts + restrictInvitesToExistingAccounts: false, + + // Should we allow access to any page without logging in? This includes + // public projects, /learn, /templates, about pages, etc. + allowPublicAccess: process.env.OVERLEAF_ALLOW_PUBLIC_ACCESS === 'true', + + // editor should be open by default + editorIsOpen: process.env.EDITOR_OPEN !== 'false', + + // site should be open by default + siteIsOpen: process.env.SITE_OPEN !== 'false', + // status file for closing/opening the site at run-time, polled every 5s + siteMaintenanceFile: process.env.SITE_MAINTENANCE_FILE, + + // Use a single compile directory for all users in a project + // (otherwise each user has their own directory) + // disablePerUserCompiles: true + + // Domain the client (pdfjs) should download the compiled pdf from + pdfDownloadDomain: process.env.COMPILES_USER_CONTENT_DOMAIN, // "http://clsi-lb:3014" + + // By default turn on feature flag, can be overridden per request. + enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + + // Maximum size of text documents in the real-time editing system. + max_doc_length: 2 * 1024 * 1024, // 2mb + + primary_email_check_expiration: 1000 * 60 * 60 * 24 * 90, // 90 days + + // Maximum JSON size in HTTP requests + // We should be able to process twice the max doc length, to allow for + // - the doc content + // - text ranges spanning the whole doc + // + // There's also overhead required for the JSON encoding and the UTF-8 encoding, + // theoretically up to 3 times the max doc length. On the other hand, we don't + // want to block the event loop with JSON parsing, so we try to find a + // practical compromise. + max_json_request_size: + parseInt(process.env.MAX_JSON_REQUEST_SIZE) || 6 * 1024 * 1024, // 6 MB + + // Internal configs + // ---------------- + path: { + // If we ever need to write something to disk (e.g. incoming requests + // that need processing but may be too big for memory, then write + // them to disk here). + dumpFolder: Path.resolve(__dirname, '../data/dumpFolder'), + uploadFolder: Path.resolve(__dirname, '../data/uploads'), + }, + + // Automatic Snapshots + // ------------------- + automaticSnapshots: { + // How long should we wait after the user last edited to + // take a snapshot? + waitTimeAfterLastEdit: 5 * minutes, + // Even if edits are still taking place, this is maximum + // time to wait before taking another snapshot. + maxTimeBetweenSnapshots: 30 * minutes, + }, + + // Smoke test + // ---------- + // Provide log in credentials and a project to be able to run + // some basic smoke tests to check the core functionality. + // + smokeTest: { + user: process.env.SMOKE_TEST_USER, + userId: process.env.SMOKE_TEST_USER_ID, + password: process.env.SMOKE_TEST_PASSWORD, + projectId: process.env.SMOKE_TEST_PROJECT_ID, + rateLimitSubject: process.env.SMOKE_TEST_RATE_LIMIT_SUBJECT || '127.0.0.1', + stepTimeout: parseInt(process.env.SMOKE_TEST_STEP_TIMEOUT || '10000', 10), + }, + + appName: process.env.APP_NAME || 'Overleaf (Community Edition)', + + adminEmail: process.env.ADMIN_EMAIL || 'placeholder@example.com', + adminDomains: process.env.ADMIN_DOMAINS + ? JSON.parse(process.env.ADMIN_DOMAINS) + : undefined, + + nav: { + title: process.env.APP_NAME || 'Overleaf Community Edition', + + hide_powered_by: process.env.NAV_HIDE_POWERED_BY === 'true', + left_footer: [], + + right_footer: [ + { + text: " Fork on GitHub!", + url: 'https://github.com/overleaf/overleaf', + }, + ], + + showSubscriptionLink: false, + + header_extras: [], + }, + // Example: + // header_extras: [{text: "Some Page", url: "http://example.com/some/page", class: "subdued"}] + + recaptcha: { + endpoint: + process.env.RECAPTCHA_ENDPOINT || + 'https://www.google.com/recaptcha/api/siteverify', + trustedUsers: (process.env.CAPTCHA_TRUSTED_USERS || '') + .split(',') + .map(x => x.trim()) + .filter(x => x !== ''), + disabled: { + invite: true, + login: true, + passwordReset: true, + register: true, + addEmail: true, + }, + }, + + customisation: {}, + + redirects: { + '/templates/index': '/templates/', + }, + + reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development', + + rateLimit: { + subnetRateLimiterDisabled: + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true', + autoCompile: { + everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100, + standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25, + }, + login: { + ip: { points: 20, subnetPoints: 200, duration: 60 }, + email: { points: 10, duration: 120 }, + }, + }, + + analytics: { + enabled: false, + }, + + compileBodySizeLimitMb: process.env.COMPILE_BODY_SIZE_LIMIT_MB || 7, + + textExtensions: defaultTextExtensions.concat( + parseTextExtensions(process.env.ADDITIONAL_TEXT_EXTENSIONS) + ), + + // case-insensitive file names that is editable (doc) in the editor + editableFilenames: ['latexmkrc', '.latexmkrc', 'makefile', 'gnumakefile'], + + fileIgnorePattern: + process.env.FILE_IGNORE_PATTERN || + '**/{{__MACOSX,.git,.texpadtmp,.R}{,/**},.!(latexmkrc),*.{dvi,aux,log,toc,out,pdfsync,synctex,synctex(busy),fdb_latexmk,fls,nlo,ind,glo,gls,glg,bbl,blg,doc,docx,gz,swp}}', + + validRootDocExtensions: ['tex', 'Rtex', 'ltx', 'Rnw'], + + emailConfirmationDisabled: + process.env.EMAIL_CONFIRMATION_DISABLED === 'true' || false, + + emailAddressLimit: intFromEnv('EMAIL_ADDRESS_LIMIT', 10), + + enabledServices: (process.env.ENABLED_SERVICES || 'web,api') + .split(',') + .map(s => s.trim()), + + // module options + // ---------- + modules: { + sanitize: { + options: { + allowedTags: [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'p', + 'a', + 'ul', + 'ol', + 'nl', + 'li', + 'b', + 'i', + 'strong', + 'em', + 'strike', + 'code', + 'hr', + 'br', + 'div', + 'table', + 'thead', + 'col', + 'caption', + 'tbody', + 'tr', + 'th', + 'td', + 'tfoot', + 'pre', + 'iframe', + 'img', + 'figure', + 'figcaption', + 'span', + 'source', + 'video', + 'del', + ], + allowedAttributes: { + a: [ + 'href', + 'name', + 'target', + 'class', + 'event-tracking', + 'event-tracking-ga', + 'event-tracking-label', + 'event-tracking-trigger', + ], + div: ['class', 'id', 'style'], + h1: ['class', 'id'], + h2: ['class', 'id'], + h3: ['class', 'id'], + h4: ['class', 'id'], + h5: ['class', 'id'], + h6: ['class', 'id'], + p: ['class'], + col: ['width'], + figure: ['class', 'id', 'style'], + figcaption: ['class', 'id', 'style'], + i: ['aria-hidden', 'aria-label', 'class', 'id'], + iframe: [ + 'allowfullscreen', + 'frameborder', + 'height', + 'src', + 'style', + 'width', + ], + img: ['alt', 'class', 'src', 'style'], + source: ['src', 'type'], + span: ['class', 'id', 'style'], + strong: ['style'], + table: ['border', 'class', 'id', 'style'], + td: ['colspan', 'rowspan', 'headers', 'style'], + th: [ + 'abbr', + 'headers', + 'colspan', + 'rowspan', + 'scope', + 'sorted', + 'style', + ], + tr: ['class'], + video: ['alt', 'class', 'controls', 'height', 'width'], + }, + }, + }, + }, + + overleafModuleImports: { + // modules to import (an empty array for each set of modules) + // + // Restart webpack after making changes. + // + createFileModes: [], + devToolbar: [], + gitBridge: [], + publishModal: [], + tprFileViewInfo: [], + tprFileViewRefreshError: [], + tprFileViewRefreshButton: [], + tprFileViewNotOriginalImporter: [], + newFilePromotions: [], + contactUsModal: [], + editorToolbarButtons: [], + sourceEditorExtensions: [], + sourceEditorComponents: [], + pdfLogEntryComponents: [], + pdfLogEntriesComponents: [], + pdfPreviewPromotions: [], + diagnosticActions: [], + sourceEditorCompletionSources: [], + sourceEditorSymbolPalette: [], + sourceEditorToolbarComponents: [], + editorPromotions: [], + langFeedbackLinkingWidgets: [], + labsExperiments: [], + integrationLinkingWidgets: [], + referenceLinkingWidgets: [], + importProjectFromGithubModalWrapper: [], + importProjectFromGithubMenu: [], + editorLeftMenuSync: [], + editorLeftMenuManageTemplate: [], + oauth2Server: [], + managedGroupSubscriptionEnrollmentNotification: [], + userNotifications: [], + managedGroupEnrollmentInvite: [], + ssoCertificateInfo: [], + v1ImportDataScreen: [], + snapshotUtils: [], + usGovBanner: [], + offlineModeToolbarButtons: [], + settingsEntries: [], + autoCompleteExtensions: [], + sectionTitleGenerators: [], + }, + + moduleImportSequence: [ + 'history-v1', + 'launchpad', + 'server-ce-scripts', + 'user-activate', + 'track-changes', + ], + viewIncludes: {}, + + csp: { + enabled: process.env.CSP_ENABLED === 'true', + reportOnly: process.env.CSP_REPORT_ONLY === 'true', + reportPercentage: parseFloat(process.env.CSP_REPORT_PERCENTAGE) || 0, + reportUri: process.env.CSP_REPORT_URI, + exclude: [], + viewDirectives: { + 'app/views/project/ide-react': [`img-src 'self' data: blob:`], + }, + }, + + unsupportedBrowsers: { + ie: '<=11', + safari: '<=13', + }, + + // ID of the IEEE brand in the rails app + ieeeBrandId: intFromEnv('IEEE_BRAND_ID', 15), + + managedUsers: { + enabled: false, + }, +} + +module.exports.mergeWith = function (overrides) { + return merge(overrides, module.exports) +} diff --git a/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesController.js b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesController.js new file mode 100644 index 0000000..6cf3645 --- /dev/null +++ b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesController.js @@ -0,0 +1,308 @@ +const ChatApiHandler = require('../../../../app/src/Features/Chat/ChatApiHandler') +const ChatManager = require('../../../../app/src/Features/Chat/ChatManager') +const EditorRealTimeController = require('../../../../app/src/Features/Editor/EditorRealTimeController') +const SessionManager = require('../../../../app/src/Features/Authentication/SessionManager') +const UserInfoManager = require('../../../../app/src/Features/User/UserInfoManager') +const DocstoreManager = require('../../../../app/src/Features/Docstore/DocstoreManager') +const DocumentUpdaterHandler = require('../../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler') +const CollaboratorsGetter = require('../../../../app/src/Features/Collaborators/CollaboratorsGetter') +const { Project } = require('../../../../app/src/models/Project') +const pLimit = require('p-limit') + +async function _updateTCState (projectId, state, callback) { + await Project.updateOne({_id: projectId}, {track_changes: state}).exec() + callback() +} +function _transformId(doc) { + if (doc._id) { + doc.id = doc._id; + delete doc._id; + } + return doc; +} + +const TrackChangesController = { + trackChanges(req, res, next) { + const { project_id } = req.params + let state = req.body.on || req.body.on_for + if ( req.body.on_for_guests && !req.body.on ) state.__guests__ = true + + return _updateTCState(project_id, state, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'toggle-track-changes', + state + ) + return res.sendStatus(204) + } + ) + }, + acceptChanges(req, res, next) { + const { project_id, doc_id } = req.params + const change_ids = req.body.change_ids + return DocumentUpdaterHandler.acceptChanges( + project_id, + doc_id, + change_ids, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'accept-changes', + doc_id, + change_ids, + ) + return res.sendStatus(204) + } + ) + }, + async getAllRanges(req, res, next) { + const { project_id } = req.params + // FIXME: ranges are from mongodb, probably already outdated + const ranges = await DocstoreManager.promises.getAllRanges(project_id) +// frontend expects 'id', not '_id' + return res.json(ranges.map(_transformId)) + }, + async getChangesUsers(req, res, next) { + const { project_id } = req.params + const memberIds = await CollaboratorsGetter.promises.getMemberIds(project_id) + // FIXME: Does not work properly if the user is no longer a member of the project + // memberIds from DocstoreManager.getAllRanges(project_id) is not a remedy + // because ranges are not updated in real-time + const limit = pLimit(3) + const users = await Promise.all( + memberIds.map(memberId => + limit(async () => { + const user = await UserInfoManager.promises.getPersonalInfo(memberId) + return user + }) + ) + ) + users.push({_id: null}) // An anonymous user won't cause any harm +// frontend expects 'id', not '_id' + return res.json(users.map(_transformId)) + }, + getThreads(req, res, next) { + const { project_id } = req.params + return ChatApiHandler.getThreads( + project_id, + function (err, messages) { + if (err != null) { + return next(err) + } + return ChatManager.injectUserInfoIntoThreads( + messages, + function (err) { + if (err != null) { + return next(err) + } + return res.json(messages) + } + ) + } + ) + }, + sendComment(req, res, next) { + const { project_id, thread_id } = req.params + const { content } = req.body + const user_id = SessionManager.getLoggedInUserId(req.session) + if (user_id == null) { + const err = new Error('no logged-in user') + return next(err) + } + return ChatApiHandler.sendComment( + project_id, + thread_id, + user_id, + content, + function (err, message) { + if (err != null) { + return next(err) + } + return UserInfoManager.getPersonalInfo( + user_id, + function (err, user) { + if (err != null) { + return next(err) + } + message.user = user + EditorRealTimeController.emitToRoom( + project_id, + 'new-comment', + thread_id, message + ) + return res.sendStatus(204) + } + ) + } + ) + }, + editMessage(req, res, next) { + const { project_id, thread_id, message_id } = req.params + const { content } = req.body + const user_id = SessionManager.getLoggedInUserId(req.session) + if (user_id == null) { + const err = new Error('no logged-in user') + return next(err) + } + return ChatApiHandler.editMessage( + project_id, + thread_id, + message_id, + user_id, + content, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'edit-message', + thread_id, + message_id, + content + ) + return res.sendStatus(204) + } + ) + }, + deleteMessage(req, res, next) { + const { project_id, thread_id, message_id } = req.params + return ChatApiHandler.deleteMessage( + project_id, + thread_id, + message_id, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'delete-message', + thread_id, + message_id + ) + return res.sendStatus(204) + } + ) + }, + resolveThread(req, res, next) { + const { project_id, doc_id, thread_id } = req.params + const user_id = SessionManager.getLoggedInUserId(req.session) + if (user_id == null) { + const err = new Error('no logged-in user') + return next(err) + } + DocumentUpdaterHandler.resolveThread( + project_id, + doc_id, + thread_id, + user_id, + function (err, message) { + if (err != null) { + return next(err) + } + } + ) + return ChatApiHandler.resolveThread( + project_id, + thread_id, + user_id, + function (err, message) { + if (err != null) { + return next(err) + } + return UserInfoManager.getPersonalInfo( + user_id, + function (err, user) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'resolve-thread', + thread_id, + user + ) + return res.sendStatus(204) + } + ) + } + ) + }, + reopenThread(req, res, next) { + const { project_id, doc_id, thread_id } = req.params + const user_id = SessionManager.getLoggedInUserId(req.session) + if (user_id == null) { + const err = new Error('no logged-in user') + return next(err) + } + DocumentUpdaterHandler.reopenThread( + project_id, + doc_id, + thread_id, + user_id, + function (err, message) { + if (err != null) { + return next(err) + } + } + ) + return ChatApiHandler.reopenThread( + project_id, + thread_id, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'reopen-thread', + thread_id + ) + return res.sendStatus(204) + } + ) + }, + deleteThread(req, res, next) { + const { project_id, doc_id, thread_id } = req.params + const user_id = SessionManager.getLoggedInUserId(req.session) + if (user_id == null) { + const err = new Error('no logged-in user') + return next(err) + } + return DocumentUpdaterHandler.deleteThread( + project_id, + doc_id, + thread_id, + user_id, + function (err, message) { + if (err != null) { + return next(err) + } + ChatApiHandler.deleteThread( + project_id, + thread_id, + function (err, message) { + if (err != null) { + return next(err) + } + EditorRealTimeController.emitToRoom( + project_id, + 'delete-thread', + thread_id + ) + return res.sendStatus(204) + } + ) + } + ) + }, +} +module.exports = TrackChangesController diff --git a/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesRouter.js b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesRouter.js new file mode 100644 index 0000000..3791e25 --- /dev/null +++ b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesRouter.js @@ -0,0 +1,72 @@ +const logger = require('@overleaf/logger') +const AuthorizationMiddleware = require('../../../../app/src/Features/Authorization/AuthorizationMiddleware') +const TrackChangesController = require('./TrackChangesController') + +module.exports = { + apply(webRouter) { + logger.debug({}, 'Init track-changes router') + + webRouter.post('/project/:project_id/track_changes', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.trackChanges + ) + webRouter.post('/project/:project_id/doc/:doc_id/changes/accept', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.acceptChanges + ) + webRouter.get('/project/:project_id/ranges', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.getAllRanges + ) + webRouter.get('/project/:project_id/changes/users', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.getChangesUsers + ) + webRouter.get( + '/project/:project_id/threads', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.getThreads + ) + webRouter.post( + '/project/:project_id/thread/:thread_id/messages', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.sendComment + ) + webRouter.post( + '/project/:project_id/thread/:thread_id/messages/:message_id/edit', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.editMessage + ) + webRouter.delete( + '/project/:project_id/thread/:thread_id/messages/:message_id', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.deleteMessage + ) + webRouter.post( + '/project/:project_id/doc/:doc_id/thread/:thread_id/resolve', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.resolveThread + ) + webRouter.post( + '/project/:project_id/doc/:doc_id/thread/:thread_id/reopen', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.reopenThread + ) + webRouter.delete( + '/project/:project_id/doc/:doc_id/thread/:thread_id', + AuthorizationMiddleware.blockRestrictedUserFromProject, + AuthorizationMiddleware.ensureUserCanReadProject, + TrackChangesController.deleteThread + ) + }, +} diff --git a/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/index.js b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/index.js new file mode 100644 index 0000000..aa9e6a7 --- /dev/null +++ b/docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/index.js @@ -0,0 +1,2 @@ +const TrackChangesRouter = require('./app/src/TrackChangesRouter') +module.exports = { router : TrackChangesRouter } diff --git a/docker/features/track-changes/README.md b/docker/features/track-changes/README.md new file mode 100644 index 0000000..241347c --- /dev/null +++ b/docker/features/track-changes/README.md @@ -0,0 +1,6 @@ +These modifications are sourced from: + +https://github.com/yu-i-i/overleaf-cep + +This feature allows it to track the changes and comment. + diff --git a/docker/features/track-changes/_intern/files.yaml b/docker/features/track-changes/_intern/files.yaml new file mode 100644 index 0000000..5444233 --- /dev/null +++ b/docker/features/track-changes/_intern/files.yaml @@ -0,0 +1,6 @@ +volumes: + - /docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesRouter.js:/overleaf/services/web/modules/track-changes/app/src/TrackChangesRouter.js + - /docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/app/src/TrackChangesController.js:/overleaf/services/web/modules/track-changes/app/src/TrackChangesController.js + - /docker/features/track-changes/5.2.1/overleaf/services/web/modules/track-changes/index.js:/overleaf/services/web/modules/track-changes/index.js + - /docker/features/track-changes/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js:/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js + - /docker/features/track-changes/5.2.1/overleaf/services/web/config/settings.defaults.js:/overleaf/services/web/config/settings.defaults.js diff --git a/docker/features/track-changes/_prep/prep.sh b/docker/features/track-changes/_prep/prep.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js.diff b/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js.diff new file mode 100644 index 0000000..97e81a5 --- /dev/null +++ b/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js.diff @@ -0,0 +1,20 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js 2024-12-11 19:51:30.829461929 +0000 ++++ ../5.2.1/overleaf/services/web/app/src/Features/Project/ProjectEditorHandler.js 2024-12-08 16:02:12.473592384 +0000 +@@ -8,7 +8,7 @@ + } + + module.exports = ProjectEditorHandler = { +- trackChangesAvailable: false, ++ trackChangesAvailable: true, + + buildProjectModelView(project, members, invites, deletedDocsFromDocstore) { + let owner, ownerFeatures +@@ -57,7 +57,7 @@ + references: false, + referencesSearch: false, + mendeley: false, +- trackChanges: false, ++ trackChanges: true, + trackChangesVisible: ProjectEditorHandler.trackChangesAvailable, + symbolPalette: false, + }) diff --git a/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff b/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff new file mode 100644 index 0000000..be127fd --- /dev/null +++ b/docker/features/track-changes/dev_tools/5.2.1/overleaf/services/web/config/settings.defaults.js.diff @@ -0,0 +1,10 @@ +--- /docker/features/_masterfiles/5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-11 19:54:46.337125535 +0000 ++++ ../5.2.1/overleaf/services/web/config/settings.defaults.js 2024-12-08 16:02:12.473592384 +0000 +@@ -976,6 +976,7 @@ + 'launchpad', + 'server-ce-scripts', + 'user-activate', ++ 'track-changes', + ], + viewIncludes: {}, + diff --git a/docker/features/track-changes/dev_tools/get_file_list.sh b/docker/features/track-changes/dev_tools/get_file_list.sh new file mode 100644 index 0000000..5f06743 --- /dev/null +++ b/docker/features/track-changes/dev_tools/get_file_list.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +pwd=$(pwd) + +version=$(cat /docker/version) + +mkdir -p _intern +rm -f _intern/files.yaml +echo "volumes:" > _intern/files.yaml + +for file in $(find $(pwd)/${version} -type f | sed "s|$(pwd)/${version}||g" ) +do + echo " - $(pwd)/${version}${file}:${file}" >> _intern/files.yaml +done diff --git a/docker/features/track-changes/dev_tools/get_masterfiles.sh b/docker/features/track-changes/dev_tools/get_masterfiles.sh new file mode 100644 index 0000000..3a1adc8 --- /dev/null +++ b/docker/features/track-changes/dev_tools/get_masterfiles.sh @@ -0,0 +1,40 @@ +#!/usr/bin/bash +dockername="sharelatex/sharelatex:" +version=$(cat /docker/version) +dockername=${dockername}${version} +prefix_dir="/docker/features/_masterfiles/$version" + +mkdir -p /docker/features/_masterfiles/${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${prefix_dir}${dir_found} +done + +# Get files from the container +for file_found in $(find "../${version}" -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$"); do + echo "$file_found" + docker run --entrypoint "/usr/bin/sh" -v /docker/features/_masterfiles/${version}:/export ${dockername} -c "cp ${file_found} /export/${file_found}" +done + +# Section: Make diffs + +rm -rf ${version} +mkdir -p ${version} + +# Make the necessary dirs +for dir_found in $(find ../${version} -type d | sed "s/..\/${version}"/""/g | grep -v -e '^[[:space:]]*$') +do + mkdir -p ${version}${dir_found} +done + + +# Make diffs +for file in $(find ../$version -type f | sed "s|../${version}||g" | grep -v ".png$" | grep -v ".svg$" | grep -v ".ico$" | grep -v ".jpg$") +do + if [ -f ${prefix_dir}${file} ]; then + echo Make diff for ${prefix_dir}${file} + diff -u --from-file=${prefix_dir}${file} ../$version${file} > ${version}${file}.diff + fi +done diff --git a/docker/features/track-changes/disable_feature.sh b/docker/features/track-changes/disable_feature.sh new file mode 100644 index 0000000..0d70745 --- /dev/null +++ b/docker/features/track-changes/disable_feature.sh @@ -0,0 +1,4 @@ +mkdir -p _intern +dir_name=$(pwd | awk -F/ '{print $NF}') +rm ../_intern/${dir_name}.yaml +rm ../_prep/${dir_name}.sh \ No newline at end of file diff --git a/docker/features/track-changes/enable_feature.sh b/docker/features/track-changes/enable_feature.sh new file mode 100644 index 0000000..116f84d --- /dev/null +++ b/docker/features/track-changes/enable_feature.sh @@ -0,0 +1,6 @@ +sh dev_tools/get_file_list.sh +mkdir -p ../_intern +dir_name=$(pwd | awk -F/ '{print $NF}') +ln -s $(pwd)/_intern/files.yaml ../_intern/${dir_name}.yaml +ln -s $(pwd)/_prep/prep.sh ../_prep/${dir_name}.sh + diff --git a/docker/version b/docker/version new file mode 100644 index 0000000..8044406 --- /dev/null +++ b/docker/version @@ -0,0 +1 @@ +5.2.1 \ No newline at end of file diff --git a/etc/aliases b/etc/aliases new file mode 100644 index 0000000..5473b0f --- /dev/null +++ b/etc/aliases @@ -0,0 +1 @@ +root: davrot@neuro.uni-bremen.de diff --git a/etc/msmtprc b/etc/msmtprc new file mode 100644 index 0000000..6a9718e --- /dev/null +++ b/etc/msmtprc @@ -0,0 +1,21 @@ +defaults +tls on +tls_starttls off +tls_certcheck off +tls_trust_file /etc/ssl/certs/ca-certificates.crt +logfile /var/log/msmtp.log + +# University SMTP server +account uni-bremen +host mailhost.neurotec.uni-bremen.de +port 465 +from psintern@neuro.uni-bremen.de +user psintern +password REDACTED +set_from_header on +auth on + +# Set a default account +account default : uni-bremen + +aliases /etc/aliases diff --git a/keycloak_identity_provider/01.png b/keycloak_identity_provider/01.png new file mode 100644 index 0000000..b9d6689 Binary files /dev/null and b/keycloak_identity_provider/01.png differ diff --git a/keycloak_identity_provider/02.png b/keycloak_identity_provider/02.png new file mode 100644 index 0000000..bd3cb9f Binary files /dev/null and b/keycloak_identity_provider/02.png differ diff --git a/keycloak_identity_provider/03.png b/keycloak_identity_provider/03.png new file mode 100644 index 0000000..c3f459b Binary files /dev/null and b/keycloak_identity_provider/03.png differ diff --git a/keycloak_identity_provider/04.png b/keycloak_identity_provider/04.png new file mode 100644 index 0000000..b937453 Binary files /dev/null and b/keycloak_identity_provider/04.png differ diff --git a/keycloak_identity_provider/04a.png b/keycloak_identity_provider/04a.png new file mode 100644 index 0000000..5fe498a Binary files /dev/null and b/keycloak_identity_provider/04a.png differ diff --git a/keycloak_identity_provider/05.png b/keycloak_identity_provider/05.png new file mode 100644 index 0000000..b500c96 Binary files /dev/null and b/keycloak_identity_provider/05.png differ diff --git a/keycloak_identity_provider/06.png b/keycloak_identity_provider/06.png new file mode 100644 index 0000000..23417d5 Binary files /dev/null and b/keycloak_identity_provider/06.png differ diff --git a/keycloak_identity_provider/README.md b/keycloak_identity_provider/README.md new file mode 100644 index 0000000..7b7e90b --- /dev/null +++ b/keycloak_identity_provider/README.md @@ -0,0 +1,33 @@ +Let us assume that you have an external identity provider configured... + +You need to change these setting under the Identity Provider setting: + +![A](01.png) + +--- + +![B](02.png) + +--- + +![C](03.png) + +--- + +Make a group: + +![D a](04a.png) + +--- + +![D](04.png) + +--- + +![E](05.png) + +--- + +![F](06.png) + +--- diff --git a/keycloak_images/001.png b/keycloak_images/001.png new file mode 100644 index 0000000..8d4f6b1 Binary files /dev/null and b/keycloak_images/001.png differ diff --git a/keycloak_images/002.png b/keycloak_images/002.png new file mode 100644 index 0000000..00251d9 Binary files /dev/null and b/keycloak_images/002.png differ diff --git a/keycloak_images/003.png b/keycloak_images/003.png new file mode 100644 index 0000000..f1af84e Binary files /dev/null and b/keycloak_images/003.png differ diff --git a/keycloak_images/004.png b/keycloak_images/004.png new file mode 100644 index 0000000..fdf1ca6 Binary files /dev/null and b/keycloak_images/004.png differ diff --git a/keycloak_images/005.png b/keycloak_images/005.png new file mode 100644 index 0000000..4af6367 Binary files /dev/null and b/keycloak_images/005.png differ diff --git a/keycloak_images/006.png b/keycloak_images/006.png new file mode 100644 index 0000000..c185f54 Binary files /dev/null and b/keycloak_images/006.png differ diff --git a/keycloak_images/007.png b/keycloak_images/007.png new file mode 100644 index 0000000..5847d5a Binary files /dev/null and b/keycloak_images/007.png differ diff --git a/keycloak_images/008.png b/keycloak_images/008.png new file mode 100644 index 0000000..89987f6 Binary files /dev/null and b/keycloak_images/008.png differ diff --git a/keycloak_images/009.png b/keycloak_images/009.png new file mode 100644 index 0000000..f49c094 Binary files /dev/null and b/keycloak_images/009.png differ diff --git a/keycloak_images/010.png b/keycloak_images/010.png new file mode 100644 index 0000000..c944e59 Binary files /dev/null and b/keycloak_images/010.png differ diff --git a/keycloak_images/011.png b/keycloak_images/011.png new file mode 100644 index 0000000..aeefbed Binary files /dev/null and b/keycloak_images/011.png differ diff --git a/keycloak_images/012.png b/keycloak_images/012.png new file mode 100644 index 0000000..2127789 Binary files /dev/null and b/keycloak_images/012.png differ diff --git a/keycloak_images/013.png b/keycloak_images/013.png new file mode 100644 index 0000000..8019b14 Binary files /dev/null and b/keycloak_images/013.png differ diff --git a/keycloak_images/014.png b/keycloak_images/014.png new file mode 100644 index 0000000..85c1162 Binary files /dev/null and b/keycloak_images/014.png differ diff --git a/keycloak_images/015.png b/keycloak_images/015.png new file mode 100644 index 0000000..9a29952 Binary files /dev/null and b/keycloak_images/015.png differ diff --git a/keycloak_images/016.png b/keycloak_images/016.png new file mode 100644 index 0000000..4fca86d Binary files /dev/null and b/keycloak_images/016.png differ diff --git a/keycloak_images/017.png b/keycloak_images/017.png new file mode 100644 index 0000000..5cfed10 Binary files /dev/null and b/keycloak_images/017.png differ diff --git a/keycloak_images/018.png b/keycloak_images/018.png new file mode 100644 index 0000000..457c2c1 Binary files /dev/null and b/keycloak_images/018.png differ diff --git a/keycloak_images/019.png b/keycloak_images/019.png new file mode 100644 index 0000000..5f0068a Binary files /dev/null and b/keycloak_images/019.png differ diff --git a/keycloak_images/020.png b/keycloak_images/020.png new file mode 100644 index 0000000..e16715f Binary files /dev/null and b/keycloak_images/020.png differ diff --git a/keycloak_images/021.png b/keycloak_images/021.png new file mode 100644 index 0000000..7c36b0a Binary files /dev/null and b/keycloak_images/021.png differ diff --git a/keycloak_images/022.png b/keycloak_images/022.png new file mode 100644 index 0000000..fb2232b Binary files /dev/null and b/keycloak_images/022.png differ diff --git a/keycloak_images/023.png b/keycloak_images/023.png new file mode 100644 index 0000000..9d3c972 Binary files /dev/null and b/keycloak_images/023.png differ diff --git a/keycloak_images/024.png b/keycloak_images/024.png new file mode 100644 index 0000000..290f574 Binary files /dev/null and b/keycloak_images/024.png differ diff --git a/keycloak_images/025.png b/keycloak_images/025.png new file mode 100644 index 0000000..329f216 Binary files /dev/null and b/keycloak_images/025.png differ diff --git a/keycloak_images/026.png b/keycloak_images/026.png new file mode 100644 index 0000000..c473eab Binary files /dev/null and b/keycloak_images/026.png differ diff --git a/keycloak_images/027.png b/keycloak_images/027.png new file mode 100644 index 0000000..2f9ecce Binary files /dev/null and b/keycloak_images/027.png differ diff --git a/keycloak_images/028.png b/keycloak_images/028.png new file mode 100644 index 0000000..87213fa Binary files /dev/null and b/keycloak_images/028.png differ diff --git a/keycloak_images/029.png b/keycloak_images/029.png new file mode 100644 index 0000000..967e2f5 Binary files /dev/null and b/keycloak_images/029.png differ diff --git a/keycloak_images/030.png b/keycloak_images/030.png new file mode 100644 index 0000000..376e5ca Binary files /dev/null and b/keycloak_images/030.png differ diff --git a/keycloak_images/031.png b/keycloak_images/031.png new file mode 100644 index 0000000..44e994b Binary files /dev/null and b/keycloak_images/031.png differ diff --git a/keycloak_images/032.png b/keycloak_images/032.png new file mode 100644 index 0000000..678c0f6 Binary files /dev/null and b/keycloak_images/032.png differ diff --git a/keycloak_images/033.png b/keycloak_images/033.png new file mode 100644 index 0000000..3e88c2d Binary files /dev/null and b/keycloak_images/033.png differ diff --git a/keycloak_images/034.png b/keycloak_images/034.png new file mode 100644 index 0000000..197db37 Binary files /dev/null and b/keycloak_images/034.png differ diff --git a/keycloak_images/035.png b/keycloak_images/035.png new file mode 100644 index 0000000..98b712b Binary files /dev/null and b/keycloak_images/035.png differ diff --git a/keycloak_images/036.png b/keycloak_images/036.png new file mode 100644 index 0000000..eaf889b Binary files /dev/null and b/keycloak_images/036.png differ diff --git a/keycloak_images/037.png b/keycloak_images/037.png new file mode 100644 index 0000000..f65a530 Binary files /dev/null and b/keycloak_images/037.png differ diff --git a/keycloak_images/038.png b/keycloak_images/038.png new file mode 100644 index 0000000..8e0dc35 Binary files /dev/null and b/keycloak_images/038.png differ diff --git a/keycloak_images/039.png b/keycloak_images/039.png new file mode 100644 index 0000000..576b987 Binary files /dev/null and b/keycloak_images/039.png differ diff --git a/keycloak_images/040.png b/keycloak_images/040.png new file mode 100644 index 0000000..b1226aa Binary files /dev/null and b/keycloak_images/040.png differ diff --git a/keycloak_images/041.png b/keycloak_images/041.png new file mode 100644 index 0000000..5ee7eee Binary files /dev/null and b/keycloak_images/041.png differ diff --git a/keycloak_images/042.png b/keycloak_images/042.png new file mode 100644 index 0000000..3ad7b58 Binary files /dev/null and b/keycloak_images/042.png differ diff --git a/keycloak_images/043.png b/keycloak_images/043.png new file mode 100644 index 0000000..8cfc214 Binary files /dev/null and b/keycloak_images/043.png differ diff --git a/keycloak_images/044.png b/keycloak_images/044.png new file mode 100644 index 0000000..ace3950 Binary files /dev/null and b/keycloak_images/044.png differ diff --git a/keycloak_images/045.png b/keycloak_images/045.png new file mode 100644 index 0000000..14c6cfc Binary files /dev/null and b/keycloak_images/045.png differ diff --git a/keycloak_images/046.png b/keycloak_images/046.png new file mode 100644 index 0000000..f2f24fb Binary files /dev/null and b/keycloak_images/046.png differ diff --git a/keycloak_images/047.png b/keycloak_images/047.png new file mode 100644 index 0000000..a3d4e5f Binary files /dev/null and b/keycloak_images/047.png differ diff --git a/keycloak_images/048.png b/keycloak_images/048.png new file mode 100644 index 0000000..9faefbf Binary files /dev/null and b/keycloak_images/048.png differ diff --git a/keycloak_images/049.png b/keycloak_images/049.png new file mode 100644 index 0000000..8aa32fd Binary files /dev/null and b/keycloak_images/049.png differ diff --git a/keycloak_images/050.png b/keycloak_images/050.png new file mode 100644 index 0000000..78e2750 Binary files /dev/null and b/keycloak_images/050.png differ diff --git a/keycloak_images/051.png b/keycloak_images/051.png new file mode 100644 index 0000000..7bb9c2a Binary files /dev/null and b/keycloak_images/051.png differ diff --git a/keycloak_images/052.png b/keycloak_images/052.png new file mode 100644 index 0000000..ee975ee Binary files /dev/null and b/keycloak_images/052.png differ diff --git a/keycloak_images/053.png b/keycloak_images/053.png new file mode 100644 index 0000000..433b416 Binary files /dev/null and b/keycloak_images/053.png differ diff --git a/keycloak_images/054.png b/keycloak_images/054.png new file mode 100644 index 0000000..fce146f Binary files /dev/null and b/keycloak_images/054.png differ diff --git a/keycloak_images/055.png b/keycloak_images/055.png new file mode 100644 index 0000000..03c8829 Binary files /dev/null and b/keycloak_images/055.png differ diff --git a/keycloak_images/056.png b/keycloak_images/056.png new file mode 100644 index 0000000..b149f0f Binary files /dev/null and b/keycloak_images/056.png differ diff --git a/keycloak_images/057.png b/keycloak_images/057.png new file mode 100644 index 0000000..deb834d Binary files /dev/null and b/keycloak_images/057.png differ diff --git a/keycloak_images/058.png b/keycloak_images/058.png new file mode 100644 index 0000000..d3fde48 Binary files /dev/null and b/keycloak_images/058.png differ diff --git a/keycloak_images/059.png b/keycloak_images/059.png new file mode 100644 index 0000000..59f35fe Binary files /dev/null and b/keycloak_images/059.png differ diff --git a/keycloak_images/060.png b/keycloak_images/060.png new file mode 100644 index 0000000..05e7b23 Binary files /dev/null and b/keycloak_images/060.png differ diff --git a/keycloak_images/README.md b/keycloak_images/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/keycloak_images/README.md @@ -0,0 +1 @@ +